#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
} 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. */
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 */
const TRUNNEL_EXT_TYPE_POW = 0x02;
/*
- * HRPR: PoW Solution Extension. Proposal 327.
+ * PoW Solution Extension. Proposal 327.
*/
const TRUNNEL_POW_NONCE_LEN = 16;