Ensure symbols don't get deprecated too early
authorRichard Levitte <levitte@openssl.org>
Tue, 31 Jul 2018 05:19:06 +0000 (07:19 +0200)
committerRichard Levitte <levitte@openssl.org>
Tue, 31 Jul 2018 19:50:14 +0000 (21:50 +0200)
There are symbols we've marked for deprecation in OpenSSL 1.2.0.  We
must ensure that they don't actually become deprecated before that.

Fixes #6814

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/6824)

include/openssl/opensslconf.h.in

index b793d482c7eec9783fa714bc6c12313d7f8494c1..bc98cad51a64c23de1d81d932c2839dbe491072e 100644 (file)
@@ -9,6 +9,8 @@
  * https://www.openssl.org/source/license.html
  */
 
+#include <openssl/opensslv.h>
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
@@ -97,7 +99,13 @@ extern "C" {
 # define OPENSSL_API_COMPAT OPENSSL_MIN_API
 #endif
 
-#if OPENSSL_API_COMPAT < 0x10200000L
+/*
+ * Do not deprecate things to be deprecated in version 1.2.0 before the
+ * OpenSSL version number matches.
+ */
+#if OPENSSL_VERSION_NUMBER < 0x10200000L
+# define DEPRECATEDIN_1_2_0(f)   f;
+#elif OPENSSL_API_COMPAT < 0x10200000L
 # define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
 #else
 # define DEPRECATEDIN_1_2_0(f)