[tor-commits] [arm/master] Drop manual descriptor parsing in getNicknameFingerprint()
atagar at torproject.org
atagar at torproject.org
Sun Jun 2 03:14:48 UTC 2013
commit 8d2f0d22d992ecdd58be276cff9e6b9bb37fba51
Author: Damian Johnson <atagar at torproject.org>
Date: Sat Jun 1 11:01:50 2013 -0700
Drop manual descriptor parsing in getNicknameFingerprint()
Our getNicknameFingerprint() manually parsed router status entries to get the
fingerprint. There's no longer any need to do this.
---
src/util/torTools.py | 19 +++----------------
1 file changed, 3 insertions(+), 16 deletions(-)
diff --git a/src/util/torTools.py b/src/util/torTools.py
index 49506c5..e698bf5 100644
--- a/src/util/torTools.py
+++ b/src/util/torTools.py
@@ -858,26 +858,13 @@ class Controller:
result = None
if self.isAlive():
- # determine the fingerprint if it isn't yet cached
if not relayNickname in self._nicknameToFpLookupCache:
- # Fingerprints are base64 encoded hex with an extra '='. For instance...
- # GETINFO ns/name/torexp2 ->
- # r torexp2 NPfjt8Vjr+drcbbFLQONN3KapNo LxoHteGax7ZNYh/9g/FF8I617fY 2011-04-27 15:20:35 141.161.20.50 9001 0
- # decode base64 of "NPfjt8Vjr+drcbbFLQONN3KapNo=" ->
- # "4\xf7\xe3\xb7\xc5c\xaf\xe7kq\xb6\xc5-\x03\x8d7r\x9a\xa4\xda"
- # encode hex of the above ->
- # "34f7e3b7c563afe76b71b6c52d038d37729aa4da"
+ consensusEntry = self.controller.get_network_status(relayNickname, None)
- relayFingerprint = None
- consensusEntry = self.getInfo("ns/name/%s" % relayNickname, None)
if consensusEntry:
- encodedFp = consensusEntry.split()[2]
- decodedFp = (encodedFp + "=").decode('base64').encode('hex')
- relayFingerprint = decodedFp.upper()
-
- self._nicknameToFpLookupCache[relayNickname] = relayFingerprint
+ self._nicknameToFpLookupCache[relayNickname] = consensusEntry.fingerprint
- result = self._nicknameToFpLookupCache[relayNickname]
+ result = self._nicknameToFpLookupCache.get(relayNickname)
self.connLock.release()
More information about the tor-commits
mailing list