commit cfadcde5a08af28e2e39eb467c0ba81aace662ef Author: Damian Johnson atagar@torproject.org Date: Tue Feb 6 11:41:02 2018 -0800
Omit our address from NETINFO
We already weren't providing it so this just adjusts the comment talking about why. There's a few issues...
1. Getting our address with python is clunky. Simplest approach is...
socket.gethostbyname(socket.gethostname())
... but I suspect what we really want is our external address, which I'm unsure how best to get.
2. We don't have a usecase at present where it helps. Tor is quite happy to not receive one, and seems if I provide junk data it's happy to accept that too.
For now just opting to exclude it until we have a concrete use case, which in turn will inform if the internal address is acceptable or we must resolve something else. --- stem/client/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/stem/client/__init__.py b/stem/client/__init__.py index b743a0eb..f4fc718b 100644 --- a/stem/client/__init__.py +++ b/stem/client/__init__.py @@ -103,7 +103,9 @@ class Relay(object): conn.close() raise stem.SocketError('Unable to find a common link protocol. We support %s but %s:%i supports %s.' % (', '.join(link_protocols), address, port, ', '.join(versions_reply.versions)))
- # TODO: we should fill in our address, right? + # Establishing connections requires sending a NETINFO, but including our + # address is optional. We can revisit including it when we have a usecase + # where it would help.
link_protocol = max(common_protocols) conn.send(stem.client.cell.NetinfoCell(Address(address), []).pack(link_protocol))