netns: fix network namespaces for listeners
This commit is contained in:
@ -213,8 +213,14 @@ func (c *socks5Connector) relayUDP(ctx context.Context, conn net.Conn, addr net.
|
||||
|
||||
cc, err := opts.NetDialer.Dial(ctx, "udp", reply.Addr.String())
|
||||
if err != nil {
|
||||
c.options.Logger.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Debugf("%s <- %s -> %s", cc.LocalAddr(), cc.RemoteAddr(), addr)
|
||||
|
||||
if c.md.udpTimeout > 0 {
|
||||
cc.SetReadDeadline(time.Now().Add(c.md.udpTimeout))
|
||||
}
|
||||
|
||||
return &udpRelayConn{
|
||||
udpConn: cc.(*net.UDPConn),
|
||||
|
@ -17,24 +17,19 @@ type metadata struct {
|
||||
noTLS bool
|
||||
relay string
|
||||
udpBufferSize int
|
||||
udpTimeout time.Duration
|
||||
muxCfg *mux.Config
|
||||
}
|
||||
|
||||
func (c *socks5Connector) parseMetadata(md mdata.Metadata) (err error) {
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
noTLS = "notls"
|
||||
relay = "relay"
|
||||
udpBufferSize = "udpBufferSize"
|
||||
)
|
||||
|
||||
c.md.connectTimeout = mdutil.GetDuration(md, connectTimeout)
|
||||
c.md.noTLS = mdutil.GetBool(md, noTLS)
|
||||
c.md.relay = mdutil.GetString(md, relay)
|
||||
c.md.udpBufferSize = mdutil.GetInt(md, udpBufferSize)
|
||||
c.md.connectTimeout = mdutil.GetDuration(md, "timeout")
|
||||
c.md.noTLS = mdutil.GetBool(md, "notls")
|
||||
c.md.relay = mdutil.GetString(md, "relay")
|
||||
c.md.udpBufferSize = mdutil.GetInt(md, "udp.bufferSize", "udpBufferSize")
|
||||
if c.md.udpBufferSize <= 0 {
|
||||
c.md.udpBufferSize = defaultUDPBufferSize
|
||||
}
|
||||
c.md.udpTimeout = mdutil.GetDuration(md, "udp.timeout")
|
||||
|
||||
c.md.muxCfg = &mux.Config{
|
||||
Version: mdutil.GetInt(md, "mux.version"),
|
||||
|
Reference in New Issue
Block a user