Author: atagar Date: 2011-04-03 05:55:58 +0000 (Sun, 03 Apr 2011) New Revision: 24544
Modified: arm/trunk/src/interface/controller.py arm/trunk/src/util/torConfig.py Log: Dropping the pointless "Log notice stdout" config-text entry when writting the custom torrc.
Modified: arm/trunk/src/interface/controller.py =================================================================== --- arm/trunk/src/interface/controller.py 2011-04-03 05:23:06 UTC (rev 24543) +++ arm/trunk/src/interface/controller.py 2011-04-03 05:55:58 UTC (rev 24544) @@ -1675,8 +1675,7 @@ # display a popup for saving the current configuration panel.CURSES_LOCK.acquire() try: - configText = torTools.getConn().getInfo("config-text", "").strip() - configLines = configText.split("\n") + configLines = torConfig.getCustomOptions()
# lists event types popup = panels["popup"] @@ -1774,7 +1773,7 @@
# saves the configuration to the file configFile = open(configLocation, "w") - configFile.write(configText) + configFile.write("\n".join(configLines)) configFile.close()
# reloads the cached torrc if overwriting it
Modified: arm/trunk/src/util/torConfig.py =================================================================== --- arm/trunk/src/util/torConfig.py 2011-04-03 05:23:06 UTC (rev 24543) +++ arm/trunk/src/util/torConfig.py 2011-04-03 05:55:58 UTC (rev 24544) @@ -353,17 +353,24 @@
def getCustomOptions(): """ - Provides the set of torrc parameters that differ from their defaults. + Provides the torrc parameters that differ from their defaults. """
- customOptions, conn = set(), torTools.getConn() - configTextQuery = conn.getInfo("config-text", "").strip().split("\n") + configText = torTools.getConn().getInfo("config-text", "").strip() + configLines = configText.split("\n")
- for entry in configTextQuery: - # tor provides a Log entry even if it matches the default - if entry != "Log notice stdout": - customOptions.add(entry[:entry.find(" ")]) - return customOptions + # removes any duplicates + configLines = list(set(configLines)) + + # The "GETINFO config-text" query only provides options that differ + # from Tor's defaults with the exception of its Log entry which, even + # if undefined, returns "Log notice stdout" as per: + # https://trac.torproject.org/projects/tor/ticket/2362 + + try: configLines.remove("Log notice stdout") + except ValueError: pass + + return configLines
def validate(contents = None): """