Browse Source

Repair the unit test behavior of my fix for 22508.

Apparently, the unit tests relied on being able to make ed->x509
link certs even when they hadn't set any server flags in the
options.  So instead of making "client" mean "never generate an
ed->x509 cert", we'll have it mean "it's okay not to generate an
ed->x509 cert".

(Going with a minimal fix here, since this is supposed to be a
stable version.)
Nick Mathewson 7 years ago
parent
commit
68c3df69de
1 changed files with 4 additions and 5 deletions
  1. 4 5
      src/or/routerkeys.c

+ 4 - 5
src/or/routerkeys.c

@@ -997,12 +997,11 @@ generate_ed_link_cert(const or_options_t *options, time_t now,
   const tor_x509_cert_t *link_ = NULL, *id = NULL;
   tor_cert_t *link_cert = NULL;
 
-  if (!server_mode(options)) {
-    /* No need to make an Ed25519->Link cert: we are a client */
-    return 0;
-  }
-
   if (tor_tls_get_my_certs(1, &link_, &id) < 0 || link_ == NULL) {
+    if (!server_mode(options)) {
+        /* No need to make an Ed25519->Link cert: we are a client */
+      return 0;
+    }
     log_warn(LD_OR, "Can't get my x509 link cert.");
     return -1;
   }