[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