summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-12-05 10:25:12 -0500
committerNick Mathewson <nickm@torproject.org>2018-12-05 10:25:12 -0500
commitb9d0aa21080014d86a61946e9d09652d8e7fa058 (patch)
treeede7b852937dc43854a789854080948c1320f073
parent85674f59b385bbea97ce53e7bcc35e3d7134c05a (diff)
parent967efc0d28ffdedfb52640456e4483dd2ee63e05 (diff)
downloadtor-b9d0aa21080014d86a61946e9d09652d8e7fa058.tar.gz
tor-b9d0aa21080014d86a61946e9d09652d8e7fa058.zip
Merge branch 'maint-0.3.5' into release-0.3.5
-rw-r--r--changes/bug286196
-rw-r--r--src/feature/hs/hs_service.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/changes/bug28619 b/changes/bug28619
new file mode 100644
index 0000000000..86be8cb2fb
--- /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/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 7d56c9e2ad..3042428954 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -3627,8 +3627,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);