Commit cad26b34 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

once normalized, DataDirectory is always defined


svn:r2734
parent 180e0a93
Loading
Loading
Loading
Loading
+6 −12
Original line number Original line Diff line number Diff line
@@ -1013,13 +1013,6 @@ options_validate(or_options_t *options)
  if (normalize_log_options(options))
  if (normalize_log_options(options))
    return -1;
    return -1;



  if (options->DataDirectory &&
      check_private_dir(options->DataDirectory, CPD_CHECK != 0)) {
    log_fn(LOG_WARN, "Can't create directory %s", options->DataDirectory);
    result = -1;
  }

  /* Special case if no options are given. */
  /* Special case if no options are given. */
  if (!options->Logs) {
  if (!options->Logs) {
    options->Logs = config_line_prepend(NULL, "Log", "notice-err stdout");
    options->Logs = config_line_prepend(NULL, "Log", "notice-err stdout");
@@ -1237,10 +1230,7 @@ options_transition_allowed(or_options_t *old, or_options_t *new_val) {
    return -1;
    return -1;
  }
  }


  if ((old->DataDirectory &&
  if (strcmp(old->DataDirectory,new_val->DataDirectory)!=0) {
       (!new_val->DataDirectory ||
        strcmp(old->DataDirectory,new_val->DataDirectory)!=0)) ||
      (!old->DataDirectory && new_val->DataDirectory)) {
    log_fn(LOG_WARN,"During reload, changing DataDirectory (%s->%s) is not allowed. Failing.", old->DataDirectory, new_val->DataDirectory);
    log_fn(LOG_WARN,"During reload, changing DataDirectory (%s->%s) is not allowed. Failing.", old->DataDirectory, new_val->DataDirectory);
    return -1;
    return -1;
  }
  }
@@ -1886,6 +1876,10 @@ validate_data_directory(or_options_t *options) {
    log_fn(LOG_ERR, "DataDirectory is too long.");
    log_fn(LOG_ERR, "DataDirectory is too long.");
    return -1;
    return -1;
  }
  }
  if (check_private_dir(options->DataDirectory, CPD_CHECK != 0)) {
    log_fn(LOG_WARN, "Can't create directory %s", options->DataDirectory);
    return -1;
  }
  return 0;
  return 0;
}
}


+3 −5
Original line number Original line Diff line number Diff line
@@ -711,14 +711,12 @@ void dirserv_set_cached_directory(const char *directory, time_t when)
      log_fn(LOG_WARN,"Error compressing cached directory");
      log_fn(LOG_WARN,"Error compressing cached directory");
    }
    }
    cached_directory_published = when;
    cached_directory_published = when;
    if(get_options()->DataDirectory) {
    tor_snprintf(filename,sizeof(filename),"%s/cached-directory", get_options()->DataDirectory);
    tor_snprintf(filename,sizeof(filename),"%s/cached-directory", get_options()->DataDirectory);
    if(write_str_to_file(filename,cached_directory,0) < 0) {
    if(write_str_to_file(filename,cached_directory,0) < 0) {
      log_fn(LOG_WARN, "Couldn't write cached directory to disk. Ignoring.");
      log_fn(LOG_WARN, "Couldn't write cached directory to disk. Ignoring.");
    }
    }
  }
  }
}
}
}


/** Set *<b>directory</b> to the most recently generated encoded signed
/** Set *<b>directory</b> to the most recently generated encoded signed
 * directory, generating a new one as necessary. */
 * directory, generating a new one as necessary. */