addr: Don't guess our address if no Address lines are valid

If at least one Address line is given but invalid, we should not attempt to
guess our address.

This commit sends back the "bail" signal so find_my_address() can return an
error if the requested family doesn't exists but still an Address line is
found which is likely another family.

Fixed in #33235
Related to #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
David Goulet 2020-06-30 12:13:23 -04:00
parent 6f1423cb57
commit b14b1f2b1d

View File

@ -220,8 +220,10 @@ get_address_from_config(const or_options_t *options, int warn_severity,
log_fn(warn_severity, LD_CONFIG, log_fn(warn_severity, LD_CONFIG,
"No Address option found for family %s in configuration.", "No Address option found for family %s in configuration.",
fmt_af_family(family)); fmt_af_family(family));
/* No Address statement for family, inform caller to try next method. */ /* No Address statement for family but one exists since Address is not
return FN_RET_NEXT; * NULL thus we have to stop now and not attempt to send back a guessed
* address. */
return FN_RET_BAIL;
} }
if (num_valid_addr >= MAX_CONFIG_ADDRESS) { if (num_valid_addr >= MAX_CONFIG_ADDRESS) {