mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
More propagating of things that need to be was_router_added_t now.
svn:r17721
This commit is contained in:
+5
-4
@@ -584,8 +584,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
|
||||
const char *source,
|
||||
const char **msg)
|
||||
{
|
||||
int r=ROUTER_ADDED_NOTIFY_GENERATOR; /* highest possible return value. */
|
||||
int r_tmp;
|
||||
was_router_added_t r, r_tmp;
|
||||
const char *msg_out;
|
||||
smartlist_t *list;
|
||||
const char *s;
|
||||
@@ -596,6 +595,8 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
|
||||
int general = purpose == ROUTER_PURPOSE_GENERAL;
|
||||
tor_assert(msg);
|
||||
|
||||
r=ROUTER_ADDED_NOTIFY_GENERATOR; /*Least severe return value. */
|
||||
|
||||
format_iso_time(time_buf, now);
|
||||
if (tor_snprintf(annotation_buf, sizeof(annotation_buf),
|
||||
"@uploaded-at %s\n"
|
||||
@@ -644,8 +645,8 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
|
||||
if (! *msg) {
|
||||
if (!n_parsed) {
|
||||
*msg = "No descriptors found in your POST.";
|
||||
if (r > -1)
|
||||
r = -1;
|
||||
if (WRA_WAS_ADDED(r))
|
||||
r = ROUTER_WAS_NOT_NEW;
|
||||
} else {
|
||||
*msg = "(no message)";
|
||||
}
|
||||
|
||||
+7
-5
@@ -4375,10 +4375,11 @@ void router_set_status(const char *digest, int up);
|
||||
typedef enum was_router_added_t {
|
||||
ROUTER_ADDED_SUCCESSFULLY = 0,
|
||||
ROUTER_ADDED_NOTIFY_GENERATOR = 1,
|
||||
ROUTER_WAS_NOT_NEW = -1,
|
||||
ROUTER_NOT_IN_CONSENSUS = -2,
|
||||
ROUTER_NOT_IN_CONSENSUS_OR_NETWORKSTATUS = -3,
|
||||
ROUTER_AUTHDIR_REJECTS = -4,
|
||||
ROUTER_BAD_EI = -1,
|
||||
ROUTER_WAS_NOT_NEW = -2,
|
||||
ROUTER_NOT_IN_CONSENSUS = -3,
|
||||
ROUTER_NOT_IN_CONSENSUS_OR_NETWORKSTATUS = -4,
|
||||
ROUTER_AUTHDIR_REJECTS = -5,
|
||||
} was_router_added_t;
|
||||
|
||||
static int WRA_WAS_ADDED(was_router_added_t s);
|
||||
@@ -4405,7 +4406,8 @@ was_router_added_t router_add_to_routerlist(routerinfo_t *router,
|
||||
const char **msg,
|
||||
int from_cache,
|
||||
int from_fetch);
|
||||
int router_add_extrainfo_to_routerlist(extrainfo_t *ei, const char **msg,
|
||||
was_router_added_t router_add_extrainfo_to_routerlist(
|
||||
extrainfo_t *ei, const char **msg,
|
||||
int from_cache, int from_fetch);
|
||||
void routerlist_remove_old_routers(void);
|
||||
int router_load_single_router(const char *s, uint8_t purpose, int cache,
|
||||
|
||||
+8
-4
@@ -3069,13 +3069,14 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
|
||||
* as for router_add_to_routerlist(). Return true iff we actually inserted
|
||||
* it.
|
||||
*/
|
||||
int
|
||||
was_router_added_t
|
||||
router_add_extrainfo_to_routerlist(extrainfo_t *ei, const char **msg,
|
||||
int from_cache, int from_fetch)
|
||||
{
|
||||
int inserted;
|
||||
(void)from_fetch;
|
||||
if (msg) *msg = NULL;
|
||||
/*XXXX021 Do something with msg */
|
||||
|
||||
inserted = extrainfo_insert(router_get_routerlist(), ei);
|
||||
|
||||
@@ -3083,7 +3084,10 @@ router_add_extrainfo_to_routerlist(extrainfo_t *ei, const char **msg,
|
||||
signed_desc_append_to_journal(&ei->cache_info,
|
||||
&routerlist->extrainfo_store);
|
||||
|
||||
return inserted;
|
||||
if (inserted)
|
||||
return ROUTER_ADDED_SUCCESSFULLY;
|
||||
else
|
||||
return ROUTER_BAD_EI;
|
||||
}
|
||||
|
||||
/** Sorting helper: return <0, 0, or >0 depending on whether the
|
||||
@@ -3528,9 +3532,9 @@ router_load_extrainfo_from_string(const char *s, const char *eos,
|
||||
log_info(LD_DIR, "%d elements to add", smartlist_len(extrainfo_list));
|
||||
|
||||
SMARTLIST_FOREACH(extrainfo_list, extrainfo_t *, ei, {
|
||||
int added =
|
||||
was_router_added_t added =
|
||||
router_add_extrainfo_to_routerlist(ei, &msg, from_cache, !from_cache);
|
||||
if (added && requested_fingerprints) {
|
||||
if (WRA_WAS_ADDED(added) && requested_fingerprints) {
|
||||
char fp[HEX_DIGEST_LEN+1];
|
||||
base16_encode(fp, sizeof(fp), descriptor_digests ?
|
||||
ei->cache_info.signed_descriptor_digest :
|
||||
|
||||
Reference in New Issue
Block a user