]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
add new GETINFO config/defaults
authormeejah <meejah@meejah.ca>
Thu, 5 Apr 2012 21:17:30 +0000 (15:17 -0600)
committerNick Mathewson <nickm@torproject.org>
Thu, 28 Jun 2012 19:15:51 +0000 (15:15 -0400)
returns the default values for every configuration item, similar
to GETINFO config/names; include a changes entry for it.

Fix for bug 4971

changes/bug4971 [new file with mode: 0644]
src/or/config.c
src/or/control.c

diff --git a/changes/bug4971 b/changes/bug4971
new file mode 100644 (file)
index 0000000..8c7d830
--- /dev/null
@@ -0,0 +1,2 @@
+ o Minor Feature:
+   - Provide default values for all options via "GETINFO config/defaults"
index 042fc1aa3c4c4289223d8257b8722653de3aa62b..ceb21b0cf00ec45aceab04a690f64ba41b2ba565 100644 (file)
@@ -7180,6 +7180,20 @@ getinfo_helper_config(control_connection_t *conn,
     *answer = smartlist_join_strings(sl, "", 0, NULL);
     SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
     smartlist_free(sl);
+  } else if (!strcmp(question, "config/defaults")) {
+    smartlist_t *sl = smartlist_new();
+    int i;
+    for (i = 0; _option_vars[i].name; ++i) {
+      const config_var_t *var = &_option_vars[i];
+      if (var->initvalue != NULL) {
+          char *val = esc_for_log(var->initvalue);
+          smartlist_add_asprintf(sl, "%s %s\n",var->name,val);
+          tor_free(val);
+      }
+    }
+    *answer = smartlist_join_strings(sl, "", 0, NULL);
+    SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
+    smartlist_free(sl);
   }
   return 0;
 }
index 6675c01b638e8f723e36ce2c5801691d0d0c84af..0387f4b2ee1a60225b8aab62726ad05e44a00365 100644 (file)
@@ -2123,6 +2123,9 @@ static const getinfo_item_t getinfo_items[] = {
   PREFIX("config/", config, "Current configuration values."),
   DOC("config/names",
       "List of configuration options, types, and documentation."),
+  DOC("config/defaults",
+      "List of default values for configuration options. "
+      "See also config/names"),
   ITEM("info/names", misc,
        "List of GETINFO options, types, and documentation."),
   ITEM("events/names", misc,