瀏覽代碼

Warn on ExtORPort USERADDR that is missing or 0.

Diagnoses violations on #23080.
Nick Mathewson 7 年之前
父節點
當前提交
c4e8548c59
共有 2 個文件被更改,包括 10 次插入0 次删除
  1. 5 0
      changes/bug23080
  2. 5 0
      src/or/ext_orport.c

+ 5 - 0
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.

+ 5 - 0
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);