fix bugs in compute_recommended_versions

svn:r6356
This commit is contained in:
Nick Mathewson 2006-04-10 08:02:56 +00:00
parent 53f7a1bb0c
commit 71f1a77371

View File

@ -2633,6 +2633,8 @@ compute_recommended_versions(time_t now, int client)
smartlist_split_string(versions, vers, ",", smartlist_split_string(versions, vers, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0); SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
sort_version_list(versions, 1); sort_version_list(versions, 1);
smartlist_add_all(combined, versions);
smartlist_free(versions);
}); });
sort_version_list(combined, 0); sort_version_list(combined, 0);
@ -2645,15 +2647,13 @@ compute_recommended_versions(time_t now, int client)
if (current && !strcmp(cp, current)) { if (current && !strcmp(cp, current)) {
++n_seen; ++n_seen;
} else { } else {
/* XXX Another case of requiring only half, not more than half -RD */ if (n_seen > n_recent/2 && current)
if (n_seen >= n_recent/2 && current)
smartlist_add(recommended, current); smartlist_add(recommended, current);
n_seen = 0; n_seen = 0;
current = cp; current = cp;
} }
}); });
/* XXX and here -RD */ if (n_seen > n_recent/2 && current)
if (n_seen >= n_recent/2 && current)
smartlist_add(recommended, current); smartlist_add(recommended, current);
result = smartlist_join_strings(recommended, ", ", 0, NULL); result = smartlist_join_strings(recommended, ", ", 0, NULL);
@ -2752,7 +2752,7 @@ routers_update_all_from_networkstatus(void)
char *rec = compute_recommended_versions(now, !is_server); char *rec = compute_recommended_versions(now, !is_server);
log_notice(LD_GENERAL, "This version of Tor (%s) is newer than any " log_notice(LD_GENERAL, "This version of Tor (%s) is newer than any "
"recommended version%s, according to %d/%d recent network " "recommended version%s, according to %d/%d recent network "
"statuses. Versions recommended by at least %d recent " "statuses. Versions recommended by more than %d recent "
"authorit%s are: %s", "authorit%s are: %s",
VERSION, VERSION,
consensus == VS_NEW_IN_SERIES ? " in its series" : "", consensus == VS_NEW_IN_SERIES ? " in its series" : "",