SOCKS 5 username/password authentication doesn't exist?
I've been building a SOCKS 5 proxy from scratch and it was working perfectly fine when I redirected all my traffic through it with no authentication enabled. However, I noticed that adding credentials in my proxy settings did not actually do anything.
When I tried to use the username/password feature in the SOCKS proxy settings, I found after much debugging that the request contained x01 in the methods field (indicating it only supports 1 login method) and then that login method was x00 (NO AUTHENTICATION REQUIRED). Because of this, if my server requires a password, it is unable to agree on a connection method and fails to connect.
Output: \x05\x01\x00
If I did the connection manually via curl with my username and password, it would agree and connect.
Output: \x05\x03\x00\x01\x02
This means that curl supports 3 authentication methods: no authentication required, gssapi and username/password.
Certain mac services (i.e. cloudd) do support it and request a password to use the proxy (which works fine with these services), but the mac itself can't proxy requests through it.
Has anyone noticed something similar with SOCKS 5?
MacBook Air 13″