mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-09-28 04:34:54 +02:00
Small speedup.
git-svn-id: file:///svn/unbound/trunk@558 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
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.
|
||||
|
||||
@@ -423,6 +423,8 @@ dnskey_verify_rrset(struct module_env* env, struct val_env* ve,
|
||||
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) {
|
||||
@@ -431,6 +433,10 @@ dnskey_verify_rrset(struct module_env* env, struct val_env* ve,
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user