mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Merge remote-tracking branch 'andrea/bug11306'
This commit is contained in:
commit
74ddd5f739
3 changed files with 22 additions and 1 deletions
4
changes/bug11306
Normal file
4
changes/bug11306
Normal file
|
@ -0,0 +1,4 @@
|
|||
o Bugfixes:
|
||||
- When closing all connections on setting DisableNetwork to 1, use
|
||||
connection_or_close_normally() rather than closing orconns out from
|
||||
under the channel layer. Fixes bug #11306.
|
|
@ -1179,10 +1179,13 @@ options_act_reversible(const or_options_t *old_options, char **msg)
|
|||
|
||||
SMARTLIST_FOREACH(replaced_listeners, connection_t *, conn,
|
||||
{
|
||||
int marked = conn->marked_for_close;
|
||||
log_notice(LD_NET, "Closing old %s on %s:%d",
|
||||
conn_type_to_string(conn->type), conn->address, conn->port);
|
||||
connection_close_immediate(conn);
|
||||
connection_mark_for_close(conn);
|
||||
if (!marked) {
|
||||
connection_mark_for_close(conn);
|
||||
}
|
||||
});
|
||||
goto done;
|
||||
|
||||
|
|
|
@ -2359,6 +2359,20 @@ connection_mark_all_noncontrol_connections(void)
|
|||
connection_mark_unattached_ap(TO_ENTRY_CONN(conn),
|
||||
END_STREAM_REASON_HIBERNATING);
|
||||
break;
|
||||
case CONN_TYPE_OR:
|
||||
{
|
||||
or_connection_t *orconn = TO_OR_CONN(conn);
|
||||
if (orconn->chan) {
|
||||
connection_or_close_normally(orconn, 0);
|
||||
} else {
|
||||
/*
|
||||
* There should have been one, but mark for close and hope
|
||||
* for the best..
|
||||
*/
|
||||
connection_mark_for_close(conn);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
connection_mark_for_close(conn);
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue