Rework the loop a little (no functionality changes)

This commit is contained in:
Giovanni Bajo
2012-04-25 20:22:16 +02:00
committed by Simon Kelley
parent 708bcd2dd3
commit 20bccd499f

View File

@@ -243,24 +243,24 @@ static void dnssec_parserrsig(struct dns_header *header, size_t pktlen,
return; return;
printf("RRSIG: querying cache for DNSKEY %s (keytag: %d)\n", val.signer_name, val.keytag); printf("RRSIG: querying cache for DNSKEY %s (keytag: %d)\n", val.signer_name, val.keytag);
/* Look in the cache for all the DNSKEYs with matching signer_name and keytag */
/* Look in the cache for *all* the DNSKEYs with matching signer_name and keytag */
char onekey = 0; char onekey = 0;
struct crec *crecp = NULL; struct crec *crecp = NULL;
while (crecp = cache_find_by_name(crecp, val.signer_name, time(0), F_DNSKEY)) /* TODO: time(0) */ while (crecp = cache_find_by_name(crecp, val.signer_name, time(0), F_DNSKEY)) /* TODO: time(0) */
{ {
onekey = 1; onekey = 1;
if (crecp->addr.key.keytag != val.keytag) if (crecp->addr.key.keytag == val.keytag
continue; && crecp->addr.key.algo == verifyalg_algonum(val.alg))
if (crecp->addr.key.algo != verifyalg_algonum(val.alg)) {
continue; printf("RRSIG: found DNSKEY %d in cache, attempting validation\n", val.keytag);
printf("RRSIG: found DNSKEY %d in cache, attempting validation\n", val.keytag); if (end_rrsig_validation(&val, crecp))
printf("Validation OK\n");
if (end_rrsig_validation(&val, crecp)) else
printf("Validation OK\n"); printf("Validation FAILED\n");
else }
printf("Validation FAILED\n");
} }
if (!onekey) if (!onekey)