commit dacfc32255522c436f0c5e61fcaf337c3e3ebeea
Author: Damian Johnson <atagar(a)torproject.org>
Date: Sun Jun 2 20:56:45 2013 -0700
Removing detached startup
While adding the setup wizard I added the ability for arm to run without a tor
instance to connect to (the reason being, of course, that arm would make that
instance). Now that the wizard is gone this is just added complexity. Dropping
it.
---
armrc.sample | 6 ------
src/starter.py | 28 +++++++---------------------
2 files changed, 7 insertions(+), 27 deletions(-)
diff --git a/armrc.sample b/armrc.sample
index b5aa31b..6c119ca 100644
--- a/armrc.sample
+++ b/armrc.sample
@@ -66,12 +66,6 @@ features.refreshRate 5
# Confirms promt to confirm when quiting if true
features.confirmQuit true
-# Allows arm to start when there's no running tor instance if true, otherwise
-# we terminate right away. This is ignored if the user provides an option
-# specifying how to connect to tor (ie, a 'startup.interface.*' option or
-# startup argument).
-features.allowDetachedStartup false
-
# Paremters for the log panel
# ---------------------------
# showDateDividers
diff --git a/src/starter.py b/src/starter.py
index 840e914..29e628f 100644
--- a/src/starter.py
+++ b/src/starter.py
@@ -42,7 +42,6 @@ CONFIG = stem.util.conf.config_dict("arm", {
"startup.blindModeEnabled": False,
"startup.events": "N3",
"startup.dataDirectory": "~/.arm",
- "features.allowDetachedStartup": False,
"features.config.descriptions.enabled": True,
"features.config.descriptions.persist": True,
})
@@ -104,7 +103,7 @@ def allowConnectionTypes():
"""
This provides a tuple with booleans indicating if we should or shouldn't
attempt to connect by various methods...
- (allowPortConnection, allowSocketConnection, allowDetachedStart)
+ (allowPortConnection, allowSocketConnection)
"""
confKeys = stem.util.conf.get_config("arm").keys()
@@ -115,12 +114,7 @@ def allowConnectionTypes():
skipPortConnection = isSocketArgPresent and not isPortArgPresent
skipSocketConnection = isPortArgPresent and not isSocketArgPresent
- # Flag to indicate if we'll start arm reguardless of being unable to connect
- # to Tor.
-
- allowDetachedStart = CONFIG["features.allowDetachedStartup"] and not isPortArgPresent and not isSocketArgPresent
-
- return (not skipPortConnection, not skipSocketConnection, allowDetachedStart)
+ return (not skipPortConnection, not skipSocketConnection)
def _loadConfigurationDescriptions(pathPrefix):
"""
@@ -186,7 +180,7 @@ def _loadConfigurationDescriptions(pathPrefix):
except IOError, exc:
stem.util.log.error(DESC_INTERNAL_LOAD_FAILED_MSG % util.sysTools.getFileErrorMsg(exc))
-def _getController(controlAddr="127.0.0.1", controlPort=9051, passphrase=None, incorrectPasswordMsg="", printError=True):
+def _getController(controlAddr="127.0.0.1", controlPort=9051, passphrase=None, incorrectPasswordMsg=""):
"""
Custom handler for establishing a stem connection (... needs an overhaul).
"""
@@ -214,7 +208,7 @@ def _getController(controlAddr="127.0.0.1", controlPort=9051, passphrase=None, i
# again prompting for the user to enter it
print incorrectPasswordMsg
return _getController(controlAddr, controlPort)
- elif printError:
+ else:
print exc
return None
@@ -352,14 +346,6 @@ if __name__ == '__main__':
# no armrc found, falling back to the defaults in the source
stem.util.log.notice(STANDARD_CFG_NOT_FOUND_MSG % configPath)
- # prevent arm from starting without a tor instance if...
- # - we're launching a prompt
- # - tor is running (otherwise it would be kinda confusing, "tor is running
- # but why does arm say that it's shut down?")
-
- if len(stem.util.system.get_pid_by_name('tor', multiple = True)) >= 1:
- config.set("features.allowDetachedStartup", "false")
-
# syncs config and parameters, saving changed config options and overwriting
# undefined parameters with defaults
for key in param.keys():
@@ -390,7 +376,7 @@ if __name__ == '__main__':
# arguments for connecting to the other.
controller = None
- allowPortConnection, allowSocketConnection, allowDetachedStart = allowConnectionTypes()
+ allowPortConnection, allowSocketConnection = allowConnectionTypes()
socketPath = param["startup.interface.socket"]
if os.path.exists(socketPath) and allowSocketConnection:
@@ -411,7 +397,7 @@ if __name__ == '__main__':
# sending problems to stdout if they arise
authPassword = config.get("startup.controlPassword", CONFIG["startup.controlPassword"])
incorrectPasswordMsg = "Password found in '%s' was incorrect" % configPath
- controller = _getController(controlAddr, controlPort, authPassword, incorrectPasswordMsg, not allowDetachedStart)
+ controller = _getController(controlAddr, controlPort, authPassword, incorrectPasswordMsg)
# removing references to the controller password so the memory can be freed
# (unfortunately python does allow for direct access to the memory so this
@@ -429,7 +415,7 @@ if __name__ == '__main__':
if pwLineNum != None:
del config._raw_contents[i]
- if controller is None and not allowDetachedStart: sys.exit(1)
+ if controller is None: sys.exit(1)
# initializing the connection may require user input (for the password)
# skewing the startup time results so this isn't counted