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@torproject.org>
This commit is contained in:
David Goulet
2018-11-26 14:40:22 -05:00
parent cbe04d4550
commit d37dbb09c2
2 changed files with 10 additions and 2 deletions
+4 -2
View File
@@ -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);