mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Merge remote-tracking branch 'andrea/ticket14840'
This commit is contained in:
commit
af83a205b0
2 changed files with 74 additions and 39 deletions
5
changes/ticket14840
Normal file
5
changes/ticket14840
Normal file
|
@ -0,0 +1,5 @@
|
|||
o Minor features:
|
||||
- Add DirAuthority lines for default directory authorities to output
|
||||
of the GETINFO config/defaults controller command if not already
|
||||
present. Implements ticket 14840.
|
||||
|
108
src/or/config.c
108
src/or/config.c
|
@ -839,6 +839,41 @@ escaped_safe_str(const char *address)
|
|||
return escaped(address);
|
||||
}
|
||||
|
||||
/** List of default directory authorities */
|
||||
|
||||
static const char *default_authorities[] = {
|
||||
"moria1 orport=9101 "
|
||||
"v3ident=D586D18309DED4CD6D57C18FDB97EFA96D330566 "
|
||||
"128.31.0.39:9131 9695 DFC3 5FFE B861 329B 9F1A B04C 4639 7020 CE31",
|
||||
"tor26 orport=443 "
|
||||
"v3ident=14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4 "
|
||||
"86.59.21.38:80 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D",
|
||||
"dizum orport=443 "
|
||||
"v3ident=E8A9C45EDE6D711294FADF8E7951F4DE6CA56B58 "
|
||||
"194.109.206.212:80 7EA6 EAD6 FD83 083C 538F 4403 8BBF A077 587D D755",
|
||||
"Tonga orport=443 bridge "
|
||||
"82.94.251.203:80 4A0C CD2D DC79 9508 3D73 F5D6 6710 0C8A 5831 F16D",
|
||||
"gabelmoo orport=443 "
|
||||
"v3ident=ED03BB616EB2F60BEC80151114BB25CEF515B226 "
|
||||
"131.188.40.189:80 F204 4413 DAC2 E02E 3D6B CF47 35A1 9BCA 1DE9 7281",
|
||||
"dannenberg orport=443 "
|
||||
"v3ident=585769C78764D58426B8B52B6651A5A71137189A "
|
||||
"193.23.244.244:80 7BE6 83E6 5D48 1413 21C5 ED92 F075 C553 64AC 7123",
|
||||
"urras orport=80 "
|
||||
"v3ident=80550987E1D626E3EBA5E5E75A458DE0626D088C "
|
||||
"208.83.223.34:443 0AD3 FA88 4D18 F89E EA2D 89C0 1937 9E0E 7FD9 4417",
|
||||
"maatuska orport=80 "
|
||||
"v3ident=49015F787433103580E3B66A1707A00E60F2D15B "
|
||||
"171.25.193.9:443 BD6A 8292 55CB 08E6 6FBE 7D37 4836 3586 E46B 3810",
|
||||
"Faravahar orport=443 "
|
||||
"v3ident=EFCBE720AB3A82B99F9E953CD5BF50F7EEFC7B97 "
|
||||
"154.35.175.225:80 CF6D 0AAF B385 BE71 B8E1 11FC 5CFF 4B47 9237 33BC",
|
||||
"longclaw orport=443 "
|
||||
"v3ident=23D15D965BC35114467363C165C4F724B64B4F66 "
|
||||
"199.254.238.52:80 74A9 1064 6BCE EFBC D2E8 74FC 1DC9 9743 0F96 8145",
|
||||
NULL
|
||||
};
|
||||
|
||||
/** Add the default directory authorities directly into the trusted dir list,
|
||||
* but only add them insofar as they share bits with <b>type</b>.
|
||||
* Each authority's bits are restricted to the bits shared with <b>type</b>.
|
||||
|
@ -847,42 +882,10 @@ static void
|
|||
add_default_trusted_dir_authorities(dirinfo_type_t type)
|
||||
{
|
||||
int i;
|
||||
const char *authorities[] = {
|
||||
"moria1 orport=9101 "
|
||||
"v3ident=D586D18309DED4CD6D57C18FDB97EFA96D330566 "
|
||||
"128.31.0.39:9131 9695 DFC3 5FFE B861 329B 9F1A B04C 4639 7020 CE31",
|
||||
"tor26 orport=443 "
|
||||
"v3ident=14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4 "
|
||||
"86.59.21.38:80 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D",
|
||||
"dizum orport=443 "
|
||||
"v3ident=E8A9C45EDE6D711294FADF8E7951F4DE6CA56B58 "
|
||||
"194.109.206.212:80 7EA6 EAD6 FD83 083C 538F 4403 8BBF A077 587D D755",
|
||||
"Tonga orport=443 bridge "
|
||||
"82.94.251.203:80 4A0C CD2D DC79 9508 3D73 F5D6 6710 0C8A 5831 F16D",
|
||||
"gabelmoo orport=443 "
|
||||
"v3ident=ED03BB616EB2F60BEC80151114BB25CEF515B226 "
|
||||
"131.188.40.189:80 F204 4413 DAC2 E02E 3D6B CF47 35A1 9BCA 1DE9 7281",
|
||||
"dannenberg orport=443 "
|
||||
"v3ident=585769C78764D58426B8B52B6651A5A71137189A "
|
||||
"193.23.244.244:80 7BE6 83E6 5D48 1413 21C5 ED92 F075 C553 64AC 7123",
|
||||
"urras orport=80 "
|
||||
"v3ident=80550987E1D626E3EBA5E5E75A458DE0626D088C "
|
||||
"208.83.223.34:443 0AD3 FA88 4D18 F89E EA2D 89C0 1937 9E0E 7FD9 4417",
|
||||
"maatuska orport=80 "
|
||||
"v3ident=49015F787433103580E3B66A1707A00E60F2D15B "
|
||||
"171.25.193.9:443 BD6A 8292 55CB 08E6 6FBE 7D37 4836 3586 E46B 3810",
|
||||
"Faravahar orport=443 "
|
||||
"v3ident=EFCBE720AB3A82B99F9E953CD5BF50F7EEFC7B97 "
|
||||
"154.35.175.225:80 CF6D 0AAF B385 BE71 B8E1 11FC 5CFF 4B47 9237 33BC",
|
||||
"longclaw orport=443 "
|
||||
"v3ident=23D15D965BC35114467363C165C4F724B64B4F66 "
|
||||
"199.254.238.52:80 74A9 1064 6BCE EFBC D2E8 74FC 1DC9 9743 0F96 8145",
|
||||
NULL
|
||||
};
|
||||
for (i=0; authorities[i]; i++) {
|
||||
if (parse_dir_authority_line(authorities[i], type, 0)<0) {
|
||||
for (i=0; default_authorities[i]; i++) {
|
||||
if (parse_dir_authority_line(default_authorities[i], type, 0)<0) {
|
||||
log_err(LD_BUG, "Couldn't parse internal DirAuthority line %s",
|
||||
authorities[i]);
|
||||
default_authorities[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6977,15 +6980,42 @@ getinfo_helper_config(control_connection_t *conn,
|
|||
smartlist_free(sl);
|
||||
} else if (!strcmp(question, "config/defaults")) {
|
||||
smartlist_t *sl = smartlist_new();
|
||||
int i;
|
||||
int i, dirauth_lines_seen = 0;
|
||||
for (i = 0; option_vars_[i].name; ++i) {
|
||||
const config_var_t *var = &option_vars_[i];
|
||||
if (var->initvalue != NULL) {
|
||||
char *val = esc_for_log(var->initvalue);
|
||||
smartlist_add_asprintf(sl, "%s %s\n",var->name,val);
|
||||
tor_free(val);
|
||||
if (strcmp(option_vars_[i].name, "DirAuthority") == 0) {
|
||||
/*
|
||||
* Count dirauth lines we have a default for; we'll use the
|
||||
* count later to decide whether to add the defaults manually
|
||||
*/
|
||||
++dirauth_lines_seen;
|
||||
}
|
||||
char *val = esc_for_log(var->initvalue);
|
||||
smartlist_add_asprintf(sl, "%s %s\n",var->name,val);
|
||||
tor_free(val);
|
||||
}
|
||||
}
|
||||
|
||||
if (dirauth_lines_seen == 0) {
|
||||
/*
|
||||
* We didn't see any directory authorities with default values,
|
||||
* so add the list of default authorities manually.
|
||||
*/
|
||||
const char **i;
|
||||
|
||||
/*
|
||||
* default_authorities is defined earlier in this file and
|
||||
* is a const char ** NULL-terminated array of dirauth config
|
||||
* lines.
|
||||
*/
|
||||
for (i = default_authorities; *i != NULL; ++i) {
|
||||
char *val = esc_for_log(*i);
|
||||
smartlist_add_asprintf(sl, "DirAuthority %s\n", val);
|
||||
tor_free(val);
|
||||
}
|
||||
}
|
||||
|
||||
*answer = smartlist_join_strings(sl, "", 0, NULL);
|
||||
SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
|
||||
smartlist_free(sl);
|
||||
|
|
Loading…
Add table
Reference in a new issue