]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/dnsmasq-2.71-support-nettle-3.0.patch
Merge branch 'master' of git.ipfire.org:/pub/git/ipfire-2.x
[ipfire-2.x.git] / src / patches / dnsmasq-2.71-support-nettle-3.0.patch
CommitLineData
b66edc18
MT
1From cdb755c5f16a6768c3e8b1f345fe15fc9244228d Mon Sep 17 00:00:00 2001
2From: Simon Kelley <simon@thekelleys.org.uk>
3Date: Wed, 18 Jun 2014 20:52:53 +0100
4Subject: [PATCH] Fix FTBFS with Nettle-3.0.
5
6---
7 CHANGELOG | 3 +++
8 src/dnssec.c | 18 ++++++++++++------
9 2 files changed, 15 insertions(+), 6 deletions(-)
10
11diff --git a/src/dnssec.c b/src/dnssec.c
12index 2ffb75d..69bfc29 100644
13--- a/src/dnssec.c
14+++ b/src/dnssec.c
15@@ -28,6 +28,12 @@
16 #include <nettle/nettle-meta.h>
17 #include <nettle/bignum.h>
18
19+/* Nettle-3.0 moved to a new API for DSA. We use a name that's defined in the new API
20+ to detect Nettle-3, and invoke the backwards compatibility mode. */
21+#ifdef dsa_params_init
22+#include <nettle/dsa-compat.h>
23+#endif
24+
25
26 #define SERIAL_UNDEF -100
27 #define SERIAL_EQ 0
28@@ -121,8 +127,8 @@ static int hash_init(const struct nettle_hash *hash, void **ctxp, unsigned char
29 return 1;
30 }
31
32-static int rsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
33- unsigned char *digest, int algo)
34+static int dnsmasq_rsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
35+ unsigned char *digest, int algo)
36 {
37 unsigned char *p;
38 size_t exp_len;
39@@ -173,8 +179,8 @@ static int rsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned
40 return 0;
41 }
42
43-static int dsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
44- unsigned char *digest, int algo)
45+static int dnsmasq_dsa_verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
46+ unsigned char *digest, int algo)
47 {
48 unsigned char *p;
49 unsigned int t;
50@@ -293,10 +299,10 @@ static int verify(struct blockdata *key_data, unsigned int key_len, unsigned cha
51 switch (algo)
52 {
53 case 1: case 5: case 7: case 8: case 10:
54- return rsa_verify(key_data, key_len, sig, sig_len, digest, algo);
55+ return dnsmasq_rsa_verify(key_data, key_len, sig, sig_len, digest, algo);
56
57 case 3: case 6:
58- return dsa_verify(key_data, key_len, sig, sig_len, digest, algo);
59+ return dnsmasq_dsa_verify(key_data, key_len, sig, sig_len, digest, algo);
60
61 #ifndef NO_NETTLE_ECC
62 case 13: case 14:
63--
641.7.10.4
65