[openssl] OpenSSL_1_1_1-stable update
Richard Levitte
levitte at openssl.org
Thu Feb 27 00:24:11 UTC 2020
The branch OpenSSL_1_1_1-stable has been updated
via 605a0c709f4d50497a1c49ee117a0ec4bb956d58 (commit)
from 8d87aecfb2d15652fc4c2bb458b2379421305fca (commit)
- Log -----------------------------------------------------------------
commit 605a0c709f4d50497a1c49ee117a0ec4bb956d58
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Feb 24 14:56:26 2020 +0100
VMS: mitigate for the C++ compiler that doesn't understand certain pragmas
This only affects __DECC_INCLUDE_EPILOGUE.H and __DECC_INCLUDE_PROLOGUE.H,
which are used automatically by HP and VSI C/C++ compilers.
Reviewed-by: Tim Hudson <tjh at openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre at ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/11159)
-----------------------------------------------------------------------
Summary of changes:
CHANGES | 12 ++++++++++++
include/openssl/__DECC_INCLUDE_EPILOGUE.H | 10 ++++++++--
include/openssl/__DECC_INCLUDE_PROLOGUE.H | 12 +++++++++---
3 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/CHANGES b/CHANGES
index 9fb89d675c..7e348b078b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,18 @@
Changes between 1.1.1d and 1.1.1e [xx XXX xxxx]
+ *) [VMS only] The header files that the VMS compilers include automatically,
+ __DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H, use pragmas that
+ the C++ compiler doesn't understand. This is a shortcoming in the
+ compiler, but can be worked around with __cplusplus guards.
+
+ C++ applications that use OpenSSL libraries must be compiled using the
+ qualifier '/NAMES=(AS_IS,SHORTENED)' to be able to use all the OpenSSL
+ functions. Otherwise, only functions with symbols of less than 31
+ characters can be used, as the linker will not be able to successfully
+ resolve symbols with longer names.
+ [Richard Levitte]
+
*) X509 certificates signed using SHA1 are no longer allowed at security
level 1 and above.
In TLS/SSL the default security level is 1. It can be set either
diff --git a/include/openssl/__DECC_INCLUDE_EPILOGUE.H b/include/openssl/__DECC_INCLUDE_EPILOGUE.H
index c350018ad1..88dafd4d0f 100644
--- a/include/openssl/__DECC_INCLUDE_EPILOGUE.H
+++ b/include/openssl/__DECC_INCLUDE_EPILOGUE.H
@@ -8,9 +8,15 @@
*/
/*
- * This file is only used by HP C on VMS, and is included automatically
+ * This file is only used by HP C/C++ on VMS, and is included automatically
* after each header file from this directory
*/
+/*
+ * The C++ compiler doesn't understand these pragmas, even though it
+ * understands the corresponding command line qualifier.
+ */
+#ifndef __cplusplus
/* restore state. Must correspond to the save in __decc_include_prologue.h */
-#pragma names restore
+# pragma names restore
+#endif
diff --git a/include/openssl/__DECC_INCLUDE_PROLOGUE.H b/include/openssl/__DECC_INCLUDE_PROLOGUE.H
index 9a9c777f93..2459684b50 100644
--- a/include/openssl/__DECC_INCLUDE_PROLOGUE.H
+++ b/include/openssl/__DECC_INCLUDE_PROLOGUE.H
@@ -8,13 +8,19 @@
*/
/*
- * This file is only used by HP C on VMS, and is included automatically
+ * This file is only used by HP C/C++ on VMS, and is included automatically
* after each header file from this directory
*/
+/*
+ * The C++ compiler doesn't understand these pragmas, even though it
+ * understands the corresponding command line qualifier.
+ */
+#ifndef __cplusplus
/* save state */
-#pragma names save
+# pragma names save
/* have the compiler shorten symbols larger than 31 chars to 23 chars
* followed by a 8 hex char CRC
*/
-#pragma names as_is,shortened
+# pragma names as_is,shortened
+#endif
More information about the openssl-commits
mailing list