Просмотр исходного кода

bridges send netinfo cells like clients on outgoing conns

fixes bug 4348
Roger Dingledine 12 лет назад
Родитель
Сommit
eeb6588389
2 измененных файлов с 12 добавлено и 2 удалено
  1. 7 0
      changes/bug4348
  2. 5 2
      src/or/connection_or.c

+ 7 - 0
changes/bug4348

@@ -0,0 +1,7 @@
+  Privacy fixes:
+    - Bridges no longer include their address in NETINFO cells on outgoing
+      OR connections, to allow them to blend in better with clients.
+      Removes another avenue for enumerating bridges. Reported by
+      "troll_un". Fixes bug 4348; bugfix on 0.2.0.10-alpha, when NETINFO
+      cells were introduced.
+

+ 5 - 2
src/or/connection_or.c

@@ -1928,8 +1928,11 @@ connection_or_send_netinfo(or_connection_t *conn)
     return -1;
   out += len;
 
-  /* My address. */
-  if ((me = router_get_my_routerinfo())) {
+  /* My address -- only include it if I'm a public relay, or if I'm a
+   * bridge and this is an incoming connection. If I'm a bridge and this
+   * is an outgoing connection, act like a normal client and omit it. */
+  if ((public_server_mode(get_options()) || !conn->is_outgoing) &&
+      (me = router_get_my_routerinfo())) {
     tor_addr_t my_addr;
     *out++ = 1; /* only one address is supported. */