proxy: add mention of RFC 1929 for SOCKS5

RFC 1929 describes the SOCKS5 username/password authentication method.
The proxy package implements this method, but doesn't mention RFC 1929.
This change adds mention of RFC 1929.

Change-Id: I30487fb41c1baa16b6ee8a99210168a597e5cb65
Reviewed-on: https://go-review.googlesource.com/60870
Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
Reviewed-by: Avelino <t@avelino.xxx>
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Joe Kyo
2017-09-01 10:04:45 +01:00
committed by Mikio Hara
parent b60f3a9210
commit 0744d001aa

View File

@@ -12,7 +12,7 @@ import (
)
// SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given address
// with an optional username and password. See RFC 1928.
// with an optional username and password. See RFC 1928 and 1929.
func SOCKS5(network, addr string, auth *Auth, forward Dialer) (Dialer, error) {
s := &socks5{
network: network,
@@ -120,6 +120,7 @@ func (s *socks5) connect(conn net.Conn, target string) error {
return errors.New("proxy: SOCKS5 proxy at " + s.addr + " requires authentication")
}
// See RFC 1929
if buf[1] == socks5AuthPassword {
buf = buf[:0]
buf = append(buf, 1 /* password protocol version */)