Make config/parse_tcp_proxy_line work in the presence of DNS hijacking

We can use our existing mocking functionality to do this: We have
been in this position before.

Fixes part of #40179; bugfix on 0.4.3.1-alpha.
This commit is contained in:
Nick Mathewson 2020-11-05 09:47:32 -05:00
parent 4876409c2a
commit 4154158d79
2 changed files with 8 additions and 2 deletions

4
changes/bug40179_part2 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes (testing):
- Fix the config/parse_tcp_proxy_line test so that it works correctly on
systems where the DNS provider hijacks invalid queries.
Fixes part of bug 40179; bugfix on 0.4.3.1-alpha.

View File

@ -703,11 +703,13 @@ test_config_parse_tcp_proxy_line(void *arg)
tor_free(msg);
/* Bad TCPProxy line - unparsable address/port. */
ret = parse_tcp_proxy_line("haproxy 95.216.163.36/443", options, &msg);
MOCK(tor_addr_lookup, mock_tor_addr_lookup__fail_on_bad_addrs);
ret = parse_tcp_proxy_line("haproxy bogus_address!/300", options, &msg);
tt_int_op(ret, OP_EQ, -1);
tt_str_op(msg, OP_EQ, "TCPProxy address/port failed to parse or resolve. "
"Please fix.");
tor_free(msg);
UNMOCK(tor_addr_lookup);
/* Good TCPProxy line - ipv4. */
ret = parse_tcp_proxy_line("haproxy 95.216.163.36:443", options, &msg);
@ -720,7 +722,7 @@ test_config_parse_tcp_proxy_line(void *arg)
tor_free(msg);
done:
;
UNMOCK(tor_addr_lookup);
}
/**