commit 394f102ea6b0494cde97769a99d75e91b5743616
parent be5b4415c2dce243a6249e6ca14b65423c9b0746
Author: Nick Mathewson <nickm@torproject.org>
Date: Wed, 9 May 2018 11:53:15 -0400
Merge remote-tracking branch 'asn-github/bug25761_032' into maint-0.3.2
Diffstat:
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
@@ -859,11 +859,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