From d37dbb09c2e8867cf2b87dc45e8646351754e94a Mon Sep 17 00:00:00 2001 From: David Goulet Date: Mon, 26 Nov 2018 14:40:22 -0500 Subject: 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 --- src/or/hs_service.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/or/hs_service.c b/src/or/hs_service.c index 4c67aff429..3273705ae9 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); -- cgit v1.2.3-54-g00ecf