[tor-commits] [stem/master] Setting zero ports to None in server descriptors
atagar at torproject.org
atagar at torproject.org
Sat Oct 13 18:35:45 UTC 2012
commit dc15e682be37ea450a9b5e45f05958f676eabded
Author: Damian Johnson <atagar at torproject.org>
Date: Mon Aug 20 22:58:11 2012 -0700
Setting zero ports to None in server descriptors
When writing the server descriptor parser I faithfully translated zero ports as
zero because I wanted users to be able to differentiate between 'malformed' and
'zero' when validation was disabled. However, on reflection I don't really care
about catoring to non-validation use cases.
Ravi made the router status entries interpret a zero port as being None which
makes perfect sense - zero means that the port doesn't exist. Doing this for
the server descriptors too.
---
stem/descriptor/server_descriptor.py | 6 +++---
test/integ/descriptor/server_descriptor.py | 18 +++++++++---------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/stem/descriptor/server_descriptor.py b/stem/descriptor/server_descriptor.py
index 9b8ef0d..6eb3883 100644
--- a/stem/descriptor/server_descriptor.py
+++ b/stem/descriptor/server_descriptor.py
@@ -134,7 +134,7 @@ class ServerDescriptor(stem.descriptor.Descriptor):
:var str address: **\*** IPv4 address of the relay
:var int or_port: **\*** port used for relaying
- :var int socks_port: **\*** port used as client (deprecated, always zero)
+ :var int socks_port: **\*** port used as client (deprecated, always None)
:var int dir_port: **\*** port used for descriptor mirroring
:var str platform: line with operating system and tor version
@@ -340,8 +340,8 @@ class ServerDescriptor(stem.descriptor.Descriptor):
self.nickname = router_comp[0]
self.address = router_comp[1]
self.or_port = int(router_comp[2])
- self.socks_port = int(router_comp[3])
- self.dir_port = int(router_comp[4])
+ self.socks_port = None if router_comp[3] == '0' else int(router_comp[3])
+ self.dir_port = None if router_comp[4] == '0' else int(router_comp[4])
elif keyword == "bandwidth":
# "bandwidth" bandwidth-avg bandwidth-burst bandwidth-observed
bandwidth_comp = value.split()
diff --git a/test/integ/descriptor/server_descriptor.py b/test/integ/descriptor/server_descriptor.py
index 38d633c..55e6545 100644
--- a/test/integ/descriptor/server_descriptor.py
+++ b/test/integ/descriptor/server_descriptor.py
@@ -62,8 +62,8 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4=
self.assertEquals("A7569A83B5706AB1B1A9CB52EFF7D2D32E4553EB", desc.fingerprint)
self.assertEquals("71.35.133.197", desc.address)
self.assertEquals(9001, desc.or_port)
- self.assertEquals(0, desc.socks_port)
- self.assertEquals(0, desc.dir_port)
+ self.assertEquals(None, desc.socks_port)
+ self.assertEquals(None, desc.dir_port)
self.assertEquals("Tor 0.2.1.30 on Linux x86_64", desc.platform)
self.assertEquals(stem.version.Version("0.2.1.30"), desc.tor_version)
self.assertEquals("Linux x86_64", desc.operating_system)
@@ -105,8 +105,8 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4=
self.assertEquals("3E2F63E2356F52318B536A12B6445373808A5D6C", desc.fingerprint)
self.assertEquals("212.37.39.59", desc.address)
self.assertEquals(8000, desc.or_port)
- self.assertEquals(0, desc.socks_port)
- self.assertEquals(0, desc.dir_port)
+ self.assertEquals(None, desc.socks_port)
+ self.assertEquals(None, desc.dir_port)
self.assertEquals("Tor 0.1.0.14 on FreeBSD i386", desc.platform)
self.assertEquals(stem.version.Version("0.1.0.14"), desc.tor_version)
self.assertEquals("FreeBSD i386", desc.operating_system)
@@ -161,7 +161,7 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4=
self.assertEquals(None, desc.read_history_end)
self.assertEquals(None, desc.write_history_end)
self.assertEquals(None, desc.eventdns)
- self.assertEquals(0, desc.socks_port)
+ self.assertEquals(None, desc.socks_port)
unrecognized_lines = desc.get_unrecognized_lines()
@@ -193,8 +193,8 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4=
self.assertEquals("FEBC7F992AC418BBE42BC13FE94EFCFE6549197E", desc.fingerprint)
self.assertEquals("130.243.230.116", desc.address)
self.assertEquals(9001, desc.or_port)
- self.assertEquals(0, desc.socks_port)
- self.assertEquals(0, desc.dir_port)
+ self.assertEquals(None, desc.socks_port)
+ self.assertEquals(None, desc.dir_port)
self.assertEquals("Tor 0.2.2.35 (git-4f42b0a93422f70e) on Linux x86_64", desc.platform)
self.assertEquals(stem.version.Version("0.2.2.35"), desc.tor_version)
self.assertEquals("Linux x86_64", desc.operating_system)
@@ -291,8 +291,8 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4=
self.assertEquals("AE54E28ED069CDF45F3009F963EE3B3D6FA26A2E", desc.fingerprint)
self.assertEquals("10.45.227.253", desc.address)
self.assertEquals(9001, desc.or_port)
- self.assertEquals(0, desc.socks_port)
- self.assertEquals(0, desc.dir_port)
+ self.assertEquals(None, desc.socks_port)
+ self.assertEquals(None, desc.dir_port)
self.assertEquals("Tor 0.2.3.12-alpha (git-800942b4176ca31c) on Linux x86_64", desc.platform)
self.assertEquals(stem.version.Version("0.2.3.12-alpha"), desc.tor_version)
self.assertEquals("Linux x86_64", desc.operating_system)
More information about the tor-commits
mailing list