Explorar el Código

Merge remote-tracking branch 'asn-github/bug25761_032' into maint-0.3.2

Nick Mathewson hace 6 años
padre
commit
394f102ea6
Se han modificado 3 ficheros con 6 adiciones y 7 borrados
  1. 3 0
      changes/bug25761
  2. 0 5
      src/or/hs_service.c
  3. 3 2
      src/or/rendservice.c

+ 3 - 0
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.

+ 0 - 5
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);

+ 3 - 2
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