mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Merge remote-tracking branch 'rl1987/bug13644'
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
o Code simplifications and refactoring:
|
||||
- Document all members of was_router_added_t enum and rename
|
||||
ROUTER_WAS_NOT_NEW to ROUTER_IS_ALREADY_KNOWN to make it less
|
||||
confusable with ROUTER_WAS_TOO_OLD. Fixes issue 13644.
|
||||
+3
-3
@@ -512,7 +512,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
|
||||
if (!n_parsed) {
|
||||
*msg = "No descriptors found in your POST.";
|
||||
if (WRA_WAS_ADDED(r))
|
||||
r = ROUTER_WAS_NOT_NEW;
|
||||
r = ROUTER_IS_ALREADY_KNOWN;
|
||||
} else {
|
||||
*msg = "(no message)";
|
||||
}
|
||||
@@ -574,7 +574,7 @@ dirserv_add_descriptor(routerinfo_t *ri, const char **msg, const char *source)
|
||||
ri->cache_info.signed_descriptor_body,
|
||||
ri->cache_info.signed_descriptor_len, *msg);
|
||||
routerinfo_free(ri);
|
||||
return ROUTER_WAS_NOT_NEW;
|
||||
return ROUTER_IS_ALREADY_KNOWN;
|
||||
}
|
||||
|
||||
/* Make a copy of desc, since router_add_to_routerlist might free
|
||||
@@ -646,7 +646,7 @@ dirserv_add_extrainfo(extrainfo_t *ei, const char **msg)
|
||||
|
||||
if ((r = routerinfo_incompatible_with_extrainfo(ri, ei, NULL, msg))) {
|
||||
extrainfo_free(ei);
|
||||
return r < 0 ? ROUTER_WAS_NOT_NEW : ROUTER_BAD_EI;
|
||||
return r < 0 ? ROUTER_IS_ALREADY_KNOWN : ROUTER_BAD_EI;
|
||||
}
|
||||
router_add_extrainfo_to_routerlist(ei, msg, 0, 0);
|
||||
return ROUTER_ADDED_SUCCESSFULLY;
|
||||
|
||||
+17
-1
@@ -5003,14 +5003,30 @@ typedef enum {
|
||||
|
||||
/** Return value for router_add_to_routerlist() and dirserv_add_descriptor() */
|
||||
typedef enum was_router_added_t {
|
||||
/* Router was added successfully. */
|
||||
ROUTER_ADDED_SUCCESSFULLY = 1,
|
||||
/* Router descriptor was added with warnings to submitter. */
|
||||
ROUTER_ADDED_NOTIFY_GENERATOR = 0,
|
||||
/* Extrainfo document was rejected because no corresponding router
|
||||
* descriptor was found OR router descriptor was rejected because
|
||||
* it was incompatible with its extrainfo document. */
|
||||
ROUTER_BAD_EI = -1,
|
||||
ROUTER_WAS_NOT_NEW = -2,
|
||||
/* Router descriptor was rejected because it is already known. */
|
||||
ROUTER_IS_ALREADY_KNOWN = -2,
|
||||
/* General purpose router was rejected, because it was not listed
|
||||
* in consensus. */
|
||||
ROUTER_NOT_IN_CONSENSUS = -3,
|
||||
/* Router was neither in directory consensus nor in any of
|
||||
* networkstatus documents. Caching it to access later.
|
||||
* (Applies to fetched descriptors only.) */
|
||||
ROUTER_NOT_IN_CONSENSUS_OR_NETWORKSTATUS = -4,
|
||||
/* Router was rejected by directory authority. */
|
||||
ROUTER_AUTHDIR_REJECTS = -5,
|
||||
/* Bridge descriptor was rejected because such bridge was not one
|
||||
* of the bridges we have listed in our configuration. */
|
||||
ROUTER_WAS_NOT_WANTED = -6,
|
||||
/* Router descriptor was rejected because it was older than
|
||||
* OLD_ROUTER_DESC_MAX_AGE. */
|
||||
ROUTER_WAS_TOO_OLD = -7,
|
||||
} was_router_added_t;
|
||||
|
||||
|
||||
+2
-2
@@ -3382,7 +3382,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
|
||||
router_describe(router));
|
||||
*msg = "Router descriptor was not new.";
|
||||
routerinfo_free(router);
|
||||
return ROUTER_WAS_NOT_NEW;
|
||||
return ROUTER_IS_ALREADY_KNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3467,7 +3467,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
|
||||
&routerlist->desc_store);
|
||||
routerlist_insert_old(routerlist, router);
|
||||
*msg = "Router descriptor was not new.";
|
||||
return ROUTER_WAS_NOT_NEW;
|
||||
return ROUTER_IS_ALREADY_KNOWN;
|
||||
} else {
|
||||
/* Same key, and either new, or listed in the consensus. */
|
||||
log_debug(LD_DIR, "Replacing entry for router %s",
|
||||
|
||||
+1
-1
@@ -118,7 +118,7 @@ WRA_WAS_ADDED(was_router_added_t s) {
|
||||
static INLINE int WRA_WAS_OUTDATED(was_router_added_t s)
|
||||
{
|
||||
return (s == ROUTER_WAS_TOO_OLD ||
|
||||
s == ROUTER_WAS_NOT_NEW ||
|
||||
s == ROUTER_IS_ALREADY_KNOWN ||
|
||||
s == ROUTER_NOT_IN_CONSENSUS ||
|
||||
s == ROUTER_NOT_IN_CONSENSUS_OR_NETWORKSTATUS);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user