[arm/master] fix: ns/desc lookups could crash descriptor popup

commit 4ca251a6b4be812d8fdc0468a0ae43bc5595cf27 Author: Damian Johnson <atagar@torproject.org> Date: Wed Apr 27 19:48:32 2011 -0700 fix: ns/desc lookups could crash descriptor popup The exception handling for the consensus and descriptor lookups in descriptorPopup.py were expecting TorCtl exceptions rather than a None result. Caught by asn. --- src/cli/descriptorPopup.py | 25 +++++++++++-------------- 1 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/cli/descriptorPopup.py b/src/cli/descriptorPopup.py index cdc959d..d57546c 100644 --- a/src/cli/descriptorPopup.py +++ b/src/cli/descriptorPopup.py @@ -3,9 +3,7 @@ # Released under the GPL v3 (http://www.gnu.org/licenses/gpl.html) import math -import socket import curses -from TorCtl import TorCtl import controller import connections.connEntry @@ -47,20 +45,19 @@ class PopupProperties: self.text.append(UNRESOLVED_MSG) else: conn = torTools.getConn() + self.showLineNum = True - try: - self.showLineNum = True - self.text.append("ns/id/%s" % fingerprint) - self.text += conn.getConsensusEntry(fingerprint).split("\n") - except (socket.error, TorCtl.ErrorReply, TorCtl.TorCtlClosed): - self.text = self.text + [ERROR_MSG, ""] + self.text.append("ns/id/%s" % fingerprint) + consensusEntry = conn.getConsensusEntry(fingerprint) - try: - descCommand = "desc/id/%s" % fingerprint - self.text.append("desc/id/%s" % fingerprint) - self.text += conn.getDescriptorEntry(fingerprint).split("\n") - except (socket.error, TorCtl.ErrorReply, TorCtl.TorCtlClosed): - self.text = self.text + [ERROR_MSG] + if consensusEntry: self.text += consensusEntry.split("\n") + else: self.text = self.text + [ERROR_MSG, ""] + + self.text.append("desc/id/%s" % fingerprint) + descriptorEntry = conn.getDescriptorEntry(fingerprint) + + if descriptorEntry: self.text += descriptorEntry.split("\n") + else: self.text = self.text + [ERROR_MSG] def handleKey(self, key, height): if key == curses.KEY_UP: self.scroll = max(self.scroll - 1, 0)
participants (1)
-
atagar@torproject.org