From: Doug MacEachern Date: Thu, 28 Mar 2002 02:09:58 +0000 (+0000) Subject: fix logic from last commit, need to always try importing _both_ rsa X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d277057807098bca6e98554150d3e158cc7eddaf;p=thirdparty%2Fapache%2Fhttpd.git fix logic from last commit, need to always try importing _both_ rsa and dsa git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@94256 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/ssl_engine_init.c b/ssl_engine_init.c index 228fd6370e5..ad0a156c89c 100644 --- a/ssl_engine_init.c +++ b/ssl_engine_init.c @@ -807,6 +807,7 @@ void ssl_init_ConfigureServer(server_rec *s, EVP_PKEY *pkey; SSL_CTX *ctx; int i; + int have_rsa, have_dsa; ssl_init_check_server(s, p, ptemp, sc); @@ -836,9 +837,10 @@ void ssl_init_ConfigureServer(server_rec *s, rsa_id = ssl_asn1_table_keyfmt(ptemp, vhost_id, SSL_AIDX_RSA); dsa_id = ssl_asn1_table_keyfmt(ptemp, vhost_id, SSL_AIDX_DSA); - if (!(ssl_server_import_cert(s, sc, rsa_id, SSL_AIDX_RSA) || - ssl_server_import_cert(s, sc, dsa_id, SSL_AIDX_DSA))) - { + have_rsa = ssl_server_import_cert(s, sc, rsa_id, SSL_AIDX_RSA); + have_dsa = ssl_server_import_cert(s, sc, dsa_id, SSL_AIDX_DSA); + + if (!(have_rsa || have_dsa)) { ssl_log(s, SSL_LOG_ERROR|SSL_INIT, "Oops, no RSA or DSA server certificate found?!"); ssl_log(s, SSL_LOG_ERROR|SSL_INIT, @@ -851,9 +853,10 @@ void ssl_init_ConfigureServer(server_rec *s, ssl_check_public_cert(s, ptemp, sc->pPublicCert[i], i); } - if (!(ssl_server_import_key(s, sc, rsa_id, SSL_AIDX_RSA) || - ssl_server_import_key(s, sc, dsa_id, SSL_AIDX_DSA))) - { + have_rsa = ssl_server_import_key(s, sc, rsa_id, SSL_AIDX_RSA); + have_dsa = ssl_server_import_key(s, sc, dsa_id, SSL_AIDX_DSA); + + if (!(have_rsa || have_dsa)) { ssl_log(s, SSL_LOG_ERROR|SSL_INIT, "Oops, no RSA or DSA server private key found?!"); ssl_die();