the same signature.
- if the rrset is too big (64k exactly + large owner name) the
canonicalization routine will fail if it does not fit in buffer.
+ - faster verification for large sigsets.
27 August 2007: Wouter
- do not garble the edns if a cache answer fails.
size_t i, num;
rbtree_t* sortree = NULL;
int buf_canon = 0;
+ uint16_t tag = dnskey_calc_keytag(dnskey, dnskey_idx);
+ int algo = dnskey_get_algo(dnskey, dnskey_idx);
num = rrset_get_sigcount(rrset);
if(num == 0) {
return sec_status_bogus;
}
for(i=0; i<num; i++) {
+ /* see if sig matches keytag and algo */
+ if(algo != rrset_get_sig_algo(rrset, i) ||
+ tag != rrset_get_sig_keytag(rrset, i))
+ continue;
buf_canon = 0;
sec = dnskey_verify_rrset_sig(env->scratch,
env->scratch_buffer, ve, rrset, dnskey, dnskey_idx, i,