From 9af33ef39c7a33341619f4ac2a3889be7e37be08 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Tue, 3 Jan 2006 10:42:20 +0000 Subject: [PATCH] when we choose not to use a server descriptor from our cache, don't log it so loudly. svn:r5713 --- src/or/dirserv.c | 19 ++++++++++++------- src/or/or.h | 4 ++-- src/or/routerlist.c | 2 +- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 5b119deffb..d95fdd64dc 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -418,17 +418,21 @@ dirserv_router_has_valid_address(routerinfo_t *ri) } /** Check whether we, as a directory server, want to accept ri. If so, - * return 0, and set its is_valid,named,running fields. Otherwise, return -1. + * set its is_valid,named,running fields and return 0. Otherwise, return -1. * * If the router is rejected, set *msg to an explanation of why. + * + * If complain then explain at log-level 'notice' why we refused + * a descriptor; else explain at log-level 'info'. */ int -authdir_wants_to_reject_router(routerinfo_t *ri, - const char **msg) +authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg, + int complain) { /* Okay. Now check whether the fingerprint is recognized. */ router_status_t status = dirserv_router_get_status(ri, msg); time_t now; + int severity = complain ? LOG_NOTICE : LOG_INFO; tor_assert(msg); if (status == FP_REJECT) return -1; /* msg is already set. */ @@ -436,8 +440,8 @@ authdir_wants_to_reject_router(routerinfo_t *ri, /* Is there too much clock skew? */ now = time(NULL); if (ri->cache_info.published_on > now+ROUTER_ALLOW_SKEW) { - notice(LD_DIRSERV, "Publication time for nickname '%s' is too far " - "(%d minutes) in the future; possible clock skew. Not adding " + log_fn(severity, LD_DIRSERV, "Publication time for nickname '%s' is too " + "far (%d minutes) in the future; possible clock skew. Not adding " "(ContactInfo '%s', platform '%s').", ri->nickname, (int)((ri->cache_info.published_on-now)/60), ri->contact_info ? ri->contact_info : "", @@ -447,7 +451,7 @@ authdir_wants_to_reject_router(routerinfo_t *ri, return -1; } if (ri->cache_info.published_on < now-ROUTER_MAX_AGE) { - notice(LD_DIRSERV, + log_fn(severity, LD_DIRSERV, "Publication time for router with nickname '%s' is too far " "(%d minutes) in the past. Not adding (ContactInfo '%s', " "platform '%s').", @@ -459,7 +463,8 @@ authdir_wants_to_reject_router(routerinfo_t *ri, return -1; } if (dirserv_router_has_valid_address(ri) < 0) { - notice(LD_DIRSERV, "Router with nickname '%s' has invalid address '%s'. " + log_fn(severity, LD_DIRSERV, + "Router with nickname '%s' has invalid address '%s'. " "Not adding (ContactInfo '%s', platform '%s').", ri->nickname, ri->address, ri->contact_info ? ri->contact_info : "", diff --git a/src/or/or.h b/src/or/or.h index 8aa3c6e335..06b515b73d 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -1893,8 +1893,8 @@ void dirserv_orconn_tls_done(const char *address, const char *digest_rcvd, const char *nickname, int as_advertised); -int authdir_wants_to_reject_router(routerinfo_t *ri, - const char **msg); +int authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg, + int complain); int dirserv_would_reject_router(routerstatus_t *rs); void dirserv_free_all(void); diff --git a/src/or/routerlist.c b/src/or/routerlist.c index daf07a11fe..7d4d563006 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -1505,7 +1505,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg, routerlist_remove_old_routers(); if (authdir) { - if (authdir_wants_to_reject_router(router, msg)) { + if (authdir_wants_to_reject_router(router, msg, !from_cache)) { routerinfo_free(router); return -2; }