tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 5dc00c06615ef1e99e1d82dfdf41823c0d4bf7f6
parent 7c3f87eb4b2c3c4ce3422b3561bee36f3c9956c1
Author: George Kadianakis <desnacked@riseup.net>
Date:   Tue,  8 May 2018 18:07:08 +0300

Detect when v2 services get disabled after HUP.

During service configuration, rend_service_prune_list_impl_() sets
rend_service_staging_list to NULL, which blocked pruning after a HUP.

This patch initializes rend_service_staging_list when needed, so that HUP can
detect disabled onion services.

Fixes bug #25761.

Diffstat:
Msrc/or/rendservice.c | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/or/rendservice.c b/src/or/rendservice.c @@ -618,10 +618,11 @@ void rend_service_prune_list(void) { smartlist_t *old_service_list = rend_service_list; - /* Don't try to prune anything if we have no staging list. */ + if (!rend_service_staging_list) { - return; + rend_service_staging_list = smartlist_new(); } + rend_service_prune_list_impl_(); if (old_service_list) { /* Every remaining service in the old list have been removed from the