From: Miek Gieben Date: Tue, 1 Mar 2005 13:46:36 +0000 (+0000) Subject: allow rr_list *signature paramater X-Git-Tag: release-0.50~325 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1edb9ef8560af2be87baf58de652fcf97ad97bbb;p=thirdparty%2Fldns.git allow rr_list *signature paramater --- diff --git a/dnssec.c b/dnssec.c index b6e7db4f..02793820 100644 --- a/dnssec.c +++ b/dnssec.c @@ -69,6 +69,29 @@ ldns_keytag(ldns_rr *key) } } +/** + * verify an rrsig rrset + */ + +bool +ldns_verify(ldns_rr_list *rrset, ldns_rr_list *rrsig, ldns_rr_list *keys) +{ + uint16_t i; + bool result; + + result = false; + for (i = 0; i < ldns_rr_list_rr_count(rrsig); i++) { + result = ldns_verify_rrsig(rrset, + ldns_rr_list_rr(rrsig, i), + keys); + if (result) { + break; + } + } + return result; +} + + /** * verify an rrsig * \param[in] rrset the rrset to check diff --git a/ldns/dnssec.h b/ldns/dnssec.h index d3cd31bb..f0dea479 100644 --- a/ldns/dnssec.h +++ b/ldns/dnssec.h @@ -29,6 +29,7 @@ bool ldns_verify_rrsig_dsa(ldns_buffer *, ldns_buffer *, ldns_buffer *); bool ldns_verify_rrsig_rsasha1(ldns_buffer *, ldns_buffer *, ldns_buffer *); bool ldns_verify_rrsig_rsamd5(ldns_buffer *, ldns_buffer *, ldns_buffer *); bool ldns_verify_rrsig(ldns_rr_list *, ldns_rr *, ldns_rr_list *); +bool ldns_verify(ldns_rr_list *, ldns_rr_list *, ldns_rr_list *); uint16_t ldns_keytag(ldns_rr *); DSA *ldns_key_buf2dsa(ldns_buffer *); RSA *ldns_key_buf2rsa(ldns_buffer *);