Commit da86a70b authored by Nick Mathewson's avatar Nick Mathewson 🎨
Browse files

Merge remote-tracking branch 'tor-github/pr/384'

parents 7409aa58 fb1d37f3
o Minor bugfixes (networking):
- In retry_listeners_ports() make sure that we're removing
a member of old_conns smartlist at most once.
Fixes bug 27808; bugfix on 0.3.5.1-alpha.
......@@ -2762,6 +2762,11 @@ retry_listener_ports(smartlist_t *old_conns,
const port_cfg_t *found_port = NULL;
/* Okay, so this is a listener. Is it configured? */
/* That is, is it either: 1) exact match - address and port
* pair match exactly between old listener and new port; or 2)
* wildcard match - port matches exactly, but *one* of the
* addresses is wildcard (0.0.0.0 or ::)?
*/
SMARTLIST_FOREACH_BEGIN(launch, const port_cfg_t *, wanted) {
if (conn->type != wanted->type)
continue;
......@@ -2805,6 +2810,7 @@ retry_listener_ports(smartlist_t *old_conns,
SMARTLIST_DEL_CURRENT(launch, wanted);
SMARTLIST_DEL_CURRENT(old_conns, conn);
break;
}
#endif
}
......@@ -2900,9 +2906,6 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
"(replaced by %s:%d)",
conn_type_to_string(old_conn->type), old_conn->address,
old_conn->port, new_conn->address, new_conn->port);
tor_free(r);
SMARTLIST_DEL_CURRENT(replacements, r);
} SMARTLIST_FOREACH_END(r);
#endif
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment