]>
Commit | Line | Data |
---|---|---|
b66edc18 MT |
1 | From cdb755c5f16a6768c3e8b1f345fe15fc9244228d Mon Sep 17 00:00:00 2001 |
2 | From: Simon Kelley <simon@thekelleys.org.uk> | |
3 | Date: Wed, 18 Jun 2014 20:52:53 +0100 | |
4 | Subject: [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 | ||
11 | diff --git a/src/dnssec.c b/src/dnssec.c | |
12 | index 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 | -- | |
64 | 1.7.10.4 | |
65 |