Don't warn about being unverified if you're not in the running-routers

list at all.


svn:r2193
This commit is contained in:
Roger Dingledine 2004-08-07 09:01:56 +00:00
parent 44ff309c26
commit fb4b804c2c
3 changed files with 15 additions and 12 deletions

View File

@ -1400,9 +1400,9 @@ int router_exit_policy_rejects_all(routerinfo_t *router);
void running_routers_free(running_routers_t *rr);
void routerlist_update_from_runningrouters(routerlist_t *list,
running_routers_t *rr);
void router_update_status_from_smartlist(routerinfo_t *r,
time_t list_time,
smartlist_t *running_list);
int router_update_status_from_smartlist(routerinfo_t *r,
time_t list_time,
smartlist_t *running_list);
/********************************* routerparse.c ************************/

View File

@ -825,10 +825,12 @@ void routerlist_update_from_runningrouters(routerlist_t *list,
* <li> $<b>hexdigest</b> -- router is running and unverified.
* <li> !$<b>hexdigest</b> -- router is not-running and unverified.
* </ol>
*
* Return 1 if we found router in running_list, else return 0.
*/
void router_update_status_from_smartlist(routerinfo_t *router,
time_t list_time,
smartlist_t *running_list)
int router_update_status_from_smartlist(routerinfo_t *router,
time_t list_time,
smartlist_t *running_list)
{
int n_names, i, running, approved;
const char *name;
@ -863,7 +865,7 @@ void router_update_status_from_smartlist(routerinfo_t *router,
router->is_running = 1;
}
router->is_verified = (name[0] != '$');
return;
return 1;
}
} else { /* *name == '!' */
name++;
@ -873,10 +875,11 @@ void router_update_status_from_smartlist(routerinfo_t *router,
router->is_running = 0;
}
router->is_verified = (name[0] != '$');
return;
return 1;
}
}
}
return 0;
}
/*

View File

@ -393,7 +393,7 @@ router_parse_routerlist_from_directory(const char *str,
for (i=0; i<tok->n_args; ++i) {
smartlist_add(good_nickname_list, tok->args[i]);
}
tok->n_args = 0; /* Don't free the strings in good_nickname_lst yet. */
tok->n_args = 0; /* Don't free the strings in good_nickname_list yet. */
/* Read the router list from s, advancing s up past the end of the last
* router. */
@ -416,9 +416,9 @@ router_parse_routerlist_from_directory(const char *str,
static int have_warned_about_unverified_status = 0;
routerinfo_t *me = router_get_my_routerinfo();
if(me) {
router_update_status_from_smartlist(me, published_on,
good_nickname_list);
if(me->is_verified == 0 && !have_warned_about_unverified_status) {
if(router_update_status_from_smartlist(me, published_on,
good_nickname_list)==1 &&
me->is_verified == 0 && !have_warned_about_unverified_status) {
log_fn(LOG_WARN,"Dirserver %s lists your server as unverified. Please consider sending your identity fingerprint to the tor-ops.", dirnickname);
have_warned_about_unverified_status = 1;
}