Set session_group after the port's data structure has been populated.

Fixes #16247, patch by "jojelino".
This commit is contained in:
Yawning Angel 2015-06-04 13:53:35 +00:00
parent a68e5323f8
commit f2ff814582
2 changed files with 7 additions and 2 deletions

5
changes/bug16247 Normal file
View File

@ -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".

View File

@ -1284,6 +1284,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) {
@ -1299,8 +1301,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;