commit 7da1bda89b2f49ae75fd0953d6e43d1f1f5468b2
Author: Damian Johnson <[email protected]>
Date:   Fri Oct 18 11:13:46 2013 -0700

    Moving connection resolution init into initController()
    
    Shifting where we initialize our connection resolver and provide a notice 
about
    DisableDebuggerAttachment. I'm not a fan of this change, but I'm trying to
    eliminate the start_arm() function. This is kicking the can down the road 
for
    this chunk of code, but hopefully by then we'll be able to handle
    DisableDebuggerAttachment.
---
 arm/controller.py |   67 ++++++++++++++++++++++++++---------------------------
 1 file changed, 33 insertions(+), 34 deletions(-)

diff --git a/arm/controller.py b/arm/controller.py
index 8fc198b..247f6a5 100644
--- a/arm/controller.py
+++ b/arm/controller.py
@@ -92,6 +92,39 @@ def initController(stdscr, startTime):
   if CONFIG["features.panels.show.connection"]:
     pagePanels.append([arm.connections.connPanel.ConnectionPanel(stdscr)])
 
+    # The DisableDebuggerAttachment will prevent our connection panel from 
really
+    # functioning. It'll have circuits, but little else. If this is the case 
then
+    # notify the user and tell them what they can do to fix it.
+
+    controller = torTools.getConn().controller
+
+    if controller.get_conf("DisableDebuggerAttachment", None) == "1":
+      log.notice("Tor is preventing system utilities like netstat and lsof 
from working. This means that arm can't provide you with connection 
information. You can change this by adding 'DisableDebuggerAttachment 0' to 
your torrc and restarting tor. For more information 
see...\nhttps://trac.torproject.org/3313";)
+      connections.get_resolver().set_paused(True)
+    else:
+      # Configures connection resoultions. This is paused/unpaused according to
+      # if Tor's connected or not.
+
+      controller.add_status_listener(connResetListener)
+
+      tor_pid = controller.get_pid(None)
+
+      if tor_pid:
+        # use the tor pid to help narrow connection results
+        tor_cmd = system.get_name_by_pid(tor_pid)
+
+        if tor_cmd is None:
+          tor_cmd = "tor"
+
+        resolver = connections.get_resolver()
+        resolver.set_process(tor_pid, tor_cmd)
+        log.info("Operating System: %s, Connection Resolvers: %s" % 
(os.uname()[0], ", ".join(resolver._resolvers)))
+        resolver.start()
+      else:
+        # constructs singleton resolver and, if tor isn't connected, initizes
+        # it to be paused
+        connections.get_resolver().set_paused(not controller.is_alive())
+
   # third page: config
   if CONFIG["features.panels.show.config"]:
     pagePanels.append([arm.configPanel.ConfigPanel(stdscr, 
arm.configPanel.State.TOR)])
@@ -518,40 +551,6 @@ def start_arm():
   Initializes the interface and starts the main draw loop.
   """
 
-  if CONFIG["features.panels.show.connection"]:
-    # The DisableDebuggerAttachment will prevent our connection panel from 
really
-    # functioning. It'll have circuits, but little else. If this is the case 
then
-    # notify the user and tell them what they can do to fix it.
-
-    controller = torTools.getConn().controller
-
-    if controller.get_conf("DisableDebuggerAttachment", None) == "1":
-      log.notice("Tor is preventing system utilities like netstat and lsof 
from working. This means that arm can't provide you with connection 
information. You can change this by adding 'DisableDebuggerAttachment 0' to 
your torrc and restarting tor. For more information 
see...\nhttps://trac.torproject.org/3313";)
-      connections.get_resolver().set_paused(True)
-    else:
-      # Configures connection resoultions. This is paused/unpaused according to
-      # if Tor's connected or not.
-
-      controller.add_status_listener(connResetListener)
-
-      tor_pid = controller.get_pid(None)
-
-      if tor_pid:
-        # use the tor pid to help narrow connection results
-        tor_cmd = system.get_name_by_pid(tor_pid)
-
-        if tor_cmd is None:
-          tor_cmd = "tor"
-
-        resolver = connections.get_resolver()
-        resolver.set_process(tor_pid, tor_cmd)
-        log.info("Operating System: %s, Connection Resolvers: %s" % 
(os.uname()[0], ", ".join(resolver._resolvers)))
-        resolver.start()
-      else:
-        # constructs singleton resolver and, if tor isn't connected, initizes
-        # it to be paused
-        connections.get_resolver().set_paused(not controller.is_alive())
-
   try:
     curses.wrapper(drawTorMonitor)
   except UnboundLocalError as exc:



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to