diff options
author | Robert Ransom <rransom.8774@gmail.com> | 2011-06-02 02:57:29 -0700 |
---|---|---|
committer | Robert Ransom <rransom.8774@gmail.com> | 2011-06-02 02:57:29 -0700 |
commit | d7af8a2f076a38d8be32798d34049ce150c8dda0 (patch) | |
tree | 45a482b170c8af71146351479b2462d7f7b043ef | |
parent | b0e7925c0205a68d730025cc8832110c1675cfd7 (diff) | |
download | tor-d7af8a2f076a38d8be32798d34049ce150c8dda0.tar tor-d7af8a2f076a38d8be32798d34049ce150c8dda0.tar.gz |
Refactor HS client state-clearing code into a separate function
-rw-r--r-- | src/or/main.c | 4 | ||||
-rw-r--r-- | src/or/rendclient.c | 10 | ||||
-rw-r--r-- | src/or/rendclient.h | 2 |
3 files changed, 13 insertions, 3 deletions
diff --git a/src/or/main.c b/src/or/main.c index 3c84ddaa6..bc639dbdd 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -853,9 +853,7 @@ signewnym_impl(time_t now) circuit_expire_all_dirty_circs(); addressmap_clear_transient(); - rend_cache_purge(); - rend_client_cancel_descriptor_fetches(); - rend_client_purge_last_hid_serv_requests(); + rend_client_purge_state(); time_of_last_signewnym = now; signewnym_is_pending = 0; } diff --git a/src/or/rendclient.c b/src/or/rendclient.c index 12b54df0d..329b2567d 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -27,6 +27,16 @@ static extend_info_t *rend_client_get_random_intro_impl( const rend_cache_entry_t *rend_query, const int strict, const int warnings); +/** Purge all potentially remotely-detectable state held in the hidden + * service client code. Called on SIGNAL NEWNYM. */ +void +rend_client_purge_state(void) +{ + rend_cache_purge(); + rend_client_cancel_descriptor_fetches(); + rend_client_purge_last_hid_serv_requests(); +} + /** Called when we've established a circuit to an introduction point: * send the introduction request. */ void diff --git a/src/or/rendclient.h b/src/or/rendclient.h index 2bfc850ad..c6cf82b3d 100644 --- a/src/or/rendclient.h +++ b/src/or/rendclient.h @@ -12,6 +12,8 @@ #ifndef _TOR_RENDCLIENT_H #define _TOR_RENDCLIENT_H +void rend_client_purge_state(void); + void rend_client_introcirc_has_opened(origin_circuit_t *circ); void rend_client_rendcirc_has_opened(origin_circuit_t *circ); int rend_client_introduction_acked(origin_circuit_t *circ, |