mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-11-25 01:51:28 +00:00
Standardize Socks Outbound Authentication Behavior
This commit is contained in:
parent
c880b916ee
commit
303fd6e261
|
@ -422,16 +422,6 @@ func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, writer i
|
||||||
defer b.Release()
|
defer b.Release()
|
||||||
|
|
||||||
common.Must2(b.Write([]byte{socks5Version, 0x01, authByte}))
|
common.Must2(b.Write([]byte{socks5Version, 0x01, authByte}))
|
||||||
if authByte == authPassword {
|
|
||||||
account := request.User.Account.(*Account)
|
|
||||||
|
|
||||||
common.Must(b.WriteByte(0x01))
|
|
||||||
common.Must(b.WriteByte(byte(len(account.Username))))
|
|
||||||
common.Must2(b.WriteString(account.Username))
|
|
||||||
common.Must(b.WriteByte(byte(len(account.Password))))
|
|
||||||
common.Must2(b.WriteString(account.Password))
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := buf.WriteAllBytes(writer, b.Bytes()); err != nil {
|
if err := buf.WriteAllBytes(writer, b.Bytes()); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -449,6 +439,17 @@ func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, writer i
|
||||||
}
|
}
|
||||||
|
|
||||||
if authByte == authPassword {
|
if authByte == authPassword {
|
||||||
|
b.Clear()
|
||||||
|
account := request.User.Account.(*Account)
|
||||||
|
common.Must(b.WriteByte(0x01))
|
||||||
|
common.Must(b.WriteByte(byte(len(account.Username))))
|
||||||
|
common.Must2(b.WriteString(account.Username))
|
||||||
|
common.Must(b.WriteByte(byte(len(account.Password))))
|
||||||
|
common.Must2(b.WriteString(account.Password))
|
||||||
|
if err := buf.WriteAllBytes(writer, b.Bytes()); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
b.Clear()
|
b.Clear()
|
||||||
if _, err := b.ReadFullFrom(reader, 2); err != nil {
|
if _, err := b.ReadFullFrom(reader, 2); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in a new issue