[tor-commits] [tor/master] Don't compare LINELIST_S and OBSOLETE config options.

nickm at torproject.org nickm at torproject.org
Wed Aug 17 14:46:53 UTC 2011


commit e6e804848c4764f5ea0d6705707b2c81de4c02ae
Author: Kamran Riaz Khan <krkhan at inspirated.com>
Date:   Tue Aug 16 06:28:38 2011 +0500

    Don't compare LINELIST_S and OBSOLETE config options.
---
 src/or/config.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/or/config.c b/src/or/config.c
index b4d733a..5d41ab6 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -591,6 +591,8 @@ static int write_configuration_file(const char *fname,
 static config_line_t *get_assigned_option(const config_format_t *fmt,
                                         const void *options, const char *key,
                                         int escape_val);
+static const config_var_t *config_find_option(const config_format_t *fmt,
+                                        const char *key);
 static void config_init(const config_format_t *fmt, void *options);
 static int or_state_validate(or_state_t *old_options, or_state_t *options,
                              int from_setconf, char **msg);
@@ -699,6 +701,7 @@ set_options(or_options_t *new_val, char **msg)
   int i;
   smartlist_t *elements;
   config_line_t *line;
+  config_var_t *var;
   or_options_t *old_options = global_options;
   global_options = new_val;
   /* Note that we pass the *old* options below, for comparison. It
@@ -718,6 +721,12 @@ set_options(or_options_t *new_val, char **msg)
   if (old_options) {
     elements = smartlist_create();
     for (i=0; options_format.vars[i].name; ++i) {
+      var = config_find_option(&options_format,
+                               options_format.vars[i].name);
+      if (var->type == CONFIG_TYPE_LINELIST_S ||
+          var->type == CONFIG_TYPE_OBSOLETE) {
+        continue;
+      }
       if (!option_is_same(&options_format, new_val, old_options,
         options_format.vars[i].name)) {
         line = get_assigned_option(&options_format, new_val,





More information about the tor-commits mailing list