tor

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

commit abde29824ceb76bd21e728260796ecb4ff55151a
parent a639a67844909bd05fadaea5c1847f5e9af55cde
Author: Nick Mathewson <nickm@torproject.org>
Date:   Wed,  9 May 2018 11:53:18 -0400

Merge branch 'maint-0.3.2' into maint-0.3.3

Diffstat:
Achanges/bug25761 | 3+++
Msrc/or/hs_service.c | 5-----
Msrc/or/rendservice.c | 5+++--
3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/changes/bug25761 b/changes/bug25761 @@ -0,0 +1,3 @@ + o Major bugfixes (onion service): + - Correctly detect when onion services get disabled after HUP. + Fixes bug 25761; bugfix on 0.3.2.1. diff --git a/src/or/hs_service.c b/src/or/hs_service.c @@ -861,11 +861,6 @@ register_all_services(void) tor_assert(hs_service_staging_list); - /* We'll save us some allocation and computing time. */ - if (smartlist_len(hs_service_staging_list) == 0) { - return; - } - /* Allocate a new map that will replace the current one. */ new_service_map = tor_malloc_zero(sizeof(*new_service_map)); HT_INIT(hs_service_ht, new_service_map); 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