addr: Only attempt Address resolution on non parsable lines

In get_address_from_config(), we would attempt to resolve an Address line that
is not from the requested family but that line could be a valid address from
another family (v4 vs v6).

This makes it that we don't attempt to resolve a valid address from another
family.

Found with unit test config/find_my_address_mixed.

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:05:56 -04:00
parent 89c26f4cfd
commit a8b8a1ee99

View File

@ -193,6 +193,10 @@ get_address_from_config(const or_options_t *options, int warn_severity,
explicit_ip = true;
num_valid_addr++;
continue;
} else if (af != -1) {
/* Parsable address but just not the one from the family we want. Skip
* it so we don't attempt a resolve. */
continue;
}
/* Not an IP address. Considering this value a hostname and attempting to