[tor-commits] [tor/master] hs: Implement an HS client free all function

nickm at torproject.org nickm at torproject.org
Mon Sep 4 16:33:46 UTC 2017


commit 0850ae50490419b3d071a18462253148ea29e62c
Author: David Goulet <dgoulet at torproject.org>
Date:   Tue Aug 29 16:02:13 2017 -0400

    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 at torproject.org>
---
 src/or/hs_client.c | 8 ++++++++
 src/or/hs_client.h | 2 ++
 src/or/hs_common.c | 2 ++
 3 files changed, 12 insertions(+)

diff --git a/src/or/hs_client.c b/src/or/hs_client.c
index 99be058eb..19e20c0e8 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 8ed0501c9..86784f52c 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 d866ab6a8..0103c68f3 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





More information about the tor-commits mailing list