Thank you for the explanation! This was the exactly the question. (I was just wondering why BND.ADDR and BND.PORT get set to NUL, )
Have a nice day!
Am 2014-10-26 18:31, schrieb Yawning Angel:
On Sun, 26 Oct 2014 14:34:59 +0100 Rob van der Hoeven robvanderhoeven@ziggo.nl wrote:
So, the SOCKS protocol supports redirection to another SOCKS server. An all-zero address/port simply means: use the server/port that you are currently connected to.
That's a really interesting way of interpreting that part of the RFC.
The reason why BND.ADDR and BND.PORT are supplied in a SOCKS5 response is to provide the client with the information equivalent to calling getsockname() on a non-proxied socket.
In the context of tor, the reason why BND.ADDR and BND.PORT are all NUL bytes is because the RELAY_CONNECTED cell does not propagate BND.PORT backwards to the client from the exit. BND.ADDR could technically be filled in (since the tor client knows where it is exiting from), but I don't see much point (and this information is useless at best in the context of HSes).
Regards,
tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev