Commit db81cdbb authored by Nick Mathewson's avatar Nick Mathewson 🐘
Browse files

Tweak the bug4438 fix a little: different check, better log

Instead of checking for 'rejected' and calling everything else okay,
let's check for 'outdated' and call everythign else a problem.  This
way we don't risk missing future errors so much.

When logging a message that _looks_ like an error message at info, we
should mention that it isn't really a problem.
parent 54520e49
Loading
Loading
Loading
Loading
+5 −4
Changes for src/or/router.c: 5 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -654,17 +654,18 @@ init_keys(void)
      }
      added = dirserv_add_descriptor(ri, &m, "self");
      if (!WRA_WAS_ADDED(added)) {
        if (WRA_WAS_REJECTED(added)) {
        if (!WRA_WAS_OUTDATED(added)) {
          log_err(LD_GENERAL, "Unable to add own descriptor to directory: %s",
                  m?m:"<unknown error>");
          return -1;
        } else {
          /* If the descriptor wasn't rejected, that's ok. This can happen
          /* If the descriptor was outdated, that's ok. This can happen
           * when some config options are toggled that affect workers, but
           * we don't really need new keys yet so the descriptor doesn't
           * change and the old one is still fresh. */
          log_info(LD_GENERAL, "Couldn't add own descriptor to directory: %s",
                   m?m:"unknown error>");
          log_info(LD_GENERAL, "Couldn't add own descriptor to directory "
                   "after key init: %s. This is usually not a problem.",
                   m?m:"<unknown error>");
        }
      }
    }