]> granicus.if.org Git - apache/commitdiff
Followup to r1544774: do not ignore failures from ssl_server_import_{cert,key}
authorKaspar Brand <kbrand@apache.org>
Sat, 23 Nov 2013 15:01:08 +0000 (15:01 +0000)
committerKaspar Brand <kbrand@apache.org>
Sat, 23 Nov 2013 15:01:08 +0000 (15:01 +0000)
in ssl_init_server_certs

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1544812 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_init.c

index c3ceb2e7a9ce82e3b5dd15fc920f9da0a0cd488e..6cdf4de50021ac06b7a4cff1560f887072a27e6e 100644 (file)
@@ -886,7 +886,7 @@ static apr_status_t ssl_server_import_cert(server_rec *s,
     X509 *cert;
 
     if (!(asn1 = ssl_asn1_table_get(mc->tPublicCert, id))) {
-        return APR_EGENERAL;
+        return APR_NOTFOUND;
     }
 
     ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02232)
@@ -941,7 +941,7 @@ static apr_status_t ssl_server_import_key(server_rec *s,
     pkey_type = (idx == SSL_AIDX_RSA) ? EVP_PKEY_RSA : EVP_PKEY_DSA;
 
     if (!(asn1 = ssl_asn1_table_get(mc->tPrivateKey, id))) {
-        return APR_EGENERAL;
+        return APR_NOTFOUND;
     }
 
     ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02236)
@@ -1058,9 +1058,18 @@ static apr_status_t ssl_init_server_certs(server_rec *s,
 #endif
 
     have_rsa = ssl_server_import_cert(s, mctx, rsa_id, SSL_AIDX_RSA);
+    if (have_rsa != APR_SUCCESS && have_rsa != APR_NOTFOUND) {
+        return have_rsa;
+    }
     have_dsa = ssl_server_import_cert(s, mctx, dsa_id, SSL_AIDX_DSA);
+    if (have_dsa != APR_SUCCESS && have_dsa != APR_NOTFOUND) {
+        return have_dsa;
+    }
 #ifdef HAVE_ECC
     have_ecc = ssl_server_import_cert(s, mctx, ecc_id, SSL_AIDX_ECC);
+    if (have_ecc != APR_SUCCESS && have_ecc != APR_NOTFOUND) {
+        return have_ecc;
+    }
 #endif
 
     if ((have_rsa != APR_SUCCESS) && (have_dsa != APR_SUCCESS)
@@ -1079,9 +1088,18 @@ static apr_status_t ssl_init_server_certs(server_rec *s,
     }
 
     have_rsa = ssl_server_import_key(s, mctx, rsa_id, SSL_AIDX_RSA);
+    if (have_rsa != APR_SUCCESS && have_rsa != APR_NOTFOUND) {
+        return have_rsa;
+    }
     have_dsa = ssl_server_import_key(s, mctx, dsa_id, SSL_AIDX_DSA);
+    if (have_dsa != APR_SUCCESS && have_dsa != APR_NOTFOUND) {
+        return have_dsa;
+    }
 #ifdef HAVE_ECC
     have_ecc = ssl_server_import_key(s, mctx, ecc_id, SSL_AIDX_ECC);
+    if (have_ecc != APR_SUCCESS && have_ecc != APR_NOTFOUND) {
+        return have_ecc;
+    }
 #endif
 
     if ((have_rsa != APR_SUCCESS) && (have_dsa != APR_SUCCESS)