2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-01 23:25:38 +00:00

new fields needed for TCP-TSIG

This commit is contained in:
Brian Wellington
1999-09-10 14:54:10 +00:00
parent b19b0cdd1c
commit 24694ab18a
2 changed files with 11 additions and 2 deletions

View File

@@ -157,6 +157,7 @@ struct dns_message {
unsigned int need_cctx_cleanup : 1; unsigned int need_cctx_cleanup : 1;
unsigned int header_ok : 1; unsigned int header_ok : 1;
unsigned int question_ok : 1; unsigned int question_ok : 1;
unsigned int tcp_continuation: 1;
unsigned int reserved; /* reserved space (render) */ unsigned int reserved; /* reserved space (render) */
@@ -181,6 +182,7 @@ struct dns_message {
dns_rdata_any_tsig_t *tsig; dns_rdata_any_tsig_t *tsig;
dns_rdata_any_tsig_t *querytsig; dns_rdata_any_tsig_t *querytsig;
dns_tsig_key_t *tsigkey; dns_tsig_key_t *tsigkey;
void *tsigctx;
int tsigstart; int tsigstart;
}; };

View File

@@ -322,6 +322,7 @@ msginittsig(dns_message_t *m)
m->tsigstatus = m->querytsigstatus = dns_rcode_noerror; m->tsigstatus = m->querytsigstatus = dns_rcode_noerror;
m->tsig = m->querytsig = NULL; m->tsig = m->querytsig = NULL;
m->tsigkey = NULL; m->tsigkey = NULL;
m->tsigctx = NULL;
m->tsigstart = -1; m->tsigstart = -1;
} }
@@ -337,6 +338,7 @@ msginit(dns_message_t *m)
msginittsig(m); msginittsig(m);
m->header_ok = 0; m->header_ok = 0;
m->question_ok = 0; m->question_ok = 0;
m->tcp_continuation = 0;
} }
static inline void static inline void
@@ -1219,8 +1221,13 @@ dns_message_parse(dns_message_t *msg, isc_buffer_t *source,
if (r.length != 0) if (r.length != 0)
return (DNS_R_FORMERR); return (DNS_R_FORMERR);
if (!ISC_LIST_EMPTY(msg->sections[DNS_SECTION_TSIG])) { if (msg->tsigkey != NULL ||
!ISC_LIST_EMPTY(msg->sections[DNS_SECTION_TSIG]))
{
if (!msg->tcp_continuation)
ret = dns_tsig_verify(source, msg); ret = dns_tsig_verify(source, msg);
else
ret = dns_tsig_verify_tcp(source, msg);
if (ret != DNS_R_SUCCESS) if (ret != DNS_R_SUCCESS)
return ret; return ret;
} }