39580f04ca
- selector.go: Select() now only returns methods the client actually offered, defaulting to MethodNoAcceptable (0xFF) when no mutually-supported method exists. Prevents protocol desync when authenticator is set but client doesn't offer UserPass. (#1, #2) - connect.go: CONNECT success reply now carries the outbound connection's actual local address as BND.ADDR per RFC 1928 §6, instead of 0.0.0.0:0. (#4) - udp.go: UDP ASSOCIATE now verifies the upstream chain is reachable before sending Success to the client; on failure sends a proper Failure reply. Also adds safe type assertions for net.TCPAddr and net.UDPAddr to prevent panics on wrapped connections, and returns errors on DNS resolution failure instead of silently dropping datagrams. (#5, #1, #2, #3)