Warn on ExtORPort USERADDR that is missing or 0.

Diagnoses violations on #23080.
This commit is contained in:
Nick Mathewson 2017-09-20 08:50:49 -04:00
parent 9e0587f806
commit c4e8548c59
2 changed files with 10 additions and 0 deletions

5
changes/bug23080 Normal file
View File

@ -0,0 +1,5 @@
o Minor features (spec conformance, bridge, diagnostic):
- When handling the USERADDR command on an ExtOrPort, warn when the
transports provides a USERADDR with no port. In a future version,
USERADDR commands of this format may be rejected. Detects problems
related to ticket 23080.

View File

@ -460,6 +460,11 @@ connection_ext_or_handle_cmd_useraddr(connection_t *conn,
tor_free(addr_str);
if (res<0)
return -1;
if (port == 0) {
log_warn(LD_GENERAL, "Server transport proxy gave us an empty port "
"in ExtORPort UserAddr command.");
// return -1; // enable this if nothing breaks after a while.
}
res = tor_addr_parse(&addr, address_part);
tor_free(address_part);