Fix no-dh
authorMatt Caswell <matt@openssl.org>
Thu, 6 Feb 2020 15:30:24 +0000 (15:30 +0000)
committerMatt Caswell <matt@openssl.org>
Fri, 7 Feb 2020 23:27:23 +0000 (23:27 +0000)
Don't use DH specific macros that might need to be used in a no-dh build.

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/11030)

include/internal/ffc.h
include/openssl/dh.h

index 75df3a1ffd38d4f7e20725f9899559b9a0fa4042..67282fd8078d70861bf57cd3ff8a079ac6d6f894 100644 (file)
 # define FFC_PARAMS_VALIDATE_G   0x02
 # define FFC_PARAMS_VALIDATE_ALL (FFC_PARAMS_VALIDATE_PQ | FFC_PARAMS_VALIDATE_G)
 
-# define FFC_CHECK_P_NOT_PRIME                DH_CHECK_P_NOT_PRIME
-# define FFC_CHECK_P_NOT_SAFE_PRIME           DH_CHECK_P_NOT_SAFE_PRIME
-# define FFC_CHECK_UNKNOWN_GENERATOR          DH_UNABLE_TO_CHECK_GENERATOR
-# define FFC_CHECK_NOT_SUITABLE_GENERATOR     DH_NOT_SUITABLE_GENERATOR
-# define FFC_CHECK_Q_NOT_PRIME                DH_CHECK_Q_NOT_PRIME
-# define FFC_CHECK_INVALID_Q_VALUE            DH_CHECK_INVALID_Q_VALUE
-# define FFC_CHECK_INVALID_J_VALUE            DH_CHECK_INVALID_J_VALUE
+/*
+ * NB: These values must align with the equivalently named macros in
+ * openssl/dh.h. We cannot use those macros here in case DH has been disabled.
+ */
+# define FFC_CHECK_P_NOT_PRIME                0x00001
+# define FFC_CHECK_P_NOT_SAFE_PRIME           0x00002
+# define FFC_CHECK_UNKNOWN_GENERATOR          0x00004
+# define FFC_CHECK_NOT_SUITABLE_GENERATOR     0x00008
+# define FFC_CHECK_Q_NOT_PRIME                0x00010
+# define FFC_CHECK_INVALID_Q_VALUE            0x00020
+# define FFC_CHECK_INVALID_J_VALUE            0x00040
+
 # define FFC_CHECK_BAD_LN_PAIR                0x00080
 # define FFC_CHECK_INVALID_SEED_SIZE          0x00100
 # define FFC_CHECK_MISSING_SEED_OR_COUNTER    0x00200
index 3040bc03a68c4d3791b611055bf3c8103934429a..67783bae7b88fe83e97fe81cb89ffe1a786eeee7 100644 (file)
@@ -75,6 +75,10 @@ DECLARE_ASN1_ITEM(DHparams)
 # define DH_GENERATOR_5          5
 
 /* DH_check error codes */
+/*
+ * NB: These values must align with the equivalently named macros in
+ * internal/ffc.h.
+ */
 # define DH_CHECK_P_NOT_PRIME            0x01
 # define DH_CHECK_P_NOT_SAFE_PRIME       0x02
 # define DH_UNABLE_TO_CHECK_GENERATOR    0x04