mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Merge branch 'tor-github/pr/1083'
This commit is contained in:
commit
e9d99d2e15
3
changes/bug30780
Normal file
3
changes/bug30780
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor bugfixes (directory authorities):
|
||||
- Return a distinct status when formatting annotations fails.
|
||||
Fixes bug 30780; bugfix on 0.2.0.8-alpha.
|
@ -216,7 +216,7 @@ problem function-size /src/feature/nodelist/node_select.c:router_pick_directory_
|
||||
problem function-size /src/feature/nodelist/node_select.c:compute_weighted_bandwidths() 206
|
||||
problem function-size /src/feature/nodelist/node_select.c:router_pick_trusteddirserver_impl() 114
|
||||
problem function-size /src/feature/nodelist/nodelist.c:compute_frac_paths_available() 193
|
||||
problem file-size /src/feature/nodelist/routerlist.c 3238
|
||||
problem file-size /src/feature/nodelist/routerlist.c 3239
|
||||
problem function-size /src/feature/nodelist/routerlist.c:router_rebuild_store() 148
|
||||
problem function-size /src/feature/nodelist/routerlist.c:router_add_to_routerlist() 169
|
||||
problem function-size /src/feature/nodelist/routerlist.c:routerlist_remove_old_routers() 121
|
||||
|
@ -216,9 +216,14 @@ dirserv_load_fingerprint_file(void)
|
||||
|
||||
#define DISABLE_DISABLING_ED25519
|
||||
|
||||
/** Check whether <b>router</b> has a nickname/identity key combination that
|
||||
* we recognize from the fingerprint list, or an IP we automatically act on
|
||||
* according to our configuration. Return the appropriate router status.
|
||||
/** Check whether <b>router</b> has:
|
||||
* - a nickname/identity key combination that we recognize from the fingerprint
|
||||
* list,
|
||||
* - an IP we automatically act on according to our configuration,
|
||||
* - an appropriate version, and
|
||||
* - matching pinned keys.
|
||||
*
|
||||
* Return the appropriate router status.
|
||||
*
|
||||
* If the status is 'FP_REJECT' and <b>msg</b> is provided, set
|
||||
* *<b>msg</b> to an explanation of why. */
|
||||
@ -236,7 +241,7 @@ dirserv_router_get_status(const routerinfo_t *router, const char **msg,
|
||||
return FP_REJECT;
|
||||
}
|
||||
|
||||
/* Check for the more usual versions to reject a router first. */
|
||||
/* Check for the more common reasons to reject a router first. */
|
||||
const uint32_t r = dirserv_get_status_impl(d, router->nickname,
|
||||
router->addr, router->or_port,
|
||||
router->platform, msg, severity);
|
||||
@ -551,9 +556,7 @@ dirserv_add_multiple_descriptors(const char *desc, size_t desclen,
|
||||
!general ? router_purpose_to_string(purpose) : "",
|
||||
!general ? "\n" : "")<0) {
|
||||
*msg = "Couldn't format annotations";
|
||||
/* XXX Not cool: we return -1 below, but (was_router_added_t)-1 is
|
||||
* ROUTER_BAD_EI, which isn't what's gone wrong here. :( */
|
||||
return -1;
|
||||
return ROUTER_AUTHDIR_BUG_ANNOTATIONS;
|
||||
}
|
||||
|
||||
s = desc;
|
||||
|
@ -1459,12 +1459,13 @@ router_descriptor_is_older_than,(const routerinfo_t *router, int seconds))
|
||||
}
|
||||
|
||||
/** Add <b>router</b> to the routerlist, if we don't already have it. Replace
|
||||
* older entries (if any) with the same key. Note: Callers should not hold
|
||||
* their pointers to <b>router</b> if this function fails; <b>router</b>
|
||||
* will either be inserted into the routerlist or freed. Similarly, even
|
||||
* if this call succeeds, they should not hold their pointers to
|
||||
* <b>router</b> after subsequent calls with other routerinfo's -- they
|
||||
* might cause the original routerinfo to get freed.
|
||||
* older entries (if any) with the same key.
|
||||
*
|
||||
* Note: Callers should not hold their pointers to <b>router</b> if this
|
||||
* function fails; <b>router</b> will either be inserted into the routerlist or
|
||||
* freed. Similarly, even if this call succeeds, they should not hold their
|
||||
* pointers to <b>router</b> after subsequent calls with other routerinfo's --
|
||||
* they might cause the original routerinfo to get freed.
|
||||
*
|
||||
* Returns the status for the operation. Might set *<b>msg</b> if it wants
|
||||
* the poster of the router to know something.
|
||||
|
@ -37,9 +37,12 @@ typedef enum was_router_added_t {
|
||||
ROUTER_WAS_NOT_WANTED = -6,
|
||||
/* Router descriptor was rejected because it was older than
|
||||
* OLD_ROUTER_DESC_MAX_AGE. */
|
||||
ROUTER_WAS_TOO_OLD = -7, /* note contrast with 'NOT_NEW' */
|
||||
/* DOCDOC */
|
||||
ROUTER_CERTS_EXPIRED = -8
|
||||
ROUTER_WAS_TOO_OLD = -7, /* note contrast with 'ROUTER_IS_ALREADY_KNOWN' */
|
||||
/* Some certs on this router are expired. */
|
||||
ROUTER_CERTS_EXPIRED = -8,
|
||||
/* We couldn't format the annotations for this router. This is a directory
|
||||
* authority bug. */
|
||||
ROUTER_AUTHDIR_BUG_ANNOTATIONS = -10
|
||||
} was_router_added_t;
|
||||
|
||||
/** How long do we avoid using a directory server after it's given us a 503? */
|
||||
|
Loading…
Reference in New Issue
Block a user