Merge remote-tracking branch 'dgoulet/bug23366_032_01'

This commit is contained in:
Nick Mathewson 2017-09-04 12:48:26 -04:00
commit 33989cd002
3 changed files with 27 additions and 6 deletions

4
changes/bug23366 Normal file
View file

@ -0,0 +1,4 @@
o Minor bugfixes (test):
- Fix a broken OutboundAddress option unit test because the parsing
function was never returning an error on failure. Fixes bug #23366.;
bugfix on tor-0.3.0.3-alpha.

View file

@ -7921,13 +7921,28 @@ parse_outbound_addresses(or_options_t *options, int validate_only, char **msg)
memset(&options->OutboundBindAddresses, 0,
sizeof(options->OutboundBindAddresses));
}
parse_outbound_address_lines(options->OutboundBindAddress,
OUTBOUND_ADDR_EXIT_AND_OR, options, validate_only, msg);
parse_outbound_address_lines(options->OutboundBindAddressOR,
OUTBOUND_ADDR_OR, options, validate_only, msg);
parse_outbound_address_lines(options->OutboundBindAddressExit,
OUTBOUND_ADDR_EXIT, options, validate_only, msg);
if (parse_outbound_address_lines(options->OutboundBindAddress,
OUTBOUND_ADDR_EXIT_AND_OR, options,
validate_only, msg) < 0) {
goto err;
}
if (parse_outbound_address_lines(options->OutboundBindAddressOR,
OUTBOUND_ADDR_OR, options, validate_only,
msg) < 0) {
goto err;
}
if (parse_outbound_address_lines(options->OutboundBindAddressExit,
OUTBOUND_ADDR_EXIT, options, validate_only,
msg) < 0) {
goto err;
}
return 0;
err:
return -1;
}
/** Load one of the geoip files, <a>family</a> determining which

View file

@ -528,6 +528,8 @@ test_options_validate__outbound_addresses(void *ignored)
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
tt_str_op(msg, OP_EQ, "Multiple outbound bind addresses configured: "
"xxyy!!!sdfaf");
done:
free_options_test_data(tdata);