[tor-commits] [arm/master] Fixing broken config handler
atagar at torproject.org
atagar at torproject.org
Thu Jan 3 03:23:52 UTC 2013
commit 5f29c1eecee39d2b429a57babd50e959c3ce11cf
Author: Damian Johnson <atagar at torproject.org>
Date: Wed Jan 2 19:20:59 2013 -0800
Fixing broken config handler
Most modules fetch a select set of config options. The torConfig however
queries quite a bit more based on a prefix. This was broken, causing us to both
not pick a lot of content for the config panel and spew out lots of unused
configuration notices.
---
src/util/torConfig.py | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/util/torConfig.py b/src/util/torConfig.py
index 9abd9fa..c9f32f6 100644
--- a/src/util/torConfig.py
+++ b/src/util/torConfig.py
@@ -13,16 +13,11 @@ from util import sysTools, torTools, uiTools
from stem.util import conf, enum, log
+
def conf_handler(key, value):
if key == "config.important":
# stores lowercase entries to drop case sensitivity
return [entry.lower() for entry in value]
- elif key.startswith("config.summary."):
- # we'll look for summary keys with a lowercase config name
- CONFIG[key.lower()] = value
- elif key.startswith("torrc.label.") and value:
- # all the torrc.label.* values are comma separated lists
- return [entry.strip() for entry in value[0].split(",")]
CONFIG = conf.config_dict("arm", {
"features.torrc.validate": True,
@@ -40,6 +35,18 @@ CONFIG = conf.config_dict("arm", {
"torrc.label.time.week": [],
}, conf_handler)
+def general_conf_handler(config, key):
+ value = config.get(key)
+
+ if key.startswith("config.summary."):
+ # we'll look for summary keys with a lowercase config name
+ CONFIG[key.lower()] = value
+ elif key.startswith("torrc.label.") and value:
+ # all the torrc.label.* values are comma separated lists
+ return [entry.strip() for entry in value[0].split(",")]
+
+conf.get_config("arm").add_listener(general_conf_handler, backfill = True)
+
# enums and values for numeric torrc entries
ValueType = enum.Enum("UNRECOGNIZED", "SIZE", "TIME")
SIZE_MULT = {"b": 1, "kb": 1024, "mb": 1048576, "gb": 1073741824, "tb": 1099511627776}
More information about the tor-commits
mailing list