Browse Source

Adjust maximum skew and age for rendezvous descriptors: adjust code to make skew add to age.

svn:r3995
Nick Mathewson 19 years ago
parent
commit
11d20d78a0
1 changed files with 4 additions and 4 deletions
  1. 4 4
      src/or/rendcommon.c

+ 4 - 4
src/or/rendcommon.c

@@ -156,8 +156,8 @@ int rend_get_service_id(crypto_pk_env_t *pk, char *out)
 
 /* ==== Rendezvous service descriptor cache. */
 
-#define REND_CACHE_MAX_AGE (24*60*60)
-#define REND_CACHE_MAX_SKEW (90*60)
+#define REND_CACHE_MAX_AGE (48*60*60)
+#define REND_CACHE_MAX_SKEW (24*60*60)
 
 /** Map from service id (as generated by rend_get_service_id) to
  * rend_cache_entry_t. */
@@ -195,7 +195,7 @@ void rend_cache_clean(void)
   void *val;
   rend_cache_entry_t *ent;
   time_t cutoff;
-  cutoff = time(NULL) - REND_CACHE_MAX_AGE;
+  cutoff = time(NULL) - REND_CACHE_MAX_AGE - REND_CACHE_MAX_SKEW;
   for (iter = strmap_iter_init(rend_cache); !strmap_iter_done(iter); ) {
     strmap_iter_get(iter, &key, &val);
     ent = (rend_cache_entry_t*)val;
@@ -279,7 +279,7 @@ int rend_cache_store(const char *desc, size_t desc_len)
     return -1;
   }
   now = time(NULL);
-  if (parsed->timestamp < now-REND_CACHE_MAX_AGE) {
+  if (parsed->timestamp < now-REND_CACHE_MAX_AGE-REND_CACHE_MAX_SKEW) {
     log_fn(LOG_WARN,"Service descriptor %s is too old", query);
     rend_service_descriptor_free(parsed);
     return -1;