tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit cba1ffb43a3ffff133a9dd6b4973e6ce3618daf9
parent a13d7bd5e96765ac7c660415a498d9d9100ade62
Author: Micah Elizabeth Scott <beth@torproject.org>
Date:   Tue, 11 Apr 2023 16:45:21 -0700

hs_pow: swap out some comments

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>

Diffstat:
Msrc/feature/hs/hs_pow.h | 11+++++++++--
Msrc/feature/hs/hs_service.c | 7+++----
Msrc/trunnel/hs/cell_introduce1.trunnel | 2+-
3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/feature/hs/hs_pow.h b/src/feature/hs/hs_pow.h @@ -14,8 +14,15 @@ #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 diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c @@ -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 */ diff --git a/src/trunnel/hs/cell_introduce1.trunnel b/src/trunnel/hs/cell_introduce1.trunnel @@ -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;