when we choose not to use a server descriptor from our cache, don't

log it so loudly.


svn:r5713
This commit is contained in:
Roger Dingledine 2006-01-03 10:42:20 +00:00
parent 6b63d9f706
commit 9af33ef39c
3 changed files with 15 additions and 10 deletions

View File

@ -418,17 +418,21 @@ dirserv_router_has_valid_address(routerinfo_t *ri)
} }
/** Check whether we, as a directory server, want to accept <b>ri</b>. If so, /** Check whether we, as a directory server, want to accept <b>ri</b>. 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 *<b>msg</b> to an explanation of why. * If the router is rejected, set *<b>msg</b> to an explanation of why.
*
* If <b>complain</b> then explain at log-level 'notice' why we refused
* a descriptor; else explain at log-level 'info'.
*/ */
int int
authdir_wants_to_reject_router(routerinfo_t *ri, authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg,
const char **msg) int complain)
{ {
/* Okay. Now check whether the fingerprint is recognized. */ /* Okay. Now check whether the fingerprint is recognized. */
router_status_t status = dirserv_router_get_status(ri, msg); router_status_t status = dirserv_router_get_status(ri, msg);
time_t now; time_t now;
int severity = complain ? LOG_NOTICE : LOG_INFO;
tor_assert(msg); tor_assert(msg);
if (status == FP_REJECT) if (status == FP_REJECT)
return -1; /* msg is already set. */ return -1; /* msg is already set. */
@ -436,8 +440,8 @@ authdir_wants_to_reject_router(routerinfo_t *ri,
/* Is there too much clock skew? */ /* Is there too much clock skew? */
now = time(NULL); now = time(NULL);
if (ri->cache_info.published_on > now+ROUTER_ALLOW_SKEW) { if (ri->cache_info.published_on > now+ROUTER_ALLOW_SKEW) {
notice(LD_DIRSERV, "Publication time for nickname '%s' is too far " log_fn(severity, LD_DIRSERV, "Publication time for nickname '%s' is too "
"(%d minutes) in the future; possible clock skew. Not adding " "far (%d minutes) in the future; possible clock skew. Not adding "
"(ContactInfo '%s', platform '%s').", "(ContactInfo '%s', platform '%s').",
ri->nickname, (int)((ri->cache_info.published_on-now)/60), ri->nickname, (int)((ri->cache_info.published_on-now)/60),
ri->contact_info ? ri->contact_info : "", ri->contact_info ? ri->contact_info : "",
@ -447,7 +451,7 @@ authdir_wants_to_reject_router(routerinfo_t *ri,
return -1; return -1;
} }
if (ri->cache_info.published_on < now-ROUTER_MAX_AGE) { 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 " "Publication time for router with nickname '%s' is too far "
"(%d minutes) in the past. Not adding (ContactInfo '%s', " "(%d minutes) in the past. Not adding (ContactInfo '%s', "
"platform '%s').", "platform '%s').",
@ -459,7 +463,8 @@ authdir_wants_to_reject_router(routerinfo_t *ri,
return -1; return -1;
} }
if (dirserv_router_has_valid_address(ri) < 0) { 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').", "Not adding (ContactInfo '%s', platform '%s').",
ri->nickname, ri->address, ri->nickname, ri->address,
ri->contact_info ? ri->contact_info : "", ri->contact_info ? ri->contact_info : "",

View File

@ -1893,8 +1893,8 @@ void dirserv_orconn_tls_done(const char *address,
const char *digest_rcvd, const char *digest_rcvd,
const char *nickname, const char *nickname,
int as_advertised); int as_advertised);
int authdir_wants_to_reject_router(routerinfo_t *ri, int authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg,
const char **msg); int complain);
int dirserv_would_reject_router(routerstatus_t *rs); int dirserv_would_reject_router(routerstatus_t *rs);
void dirserv_free_all(void); void dirserv_free_all(void);

View File

@ -1505,7 +1505,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
routerlist_remove_old_routers(); routerlist_remove_old_routers();
if (authdir) { if (authdir) {
if (authdir_wants_to_reject_router(router, msg)) { if (authdir_wants_to_reject_router(router, msg, !from_cache)) {
routerinfo_free(router); routerinfo_free(router);
return -2; return -2;
} }