|
@@ -137,7 +137,7 @@ static config_var_t option_vars_[] = {
|
|
|
V(AllowSingleHopExits, BOOL, "0"),
|
|
|
V(AlternateBridgeAuthority, LINELIST, NULL),
|
|
|
V(AlternateDirAuthority, LINELIST, NULL),
|
|
|
- V(AlternateHSAuthority, LINELIST, NULL),
|
|
|
+ OBSOLETE("AlternateHSAuthority"),
|
|
|
V(AssumeReachable, BOOL, "0"),
|
|
|
V(AuthDirBadDir, LINELIST, NULL),
|
|
|
V(AuthDirBadDirCCs, CSV, ""),
|
|
@@ -276,7 +276,7 @@ static config_var_t option_vars_[] = {
|
|
|
VAR("HiddenServiceVersion",LINELIST_S, RendConfigLines, NULL),
|
|
|
VAR("HiddenServiceAuthorizeClient",LINELIST_S,RendConfigLines, NULL),
|
|
|
V(HidServAuth, LINELIST, NULL),
|
|
|
- V(HSAuthoritativeDir, BOOL, "0"),
|
|
|
+ OBSOLETE("HSAuthoritativeDir"),
|
|
|
OBSOLETE("HSAuthorityRecordStats"),
|
|
|
V(CloseHSClientCircuitsImmediatelyOnTimeout, BOOL, "0"),
|
|
|
V(CloseHSServiceRendCircuitsImmediatelyOnTimeout, BOOL, "0"),
|
|
@@ -904,8 +904,7 @@ validate_dir_servers(or_options_t *options, or_options_t *old_options)
|
|
|
config_line_t *cl;
|
|
|
|
|
|
if (options->DirAuthorities &&
|
|
|
- (options->AlternateDirAuthority || options->AlternateBridgeAuthority ||
|
|
|
- options->AlternateHSAuthority)) {
|
|
|
+ (options->AlternateDirAuthority || options->AlternateBridgeAuthority)) {
|
|
|
log_warn(LD_CONFIG,
|
|
|
"You cannot set both DirAuthority and Alternate*Authority.");
|
|
|
return -1;
|
|
@@ -941,9 +940,6 @@ validate_dir_servers(or_options_t *options, or_options_t *old_options)
|
|
|
for (cl = options->AlternateDirAuthority; cl; cl = cl->next)
|
|
|
if (parse_dir_authority_line(cl->value, NO_DIRINFO, 1)<0)
|
|
|
return -1;
|
|
|
- for (cl = options->AlternateHSAuthority; cl; cl = cl->next)
|
|
|
- if (parse_dir_authority_line(cl->value, NO_DIRINFO, 1)<0)
|
|
|
- return -1;
|
|
|
for (cl = options->FallbackDir; cl; cl = cl->next)
|
|
|
if (parse_dir_fallback_line(cl->value, 1)<0)
|
|
|
return -1;
|
|
@@ -966,9 +962,7 @@ consider_adding_dir_servers(const or_options_t *options,
|
|
|
!config_lines_eq(options->AlternateBridgeAuthority,
|
|
|
old_options->AlternateBridgeAuthority) ||
|
|
|
!config_lines_eq(options->AlternateDirAuthority,
|
|
|
- old_options->AlternateDirAuthority) ||
|
|
|
- !config_lines_eq(options->AlternateHSAuthority,
|
|
|
- old_options->AlternateHSAuthority);
|
|
|
+ old_options->AlternateDirAuthority);
|
|
|
|
|
|
if (!need_to_update)
|
|
|
return 0; /* all done */
|
|
@@ -984,8 +978,6 @@ consider_adding_dir_servers(const or_options_t *options,
|
|
|
if (!options->AlternateDirAuthority)
|
|
|
type |= V1_DIRINFO | V3_DIRINFO | EXTRAINFO_DIRINFO |
|
|
|
MICRODESC_DIRINFO;
|
|
|
- if (!options->AlternateHSAuthority)
|
|
|
- type |= HIDSERV_DIRINFO;
|
|
|
add_default_trusted_dir_authorities(type);
|
|
|
}
|
|
|
if (!options->FallbackDir)
|
|
@@ -1000,9 +992,6 @@ consider_adding_dir_servers(const or_options_t *options,
|
|
|
for (cl = options->AlternateDirAuthority; cl; cl = cl->next)
|
|
|
if (parse_dir_authority_line(cl->value, NO_DIRINFO, 0)<0)
|
|
|
return -1;
|
|
|
- for (cl = options->AlternateHSAuthority; cl; cl = cl->next)
|
|
|
- if (parse_dir_authority_line(cl->value, NO_DIRINFO, 0)<0)
|
|
|
- return -1;
|
|
|
for (cl = options->FallbackDir; cl; cl = cl->next)
|
|
|
if (parse_dir_fallback_line(cl->value, 0)<0)
|
|
|
return -1;
|
|
@@ -2605,11 +2594,11 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|
|
"extra-info documents. Setting DownloadExtraInfo.");
|
|
|
options->DownloadExtraInfo = 1;
|
|
|
}
|
|
|
- if (!(options->BridgeAuthoritativeDir || options->HSAuthoritativeDir ||
|
|
|
+ if (!(options->BridgeAuthoritativeDir ||
|
|
|
options->V1AuthoritativeDir ||
|
|
|
options->V3AuthoritativeDir))
|
|
|
REJECT("AuthoritativeDir is set, but none of "
|
|
|
- "(Bridge/HS/V1/V3)AuthoritativeDir is set.");
|
|
|
+ "(Bridge/V1/V3)AuthoritativeDir is set.");
|
|
|
/* If we have a v3bandwidthsfile and it's broken, complain on startup */
|
|
|
if (options->V3BandwidthsFile && !old_options) {
|
|
|
dirserv_read_measured_bandwidths(options->V3BandwidthsFile, NULL);
|
|
@@ -2629,10 +2618,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|
|
REJECT("FetchDirInfoExtraEarly requires that you also set "
|
|
|
"FetchDirInfoEarly");
|
|
|
|
|
|
- if (options->HSAuthoritativeDir && proxy_mode(options))
|
|
|
- REJECT("Running as authoritative v0 HS directory, but also configured "
|
|
|
- "as a client.");
|
|
|
-
|
|
|
if (options->ConnLimit <= 0) {
|
|
|
tor_asprintf(msg,
|
|
|
"ConnLimit must be greater than 0, but was set to %d",
|
|
@@ -5031,7 +5016,6 @@ parse_dir_authority_line(const char *line, dirinfo_type_t required_type,
|
|
|
char digest[DIGEST_LEN];
|
|
|
char v3_digest[DIGEST_LEN];
|
|
|
dirinfo_type_t type = 0;
|
|
|
- int is_not_hidserv_authority = 0;
|
|
|
double weight = 1.0;
|
|
|
|
|
|
items = smartlist_new();
|
|
@@ -5052,11 +5036,11 @@ parse_dir_authority_line(const char *line, dirinfo_type_t required_type,
|
|
|
if (TOR_ISDIGIT(flag[0]))
|
|
|
break;
|
|
|
if (!strcasecmp(flag, "v1")) {
|
|
|
- type |= (V1_DIRINFO | HIDSERV_DIRINFO);
|
|
|
- } else if (!strcasecmp(flag, "hs")) {
|
|
|
- type |= HIDSERV_DIRINFO;
|
|
|
- } else if (!strcasecmp(flag, "no-hs")) {
|
|
|
- is_not_hidserv_authority = 1;
|
|
|
+ type |= V1_DIRINFO;
|
|
|
+ } else if (!strcasecmp(flag, "hs") ||
|
|
|
+ !strcasecmp(flag, "no-hs")) {
|
|
|
+ log_warn(LD_CONFIG, "The DirAuthority options 'hs' and 'no-hs' are "
|
|
|
+ "obsolete; you don't need them any more.");
|
|
|
} else if (!strcasecmp(flag, "bridge")) {
|
|
|
type |= BRIDGE_DIRINFO;
|
|
|
} else if (!strcasecmp(flag, "no-v2")) {
|
|
@@ -5093,8 +5077,6 @@ parse_dir_authority_line(const char *line, dirinfo_type_t required_type,
|
|
|
tor_free(flag);
|
|
|
smartlist_del_keeporder(items, 0);
|
|
|
}
|
|
|
- if (is_not_hidserv_authority)
|
|
|
- type &= ~HIDSERV_DIRINFO;
|
|
|
|
|
|
if (smartlist_len(items) < 2) {
|
|
|
log_warn(LD_CONFIG, "Too few arguments to DirAuthority line.");
|