[tor-commits] [tor/master] Add comments in rendclient.c noting that certain functions involved in handling ended HS connection attempts must be idempotent

nickm at torproject.org nickm at torproject.org
Thu Jan 15 15:26:54 UTC 2015


commit f7bb60e2020a4a655b77b0b3d86669210a3cd0c0
Author: Andrea Shepard <andrea at torproject.org>
Date:   Thu Jan 15 15:19:31 2015 +0000

    Add comments in rendclient.c noting that certain functions involved in handling ended HS connection attempts must be idempotent
---
 src/or/rendclient.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 8cace92..75c7b9a 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -547,7 +547,12 @@ directory_clean_last_hid_serv_requests(time_t now)
 
 /** Remove all requests related to the hidden service named
  * <b>onion_address</b> from the history of times of requests to
- * hidden service directories. */
+ * hidden service directories.
+ *
+ * This is called from rend_client_note_connection_attempt_ended(), which
+ * must be idempotent, so any future changes to this function must leave
+ * it idempotent too.
+ */
 static void
 purge_hid_serv_from_last_hid_serv_requests(const char *onion_address)
 {
@@ -1076,8 +1081,11 @@ rend_client_desc_trynow(const char *query)
 
 /** Clear temporary state used only during an attempt to connect to
  * the hidden service named <b>onion_address</b>.  Called when a
- * connection attempt has ended; may be called occasionally at other
- * times, and should be reasonably harmless. */
+ * connection attempt has ended; it is possible for this to be called
+ * multiple times while handling an ended connection attempt, and
+ * any future changes to this functio n must ensure it remains
+ * idempotent.
+ */
 void
 rend_client_note_connection_attempt_ended(const char *onion_address)
 {





More information about the tor-commits mailing list