[tor-commits] [tor/release-0.3.4] hs-v3: Do not close RP circuits when deleting an ephemeral service

nickm at torproject.org nickm at torproject.org
Fri Jan 4 19:57:11 UTC 2019


commit d37dbb09c2e8867cf2b87dc45e8646351754e94a
Author: David Goulet <dgoulet at torproject.org>
Date:   Mon Nov 26 14:40:22 2018 -0500

    hs-v3: Do not close RP circuits when deleting an ephemeral service
    
    Bug reported on tor-dev@ and here is the detail explanation of the issue:
    https://lists.torproject.org/pipermail/tor-dev/2018-November/013558.html
    
    Fixes bug #28619
    
    Signed-off-by: David Goulet <dgoulet at torproject.org>
---
 changes/bug28619    | 6 ++++++
 src/or/hs_service.c | 6 ++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/changes/bug28619 b/changes/bug28619
new file mode 100644
index 000000000..86be8cb2f
--- /dev/null
+++ b/changes/bug28619
@@ -0,0 +1,6 @@
+  o Minor bugfixes (hidden service v3):
+    - When deleting an ephemeral onion service (DEL_ONION), do not close any
+      rendezvous circuits in order to let the existing client connections
+      finish by themselves or closed by the application. The HS v2 is doing
+      that already so now we have the same behavior for all versions. Fixes
+      bug 28619; bugfix on 0.3.3.1-alpha.
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 4c67aff42..3273705ae 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -3105,8 +3105,10 @@ hs_service_del_ephemeral(const char *address)
     goto err;
   }
 
-  /* Close circuits, remove from map and finally free. */
-  close_service_circuits(service);
+  /* Close introduction circuits, remove from map and finally free. Notice
+   * that the rendezvous circuits aren't closed in order for any existing
+   * connections to finish. We let the application terminate them. */
+  close_service_intro_circuits(service);
   remove_service(hs_service_map, service);
   hs_service_free(service);
 





More information about the tor-commits mailing list