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

And recognize obsolete options now in config_get_assigned_option().


svn:r2729
This commit is contained in:
Roger Dingledine 2004-11-09 06:18:17 +00:00
parent 94b9525f6e
commit 677124fd0c

View File

@ -604,6 +604,11 @@ config_get_assigned_option(or_options_t *options, const char *key)
else else
result->value = tor_strdup(""); result->value = tor_strdup("");
break; 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: default:
tor_free(result->key); tor_free(result->key);
tor_free(result); tor_free(result);
@ -915,6 +920,10 @@ options_dup(or_options_t *old)
newopts = tor_malloc_zero(sizeof(or_options_t)); newopts = tor_malloc_zero(sizeof(or_options_t));
for (i=0; config_vars[i].name; ++i) { 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); line = config_get_assigned_option(old, config_vars[i].name);
if (line) { if (line) {
if (config_assign(newopts, line, 0) < 0) { if (config_assign(newopts, line, 0) < 0) {