aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-08-29 16:02:13 -0400
committerDavid Goulet <dgoulet@torproject.org>2017-08-29 16:02:13 -0400
commit0850ae50490419b3d071a18462253148ea29e62c (patch)
tree8cc1e7188f14941919bf5c73c12d10385e9ad0db
parent209bfe715cc8c1c59b2578c406749a0d4a5bd8cb (diff)
downloadtor-0850ae50490419b3d071a18462253148ea29e62c.tar.gz
tor-0850ae50490419b3d071a18462253148ea29e62c.zip
hs: Implement an HS client free all function
Called from main.c, the function for now purges the hidden service directory request cache. Signed-off-by: David Goulet <dgoulet@torproject.org>
-rw-r--r--src/or/hs_client.c8
-rw-r--r--src/or/hs_client.h2
-rw-r--r--src/or/hs_common.c2
3 files changed, 12 insertions, 0 deletions
diff --git a/src/or/hs_client.c b/src/or/hs_client.c
index 99be058eb7..19e20c0e8d 100644
--- a/src/or/hs_client.c
+++ b/src/or/hs_client.c
@@ -1251,3 +1251,11 @@ hs_client_reextend_intro_circuit(origin_circuit_t *circ)
return ret;
}
+/* Release all the storage held by the client subsystem. */
+void
+hs_client_free_all(void)
+{
+ /* Purge the hidden service request cache. */
+ hs_purge_last_hid_serv_requests();
+}
+
diff --git a/src/or/hs_client.h b/src/or/hs_client.h
index 8ed0501c91..86784f52c3 100644
--- a/src/or/hs_client.h
+++ b/src/or/hs_client.h
@@ -46,5 +46,7 @@ extend_info_t *hs_client_get_random_intro_from_edge(
int hs_client_reextend_intro_circuit(origin_circuit_t *circ);
+void hs_client_free_all(void);
+
#endif /* TOR_HS_CLIENT_H */
diff --git a/src/or/hs_common.c b/src/or/hs_common.c
index d866ab6a8f..0103c68f34 100644
--- a/src/or/hs_common.c
+++ b/src/or/hs_common.c
@@ -19,6 +19,7 @@
#include "nodelist.h"
#include "hs_cache.h"
#include "hs_common.h"
+#include "hs_client.h"
#include "hs_ident.h"
#include "hs_service.h"
#include "policies.h"
@@ -1700,6 +1701,7 @@ hs_free_all(void)
hs_circuitmap_free_all();
hs_service_free_all();
hs_cache_free_all();
+ hs_client_free_all();
}
/* For the given origin circuit circ, decrement the number of rendezvous