DNSSEC consolidation.

This commit is contained in:
Simon Kelley
2014-01-09 17:31:19 +00:00
parent b8071a849a
commit 5f8e58f49b
4 changed files with 471 additions and 621 deletions

View File

@@ -39,16 +39,29 @@
#define C_ANY 255 /* wildcard match */ #define C_ANY 255 /* wildcard match */
#define T_A 1 #define T_A 1
#define T_NS 2 #define T_NS 2
#define T_MD 3
#define T_MF 4
#define T_CNAME 5 #define T_CNAME 5
#define T_SOA 6 #define T_SOA 6
#define T_MB 7
#define T_MG 8
#define T_MR 9
#define T_PTR 12 #define T_PTR 12
#define T_MINFO 14
#define T_MX 15 #define T_MX 15
#define T_TXT 16 #define T_TXT 16
#define T_RP 17
#define T_AFSDB 18
#define T_RT 21
#define T_SIG 24 #define T_SIG 24
#define T_PX 26
#define T_AAAA 28 #define T_AAAA 28
#define T_NXT 30
#define T_SRV 33 #define T_SRV 33
#define T_NAPTR 35 #define T_NAPTR 35
#define T_KX 36
#define T_DNAME 39
#define T_OPT 41 #define T_OPT 41
#define T_DS 43 #define T_DS 43
#define T_RRSIG 46 #define T_RRSIG 46

View File

@@ -1054,8 +1054,6 @@ int in_zone(struct auth_zone *zone, char *name, char **cut);
size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr); size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr);
int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t n, char *name, char *keyname, int class); int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t n, char *name, char *keyname, int class);
int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class); int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class);
int validate_rrset(time_t now, struct dns_header *header, size_t plen, int class,
int type, char *name, char *keyname, struct blockdata *key, int keylen, int algo, int keytag);
int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class); int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class);
int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen); int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen);

File diff suppressed because it is too large Load Diff

View File

@@ -493,7 +493,7 @@ unsigned char *find_pseudoheader(struct dns_header *header, size_t plen, size_t
else if (is_sign && else if (is_sign &&
i == arcount - 1 && i == arcount - 1 &&
class == C_ANY && class == C_ANY &&
(type == T_SIG || type == T_TSIG)) type == T_TSIG)
*is_sign = 1; *is_sign = 1;
} }