mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
Clean up some more fingerprint-checking logic
svn:r4954
This commit is contained in:
parent
587b513ec0
commit
d410c49965
@ -899,8 +899,12 @@ connection_dir_client_reached_eof(connection_t *conn)
|
|||||||
}
|
}
|
||||||
if (conn->requested_resource &&
|
if (conn->requested_resource &&
|
||||||
!strcmpstart(conn->requested_resource,"fp/")) {
|
!strcmpstart(conn->requested_resource,"fp/")) {
|
||||||
|
int n;
|
||||||
which = smartlist_create();
|
which = smartlist_create();
|
||||||
smartlist_split_string(which, conn->requested_resource+3, "+", 0, -1);
|
smartlist_split_string(which, conn->requested_resource+3, "+", 0, -1);
|
||||||
|
n = smartlist_len(which);
|
||||||
|
if (n && strlen(smartlist_get(which,n-1))==HEX_DIGEST_LEN+2)
|
||||||
|
((char*)smartlist_get(which,n-1))[HEX_DIGEST_LEN] = '\0';
|
||||||
}
|
}
|
||||||
cp = body;
|
cp = body;
|
||||||
while (*cp) {
|
while (*cp) {
|
||||||
|
@ -1247,7 +1247,9 @@ router_set_networkstatus(const char *s, time_t arrived_at,
|
|||||||
|
|
||||||
if (requested_fingerprints &&
|
if (requested_fingerprints &&
|
||||||
!smartlist_string_isin(requested_fingerprints, fp)) {
|
!smartlist_string_isin(requested_fingerprints, fp)) {
|
||||||
log_fn(LOG_WARN, "We received a network status with a fingerprint (%s) that we never requested. Dropping.", fp);
|
char *requested = smartlist_join_strings(requested_fingerprints," ",0,NULL);
|
||||||
|
log_fn(LOG_WARN, "We received a network status with a fingerprint (%s) that we never requested. (%s) Dropping.", fp, requested);
|
||||||
|
tor_free(requested);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1333,7 +1335,6 @@ update_networkstatus_cache_downloads(time_t now)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*XXXX Should these be configurable? NM*/
|
/*XXXX Should these be configurable? NM*/
|
||||||
/** How old (in seconds) can a network-status be before we stop believing it? */
|
/** How old (in seconds) can a network-status be before we stop believing it? */
|
||||||
#define NETWORKSTATUS_MAX_VALIDITY (48*60*60)
|
#define NETWORKSTATUS_MAX_VALIDITY (48*60*60)
|
||||||
@ -1405,8 +1406,9 @@ update_networkstatus_client_downloads(time_t now)
|
|||||||
ds = smartlist_get(trusted_dir_servers, i);
|
ds = smartlist_get(trusted_dir_servers, i);
|
||||||
base16_encode(cp, HEX_DIGEST_LEN+1, ds->digest, DIGEST_LEN);
|
base16_encode(cp, HEX_DIGEST_LEN+1, ds->digest, DIGEST_LEN);
|
||||||
cp += HEX_DIGEST_LEN;
|
cp += HEX_DIGEST_LEN;
|
||||||
*cp++ = '+';
|
|
||||||
--needed;
|
--needed;
|
||||||
|
if (needed)
|
||||||
|
*cp++ = '+';
|
||||||
}
|
}
|
||||||
memcpy(cp, ".z", 3);
|
memcpy(cp, ".z", 3);
|
||||||
directory_get_from_dirserver(DIR_PURPOSE_FETCH_NETWORKSTATUS, resource, 1);
|
directory_get_from_dirserver(DIR_PURPOSE_FETCH_NETWORKSTATUS, resource, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user