[master] assert if sitok/sitbad are insane

This commit is contained in:
Evan Hunt 2014-02-19 21:26:31 -08:00
parent d17d32a7bf
commit 9576baafc0
2 changed files with 4 additions and 1 deletions

View file

@ -3290,11 +3290,12 @@ process_sit(dig_lookup_t *l, dns_message_t *msg,
len = sizeof(cookie);
}
INSIST(msg->sitok == 0 && msg->sitbad == 0);
if (optlen >= len && optlen >= 8U) {
if (memcmp(isc_buffer_current(optbuf), sit, 8) == 0) {
msg->sitok = 1;
} else {
printf(";; Warning: SIT client cookie part mis-match\n");
printf(";; Warning: SIT client cookie mismatch\n");
msg->sitbad = 1;
}
} else {

View file

@ -7033,6 +7033,8 @@ process_opt(resquery_t *query, dns_rdataset_t *opt) {
case DNS_OPT_SIT:
sit = isc_buffer_current(&optbuf);
compute_cc(query, cookie, sizeof(cookie));
INSIST(query->fctx->rmessage->sitbad == 0 &&
query->fctx->rmessage->sitok == 0);
if (optlen >= 8U &&
memcmp(cookie, sit, 8) == 0) {
query->fctx->rmessage->sitok = 1;