Commit 677124fd authored by Roger Dingledine's avatar Roger Dingledine
Browse files

During options_dup, don't copy LINELIST_S or OBSOLETE options.

And recognize obsolete options now in config_get_assigned_option().


svn:r2729
parent 94b9525f
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -604,6 +604,11 @@ config_get_assigned_option(or_options_t *options, const char *key)
      else
        result->value = tor_strdup("");
      break;
    case CONFIG_TYPE_OBSOLETE:
      log_fn(LOG_WARN,"You asked me for the value of an obsolete config option %s.", key);
      tor_free(result->key);
      tor_free(result);
      return NULL;
    default:
      tor_free(result->key);
      tor_free(result);
@@ -915,6 +920,10 @@ options_dup(or_options_t *old)

  newopts = tor_malloc_zero(sizeof(or_options_t));
  for (i=0; config_vars[i].name; ++i) {
    if(config_vars[i].type == CONFIG_TYPE_LINELIST_S)
      continue;
    if(config_vars[i].type == CONFIG_TYPE_OBSOLETE)
      continue;
    line = config_get_assigned_option(old, config_vars[i].name);
    if (line) {
      if (config_assign(newopts, line, 0) < 0) {