]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Make return code external tls key match docs
authorJoost Rijneveld <joost@joostrijneveld.nl>
Wed, 28 Feb 2018 13:52:40 +0000 (14:52 +0100)
committerGert Doering <gert@greenie.muc.de>
Sun, 4 Mar 2018 09:52:44 +0000 (10:52 +0100)
In tls_ctx_use_external_private_key, the return codes were inverted
compared to what is documented in ssl_backend.h (and what can
reasonably be expected). Internally the return code is never checked,
so this did not directly result in any change of behavior.
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20180228135240.22945-1-joost@joostrijneveld.nl>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg16577.html

Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit 6bee1a1fc01f3d3ddf114b48e52e5b10d57033cb)

src/openvpn/ssl_mbedtls.c
src/openvpn/ssl_openssl.c

index 74b4726d377c22cdc6f93b217d5afac5ace306ed..3f579e1e8b8e022a4c26a01e255927ec0b686c98 100644 (file)
@@ -630,7 +630,7 @@ tls_ctx_use_external_private_key(struct tls_root_ctx *ctx,
 
     if (ctx->crt_chain == NULL)
     {
-        return 0;
+        return 1;
     }
 
     ALLOC_OBJ_CLEAR(ctx->external_key, struct external_context);
@@ -640,10 +640,10 @@ tls_ctx_use_external_private_key(struct tls_root_ctx *ctx,
     if (!mbed_ok(mbedtls_pk_setup_rsa_alt(ctx->priv_key, ctx->external_key,
                                           NULL, external_pkcs1_sign, external_key_len)))
     {
-        return 0;
+        return 1;
     }
 
-    return 1;
+    return 0;
 }
 #endif /* ifdef MANAGMENT_EXTERNAL_KEY */
 
index f23d2461c7a26fac802bea8304d07df94159449b..e57b6d2aa5fdaa2dfe1124199feabba42ca4bb9e 100644 (file)
@@ -1168,7 +1168,7 @@ tls_ctx_use_external_private_key(struct tls_root_ctx *ctx,
 
     X509_free(cert);
     RSA_free(rsa); /* doesn't necessarily free, just decrements refcount */
-    return 1;
+    return 0;
 
 err:
     if (cert)
@@ -1187,7 +1187,7 @@ err:
         }
     }
     crypto_msg(M_FATAL, "Cannot enable SSL external private key capability");
-    return 0;
+    return 1;
 }
 
 #endif /* ifdef MANAGMENT_EXTERNAL_KEY */