mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 18:22:09 +01:00
Merge branch 'bug6490_v2' into maint-0.2.3
This commit is contained in:
commit
aed93f8ad9
4
changes/bug6490
Normal file
4
changes/bug6490
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
o Minor features:
|
||||||
|
- Warn when Tor is configured to use accounting in a way that will
|
||||||
|
link a hidden service to some other hidden service or public
|
||||||
|
address. Fix for bug 6490.
|
@ -594,6 +594,7 @@ static void option_reset(const config_format_t *fmt, or_options_t *options,
|
|||||||
const config_var_t *var, int use_defaults);
|
const config_var_t *var, int use_defaults);
|
||||||
static void config_free(const config_format_t *fmt, void *options);
|
static void config_free(const config_format_t *fmt, void *options);
|
||||||
static int config_lines_eq(config_line_t *a, config_line_t *b);
|
static int config_lines_eq(config_line_t *a, config_line_t *b);
|
||||||
|
static int config_count_key(const config_line_t *a, const char *key);
|
||||||
static int option_is_same(const config_format_t *fmt,
|
static int option_is_same(const config_format_t *fmt,
|
||||||
const or_options_t *o1, const or_options_t *o2,
|
const or_options_t *o1, const or_options_t *o2,
|
||||||
const char *name);
|
const char *name);
|
||||||
@ -3066,6 +3067,20 @@ config_lines_eq(config_line_t *a, config_line_t *b)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Return the number of lines in <b>a</b> whose key is <b>key</b>. */
|
||||||
|
static int
|
||||||
|
config_count_key(const config_line_t *a, const char *key)
|
||||||
|
{
|
||||||
|
int n = 0;
|
||||||
|
while (a) {
|
||||||
|
if (!strcasecmp(a->key, key)) {
|
||||||
|
++n;
|
||||||
|
}
|
||||||
|
a = a->next;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
/** Return true iff the option <b>name</b> has the same value in <b>o1</b>
|
/** Return true iff the option <b>name</b> has the same value in <b>o1</b>
|
||||||
* and <b>o2</b>. Must not be called for LINELIST_S or OBSOLETE options.
|
* and <b>o2</b>. Must not be called for LINELIST_S or OBSOLETE options.
|
||||||
*/
|
*/
|
||||||
@ -3848,6 +3863,20 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|||||||
if (accounting_parse_options(options, 1)<0)
|
if (accounting_parse_options(options, 1)<0)
|
||||||
REJECT("Failed to parse accounting options. See logs for details.");
|
REJECT("Failed to parse accounting options. See logs for details.");
|
||||||
|
|
||||||
|
if (options->AccountingMax) {
|
||||||
|
if (options->RendConfigLines && server_mode(options)) {
|
||||||
|
log_warn(LD_CONFIG, "Using accounting with a hidden service and an "
|
||||||
|
"ORPort is risky: your hidden service(s) and your public "
|
||||||
|
"address will all turn off at the same time, which may alert "
|
||||||
|
"observers that they are being run by the same party.");
|
||||||
|
} else if (config_count_key(options->RendConfigLines,
|
||||||
|
"HiddenServiceDir") > 1) {
|
||||||
|
log_warn(LD_CONFIG, "Using accounting with multiple hidden services is "
|
||||||
|
"risky: they will all turn off at the same time, which may "
|
||||||
|
"alert observers that they are being run by the same party.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (options->HTTPProxy) { /* parse it now */
|
if (options->HTTPProxy) { /* parse it now */
|
||||||
if (tor_addr_port_lookup(options->HTTPProxy,
|
if (tor_addr_port_lookup(options->HTTPProxy,
|
||||||
&options->HTTPProxyAddr, &options->HTTPProxyPort) < 0)
|
&options->HTTPProxyAddr, &options->HTTPProxyPort) < 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user