summaryrefslogtreecommitdiff
path: root/src/feature/hs/hs_cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/feature/hs/hs_cache.c')
-rw-r--r--src/feature/hs/hs_cache.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/feature/hs/hs_cache.c b/src/feature/hs/hs_cache.c
index b9bcb446a1..afd69e1bec 100644
--- a/src/feature/hs/hs_cache.c
+++ b/src/feature/hs/hs_cache.c
@@ -647,6 +647,13 @@ cache_store_as_client(hs_cache_client_descriptor_t *client_desc)
}
/* Remove old entry. Make space for the new one! */
remove_v3_desc_as_client(cache_entry);
+
+ /* We just removed an old descriptor and will replace it. We'll close all
+ * intro circuits related to this old one so we don't have leftovers. We
+ * leave the rendezvous circuits opened because they could be in use. */
+ hs_client_close_intro_circuits_from_desc(cache_entry->desc);
+
+ /* Free it. */
cache_client_desc_free(cache_entry);
}