Small speedup.

git-svn-id: file:///svn/unbound/trunk@558 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards
2007-08-28 14:13:32 +00:00
parent 459039cf08
commit 3d832f5dca
2 changed files with 7 additions and 0 deletions
+1
View File
@@ -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.
+6
View File
@@ -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,