]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
hs_pow: swap out some comments
authorMicah Elizabeth Scott <beth@torproject.org>
Tue, 11 Apr 2023 23:45:21 +0000 (16:45 -0700)
committerMicah Elizabeth Scott <beth@torproject.org>
Wed, 10 May 2023 14:41:37 +0000 (07:41 -0700)
i think we're done with these?
and swap in a nonfatal assert to replace one of the comments.

Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
src/feature/hs/hs_pow.h
src/feature/hs/hs_service.c
src/trunnel/hs/cell_introduce1.trunnel

index 23c05419a65457e76ed80295280966c0cb4d9bba..481c293cc58b205f3961bde857759e80e81a671e 100644 (file)
 #include "lib/evloop/token_bucket.h"
 #include "lib/smartlist_core/smartlist_core.h"
 
-/* Service updates the suggested effort every HS_UPDATE_PERIOD seconds. */
-#define HS_UPDATE_PERIOD 300 // HRPR TODO Should be consensus
+/* Service updates the suggested effort every HS_UPDATE_PERIOD seconds.
+ * This parameter controls how often we can change hs descriptor data to
+ * update suggested_effort, but it also controls the frequency of our
+ * opportunities to increase or decrease effort. Lower values react to
+ * attacks faster, higher values may be more stable.
+ * Can this move to torrc? (Or the consensus?) The hs_cache timings are
+ * related, and they're also hardcoded.
+*/
+#define HS_UPDATE_PERIOD 300
 
 /** Length of random nonce (N) used in the PoW scheme. */
 #define HS_POW_NONCE_LEN 16
index b2af8815970977d52d812990b2ef73909f8bdade..a7e4e40a712f2ebbdeb9dc3bcbcb3093a19ec047 100644 (file)
@@ -2421,7 +2421,6 @@ update_all_descriptors_intro_points(time_t now)
   } FOR_EACH_SERVICE_END;
 }
 
-/* XXX: Need to check with mikeperry. */
 /** Update or initialise PoW parameters in the descriptors if they do not
  * reflect the current state of the PoW defenses. If the defenses have been
  * disabled then remove the PoW parameters from the descriptors. */
@@ -2465,9 +2464,9 @@ update_all_descriptors_pow_params(time_t now)
         encrypted->pow_params = tor_malloc_zero(sizeof(hs_pow_desc_params_t));
       }
 
-      /* Update the descriptor if it doesn't reflect the current pow_state, for
-       * example if the defenses have just been enabled or refreshed due to a
-       * SIGHUP. HRPR TODO: Don't check using expiration time? */
+      /* Update the descriptor any time the seed rotates, using expiration
+       * time as a proxy for parameters not including the suggested_effort,
+       * which gets special treatment below. */
       if (encrypted->pow_params->expiration_time !=
           pow_state->expiration_time) {
         encrypted->pow_params->type = 0; /* use first version in the list */
index cf8a291c2649dc152aef67400ac6dc4bb56393c3..ed01bd6a7dc74dd40d8572c1ee6435350893d599 100644 (file)
@@ -84,7 +84,7 @@ const TRUNNEL_EXT_TYPE_CC_REQUEST = 0x01;
 const TRUNNEL_EXT_TYPE_POW = 0x02;
 
 /*
- * HRPR: PoW Solution Extension. Proposal 327.
+ * PoW Solution Extension. Proposal 327.
  */
 
 const TRUNNEL_POW_NONCE_LEN = 16;