mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-12-21 09:36:34 -05:00
check if address is set
This commit is contained in:
parent
679d646571
commit
8a5f37dad7
@ -22,7 +22,9 @@ func (this *Config) UnmarshalJSON(data []byte) error {
|
||||
if err := json.Unmarshal(data, rawConfig); err != nil {
|
||||
return errors.New("Dokodemo: Failed to parse config: " + err.Error())
|
||||
}
|
||||
this.Address = rawConfig.Host.Address
|
||||
if rawConfig.Host != nil {
|
||||
this.Address = rawConfig.Host.Address
|
||||
}
|
||||
this.Port = rawConfig.PortValue
|
||||
this.Network = rawConfig.NetworkList
|
||||
this.Timeout = rawConfig.TimeoutValue
|
||||
|
@ -129,7 +129,7 @@ func (this *DokodemoDoor) ListenTCP() error {
|
||||
func (this *DokodemoDoor) HandleTCPConnection(conn *hub.Connection) {
|
||||
defer conn.Close()
|
||||
|
||||
dest := v2net.TCPDestination(this.address, this.port)
|
||||
var dest v2net.Destination
|
||||
if this.config.FollowRedirect {
|
||||
originalDest := GetOriginalDestination(conn)
|
||||
if originalDest != nil {
|
||||
@ -137,6 +137,14 @@ func (this *DokodemoDoor) HandleTCPConnection(conn *hub.Connection) {
|
||||
dest = originalDest
|
||||
}
|
||||
}
|
||||
if dest == nil && this.address != nil && this.port > v2net.Port(0) {
|
||||
dest = v2net.TCPDestination(this.address, this.port)
|
||||
}
|
||||
|
||||
if dest == nil {
|
||||
log.Info("Dokodemo: Unknown destination, stop forwarding...")
|
||||
return
|
||||
}
|
||||
|
||||
ray := this.packetDispatcher.DispatchToOutbound(dest)
|
||||
defer ray.InboundOutput().Release()
|
||||
|
Loading…
Reference in New Issue
Block a user