]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Fix loading PKCS12 files on Windows
authorLev Stipakov <lev@openvpn.net>
Wed, 6 Oct 2021 09:07:09 +0000 (12:07 +0300)
committerGert Doering <gert@greenie.muc.de>
Wed, 6 Oct 2021 09:50:37 +0000 (11:50 +0200)
Starting from 2.5.4 we have switched to MSVC builds,
including dependencies such as OpenSSL.

When we link with natively-built OpenSSL .DLLs
(not cross compiled with MinGW), we are expected to include
applink.c, which provides glue between OpenSSL BIO layer
and compiler run-time. This doesn't apply to ARM64.

Failure to do that results in "no OPENSSL_Applink" fatal error
when calling, for example, d2i_PKCS12_fp(), which we do when
loading PKCS12 files.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20211006090709.200-1-lstipakov@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg22920.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit af5de933a0633436e0fe00c42464f4a7ab5ac509)

src/openvpn/ssl_openssl.c

index 31d94f2bd6e5397029636c0eb016249c1ca21a7a..27fb66aa48c72c7e8c328dde1fcdb97fa87d3433 100644 (file)
 #include <openssl/ec.h>
 #endif
 
+#if defined(_MSC_VER) && !defined(_M_ARM64)
+#include <openssl/applink.c>
+#endif
+
 /*
  * Allocate space in SSL objects in which to store a struct tls_session
  * pointer back to parent.