change socks5 client to provide userpass auth method only if auth configured

This commit is contained in:
VanyM
2022-11-25 17:18:18 +04:00
committed by ginuerzh
parent 1f08b7cccd
commit d76ded14f2

View File

@ -46,12 +46,14 @@ func (c *socks5Connector) Init(md md.Metadata) (err error) {
selector := &clientSelector{ selector := &clientSelector{
methods: []uint8{ methods: []uint8{
gosocks5.MethodNoAuth, gosocks5.MethodNoAuth,
gosocks5.MethodUserPass,
}, },
User: c.options.Auth, User: c.options.Auth,
TLSConfig: c.options.TLSConfig, TLSConfig: c.options.TLSConfig,
logger: c.options.Logger, logger: c.options.Logger,
} }
if selector.User != nil {
selector.methods = append(selector.methods, gosocks5.MethodUserPass)
}
if !c.md.noTLS { if !c.md.noTLS {
selector.methods = append(selector.methods, socks.MethodTLS) selector.methods = append(selector.methods, socks.MethodTLS)
if selector.TLSConfig == nil { if selector.TLSConfig == nil {