tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit a8b8a1ee99fa843a5937b4d2a5973c444a4311e0
parent 89c26f4cfd03fa9d26caa99ecf24258e25fc56ea
Author: David Goulet <dgoulet@torproject.org>
Date:   Tue, 30 Jun 2020 12:05:56 -0400

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>

Diffstat:
Msrc/app/config/resolve_addr.c | 4++++
1 file changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/app/config/resolve_addr.c b/src/app/config/resolve_addr.c @@ -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