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.)
This commit is contained in:
Nick Mathewson 2017-06-06 11:32:01 -04:00
parent 4ed0f0d62f
commit 68c3df69de

View File

@ -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; const tor_x509_cert_t *link_ = NULL, *id = NULL;
tor_cert_t *link_cert = 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 (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."); log_warn(LD_OR, "Can't get my x509 link cert.");
return -1; return -1;
} }