mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Merge remote-tracking branch 'andrea/bug11306'
This commit is contained in:
commit
74ddd5f739
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,
|
SMARTLIST_FOREACH(replaced_listeners, connection_t *, conn,
|
||||||
{
|
{
|
||||||
|
int marked = conn->marked_for_close;
|
||||||
log_notice(LD_NET, "Closing old %s on %s:%d",
|
log_notice(LD_NET, "Closing old %s on %s:%d",
|
||||||
conn_type_to_string(conn->type), conn->address, conn->port);
|
conn_type_to_string(conn->type), conn->address, conn->port);
|
||||||
connection_close_immediate(conn);
|
connection_close_immediate(conn);
|
||||||
connection_mark_for_close(conn);
|
if (!marked) {
|
||||||
|
connection_mark_for_close(conn);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
@ -2359,6 +2359,20 @@ connection_mark_all_noncontrol_connections(void)
|
|||||||
connection_mark_unattached_ap(TO_ENTRY_CONN(conn),
|
connection_mark_unattached_ap(TO_ENTRY_CONN(conn),
|
||||||
END_STREAM_REASON_HIBERNATING);
|
END_STREAM_REASON_HIBERNATING);
|
||||||
break;
|
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:
|
default:
|
||||||
connection_mark_for_close(conn);
|
connection_mark_for_close(conn);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user