summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2018-02-07 11:34:36 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2018-02-07 12:23:07 +0100
commit7245698f4bd42cb798204f8e8f643f4f7061bb8d (patch)
tree8e207ed92400614e3c01c45085aea4803b223e34
parentd75d9bdee6e65cb005c59b02ecac996affb61d62 (diff)
downloadgnutls-tmp-new-nettle-abi.tar.gz
nettle: use the nettle_get_secp API when availabletmp-new-nettle-abi
Resolves #380 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r--lib/nettle/pk.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/nettle/pk.c b/lib/nettle/pk.c
index 507d65ef1b..0ecd14f5c3 100644
--- a/lib/nettle/pk.c
+++ b/lib/nettle/pk.c
@@ -1053,21 +1053,31 @@ _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
return ret;
}
+#if NETTLE_MAJOR_VERSION < 3 || (NETTLE_MAJOR_VERSION == 3 && NETTLE_MINOR_VERSION < 4)
+# ifdef ENABLE_NON_SUITEB_CURVES
+# define nettle_get_secp_192r1() &nettle_secp_192r1
+# define nettle_get_secp_224r1() &nettle_secp_224r1
+# endif
+# define nettle_get_secp_256r1() &nettle_secp_256r1
+# define nettle_get_secp_384r1() &nettle_secp_384r1
+# define nettle_get_secp_521r1() &nettle_secp_521r1
+#endif
+
static inline const struct ecc_curve *get_supported_nist_curve(int curve)
{
switch (curve) {
#ifdef ENABLE_NON_SUITEB_CURVES
case GNUTLS_ECC_CURVE_SECP192R1:
- return &nettle_secp_192r1;
+ return nettle_get_secp_192r1();
case GNUTLS_ECC_CURVE_SECP224R1:
- return &nettle_secp_224r1;
+ return nettle_get_secp_224r1();
#endif
case GNUTLS_ECC_CURVE_SECP256R1:
- return &nettle_secp_256r1;
+ return nettle_get_secp_256r1();
case GNUTLS_ECC_CURVE_SECP384R1:
- return &nettle_secp_384r1;
+ return nettle_get_secp_384r1();
case GNUTLS_ECC_CURVE_SECP521R1:
- return &nettle_secp_521r1;
+ return nettle_get_secp_521r1();
default:
return NULL;
}