diff --git a/changes/bug23080 b/changes/bug23080 new file mode 100644 index 0000000000..c80d323d3d --- /dev/null +++ b/changes/bug23080 @@ -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. diff --git a/src/or/ext_orport.c b/src/or/ext_orport.c index c22a2f13d8..28377a3f36 100644 --- a/src/or/ext_orport.c +++ b/src/or/ext_orport.c @@ -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);