Commit 98a376fa authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

More propagating of things that need to be was_router_added_t now.

svn:r17721
parent df22dcb6
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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 :