[tor-commits] [arm/master] fix: writing blank torrc without GETINFO option
atagar at torproject.org
atagar at torproject.org
Wed Jul 20 14:46:24 UTC 2011
commit c94f7669daecea8994561e25e7f2c3ed6f44d478
Author: Damian Johnson <atagar at torproject.org>
Date: Wed Jul 20 07:44:23 2011 -0700
fix: writing blank torrc without GETINFO option
When "GETINFO config-text" we save a blank torrc rather than providing the
user with an error. This option was introduced in Tor 0.2.2.7. Caught by Runa
(https://trac.torproject.org/projects/tor/ticket/3614).
---
src/util/torConfig.py | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/util/torConfig.py b/src/util/torConfig.py
index e4570ca..557dc09 100644
--- a/src/util/torConfig.py
+++ b/src/util/torConfig.py
@@ -415,6 +415,19 @@ def saveConf(destination = None, contents = None):
if not contents: contents = currentConfig
else: isSaveconf &= contents == currentConfig
+ # The "GETINFO config-text" option was introduced in Tor version 0.2.2.7. If
+ # we're writing custom contents then this is fine, but if we're trying to
+ # save the current configuration then we need to fail if it's unavailable.
+ # Otherwise we'd write a blank torrc as per...
+ # https://trac.torproject.org/projects/tor/ticket/3614
+
+ if contents == ['']:
+ # double check that "GETINFO config-text" is unavailable rather than just
+ # giving an empty result
+
+ if torTools.getConn().getInfo("config-text") == None:
+ raise IOError("determining the torrc requires Tor version 0.2.2.7")
+
currentLocation = None
try:
currentLocation = getConfigLocation()
More information about the tor-commits
mailing list