Browse Source

Merge remote-tracking branch 'origin/maint-0.2.6'

Nick Mathewson 9 years ago
parent
commit
2f67a6e8c9
2 changed files with 7 additions and 2 deletions
  1. 5 0
      changes/bug16247
  2. 2 2
      src/or/connection.c

+ 5 - 0
changes/bug16247

@@ -0,0 +1,5 @@
+  o Minor bugfixes (client-side privacy):
+    - Properly separate out each SOCKSPort when applying stream isolation.
+      The error occured because each port's session group was being
+      overwritten by a default value. Fixes bug 16247; bugfix on
+      0.2.6.3-alpha. Patch by "jojelino".

+ 2 - 2
src/or/connection.c

@@ -1291,6 +1291,8 @@ connection_listener_new(const struct sockaddr *listensockaddr,
   conn->port = gotPort;
   tor_addr_copy(&conn->addr, &addr);
 
+  memcpy(&lis_conn->entry_cfg, &port_cfg->entry_cfg, sizeof(entry_port_cfg_t));
+
   if (port_cfg->entry_cfg.isolation_flags) {
     lis_conn->entry_cfg.isolation_flags = port_cfg->entry_cfg.isolation_flags;
     if (port_cfg->entry_cfg.session_group >= 0) {
@@ -1306,8 +1308,6 @@ connection_listener_new(const struct sockaddr *listensockaddr,
     }
   }
 
-  memcpy(&lis_conn->entry_cfg, &port_cfg->entry_cfg, sizeof(entry_port_cfg_t));
-
   if (type != CONN_TYPE_AP_LISTENER) {
     lis_conn->entry_cfg.ipv4_traffic = 1;
     lis_conn->entry_cfg.ipv6_traffic = 1;