Lines Matching refs:msg
169 newbuffer(dns_message_t *msg, unsigned int size) { in newbuffer() argument
178 ISC_LIST_APPEND(msg->scratchpad, dynbuf, link); in newbuffer()
183 currentbuffer(dns_message_t *msg) { in currentbuffer() argument
186 dynbuf = ISC_LIST_TAIL(msg->scratchpad); in currentbuffer()
193 releaserdata(dns_message_t *msg, dns_rdata_t *rdata) { in releaserdata() argument
194 ISC_LIST_PREPEND(msg->freerdata, rdata, link); in releaserdata()
198 newrdata(dns_message_t *msg) { in newrdata() argument
202 rdata = ISC_LIST_HEAD(msg->freerdata); in newrdata()
204 ISC_LIST_UNLINK(msg->freerdata, rdata, link); in newrdata()
208 msgblock = ISC_LIST_TAIL(msg->rdatas); in newrdata()
215 ISC_LIST_APPEND(msg->rdatas, msgblock, link); in newrdata()
225 releaserdatalist(dns_message_t *msg, dns_rdatalist_t *rdatalist) { in releaserdatalist() argument
226 ISC_LIST_PREPEND(msg->freerdatalist, rdatalist, link); in releaserdatalist()
230 newrdatalist(dns_message_t *msg) { in newrdatalist() argument
234 rdatalist = ISC_LIST_HEAD(msg->freerdatalist); in newrdatalist()
236 ISC_LIST_UNLINK(msg->freerdatalist, rdatalist, link); in newrdatalist()
240 msgblock = ISC_LIST_TAIL(msg->rdatalists); in newrdatalist()
248 ISC_LIST_APPEND(msg->rdatalists, msgblock, link); in newrdatalist()
260 newoffsets(dns_message_t *msg) { in newoffsets() argument
264 msgblock = ISC_LIST_TAIL(msg->offsets); in newoffsets()
272 ISC_LIST_APPEND(msg->offsets, msgblock, link); in newoffsets()
348 msgresetnames(dns_message_t *msg, unsigned int first_section) { in msgresetnames() argument
357 name = ISC_LIST_HEAD(msg->sections[i]); in msgresetnames()
360 ISC_LIST_UNLINK(msg->sections[i], name, link); in msgresetnames()
381 msgresetopt(dns_message_t *msg) in msgresetopt() argument
383 if (msg->opt != NULL) { in msgresetopt()
384 if (msg->opt_reserved > 0) { in msgresetopt()
385 dns_message_renderrelease(msg, msg->opt_reserved); in msgresetopt()
386 msg->opt_reserved = 0; in msgresetopt()
388 INSIST(dns_rdataset_isassociated(msg->opt)); in msgresetopt()
389 dns_rdataset_disassociate(msg->opt); in msgresetopt()
390 free(msg->opt); in msgresetopt()
391 msg->opt = NULL; in msgresetopt()
392 msg->sitok = 0; in msgresetopt()
393 msg->sitbad = 0; in msgresetopt()
398 msgresetsigs(dns_message_t *msg, int replying) { in msgresetsigs() argument
399 if (msg->sig_reserved > 0) { in msgresetsigs()
400 dns_message_renderrelease(msg, msg->sig_reserved); in msgresetsigs()
401 msg->sig_reserved = 0; in msgresetsigs()
403 if (msg->tsig != NULL) { in msgresetsigs()
404 INSIST(dns_rdataset_isassociated(msg->tsig)); in msgresetsigs()
406 INSIST(msg->querytsig == NULL); in msgresetsigs()
407 msg->querytsig = msg->tsig; in msgresetsigs()
409 dns_rdataset_disassociate(msg->tsig); in msgresetsigs()
410 free(msg->tsig); in msgresetsigs()
411 if (msg->querytsig != NULL) { in msgresetsigs()
412 dns_rdataset_disassociate(msg->querytsig); in msgresetsigs()
413 free(msg->querytsig); in msgresetsigs()
416 if (dns_name_dynamic(msg->tsigname)) in msgresetsigs()
417 dns_name_free(msg->tsigname); in msgresetsigs()
418 free(msg->tsigname); in msgresetsigs()
419 msg->tsig = NULL; in msgresetsigs()
420 msg->tsigname = NULL; in msgresetsigs()
421 } else if (msg->querytsig != NULL && !replying) { in msgresetsigs()
422 dns_rdataset_disassociate(msg->querytsig); in msgresetsigs()
423 free(msg->querytsig); in msgresetsigs()
424 msg->querytsig = NULL; in msgresetsigs()
426 if (msg->sig0 != NULL) { in msgresetsigs()
427 INSIST(dns_rdataset_isassociated(msg->sig0)); in msgresetsigs()
428 dns_rdataset_disassociate(msg->sig0); in msgresetsigs()
429 free(msg->sig0); in msgresetsigs()
430 if (msg->sig0name != NULL) { in msgresetsigs()
431 if (dns_name_dynamic(msg->sig0name)) in msgresetsigs()
432 dns_name_free(msg->sig0name); in msgresetsigs()
433 free(msg->sig0name); in msgresetsigs()
435 msg->sig0 = NULL; in msgresetsigs()
436 msg->sig0name = NULL; in msgresetsigs()
445 msgreset(dns_message_t *msg, int everything) { in msgreset() argument
451 msgresetnames(msg, 0); in msgreset()
452 msgresetopt(msg); in msgreset()
453 msgresetsigs(msg, 0); in msgreset()
464 rdata = ISC_LIST_HEAD(msg->freerdata); in msgreset()
466 ISC_LIST_UNLINK(msg->freerdata, rdata, link); in msgreset()
467 rdata = ISC_LIST_HEAD(msg->freerdata); in msgreset()
469 rdatalist = ISC_LIST_HEAD(msg->freerdatalist); in msgreset()
471 ISC_LIST_UNLINK(msg->freerdatalist, rdatalist, link); in msgreset()
472 rdatalist = ISC_LIST_HEAD(msg->freerdatalist); in msgreset()
475 dynbuf = ISC_LIST_HEAD(msg->scratchpad); in msgreset()
483 ISC_LIST_UNLINK(msg->scratchpad, dynbuf, link); in msgreset()
488 msgblock = ISC_LIST_HEAD(msg->rdatas); in msgreset()
495 ISC_LIST_UNLINK(msg->rdatas, msgblock, link); in msgreset()
504 msgblock = ISC_LIST_HEAD(msg->rdatalists); in msgreset()
511 ISC_LIST_UNLINK(msg->rdatalists, msgblock, link); in msgreset()
516 msgblock = ISC_LIST_HEAD(msg->offsets); in msgreset()
523 ISC_LIST_UNLINK(msg->offsets, msgblock, link); in msgreset()
528 if (msg->tsigkey != NULL) { in msgreset()
529 dns_tsigkey_detach(&msg->tsigkey); in msgreset()
530 msg->tsigkey = NULL; in msgreset()
533 if (msg->tsigctx != NULL) in msgreset()
534 dst_context_destroy(&msg->tsigctx); in msgreset()
536 if (msg->query.base != NULL) { in msgreset()
537 if (msg->free_query != 0) in msgreset()
538 free(msg->query.base); in msgreset()
539 msg->query.base = NULL; in msgreset()
540 msg->query.length = 0; in msgreset()
543 if (msg->saved.base != NULL) { in msgreset()
544 if (msg->free_saved != 0) in msgreset()
545 free(msg->saved.base); in msgreset()
546 msg->saved.base = NULL; in msgreset()
547 msg->saved.length = 0; in msgreset()
553 dynbuf = ISC_LIST_HEAD(msg->cleanup); in msgreset()
556 ISC_LIST_UNLINK(msg->cleanup, dynbuf, link); in msgreset()
565 msginit(msg); in msgreset()
674 dns_message_t *msg; in dns_message_destroy() local
678 msg = *msgp; in dns_message_destroy()
681 msgreset(msg, 1); in dns_message_destroy()
682 free(msg); in dns_message_destroy()
754 getname(dns_name_t *name, isc_buffer_t *source, dns_message_t *msg, in getname() argument
761 scratch = currentbuffer(msg); in getname()
775 result = newbuffer(msg, SCRATCHPAD_SIZE); in getname()
779 scratch = currentbuffer(msg); in getname()
791 getrdata(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, in getrdata() argument
800 scratch = currentbuffer(msg); in getrdata()
832 result = newbuffer(msg, trysize); in getrdata()
836 scratch = currentbuffer(msg); in getrdata()
854 getquestions(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, in getquestions() argument
872 section = &msg->sections[DNS_SECTION_QUESTION]; in getquestions()
881 for (count = 0; count < msg->counts[DNS_SECTION_QUESTION]; count++) { in getquestions()
887 offsets = newoffsets(msg); in getquestions()
899 result = getname(name, source, msg, dctx); in getquestions()
948 if (msg->rdclass_set == 0) { in getquestions()
949 msg->rdclass = rdclass; in getquestions()
950 msg->rdclass_set = 1; in getquestions()
951 } else if (msg->rdclass != rdclass) in getquestions()
958 msg->tkey = 1; in getquestions()
970 rdatalist = newrdatalist(msg); in getquestions()
1028 getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, in getsection() argument
1050 section = &msg->sections[sectionid]; in getsection()
1052 for (count = 0; count < msg->counts[sectionid]; count++) { in getsection()
1061 offsets = newoffsets(msg); in getsection()
1073 result = getname(name, source, msg, dctx); in getsection()
1094 if (msg->rdclass_set == 0 && in getsection()
1098 msg->rdclass = rdclass; in getsection()
1099 msg->rdclass_set = 1; in getsection()
1106 if (msg->opcode != dns_opcode_update in getsection()
1112 && msg->rdclass != dns_rdataclass_any in getsection()
1113 && msg->rdclass != rdclass) in getsection()
1120 if (msg->opcode != dns_opcode_update && !msg->tkey && in getsection()
1122 msg->rdclass != dns_rdataclass_any && in getsection()
1123 msg->rdclass != rdclass) in getsection()
1136 count != msg->counts[sectionid] - 1) in getsection()
1138 msg->sigstart = recstart; in getsection()
1147 msg->opt != NULL) in getsection()
1159 if ((msg->flags & DNS_MESSAGEFLAG_QR) == 0) in getsection()
1185 rdata = newrdata(msg); in getsection()
1190 if (msg->opcode == dns_opcode_update && in getsection()
1210 msg->opcode == dns_opcode_update && in getsection()
1212 result = getrdata(source, msg, dctx, msg->rdclass, in getsection()
1215 result = getrdata(source, msg, dctx, rdclass, in getsection()
1231 count != msg->counts[sectionid] - 1) in getsection()
1233 msg->sigstart = recstart; in getsection()
1236 if (msg->rdclass != dns_rdataclass_any && in getsection()
1237 msg->rdclass != rdclass) in getsection()
1247 !dns_rdata_checkowner_nsec3(name, msg->rdclass, rdtype, in getsection()
1266 rdatalist = newrdatalist(msg); in getsection()
1314 if (rdtype == dns_rdatatype_opt && msg->opt == NULL) { in getsection()
1317 msg->opt = rdataset; in getsection()
1321 ((msg->opt->ttl & DNS_MESSAGE_EDNSRCODE_MASK) in getsection()
1323 msg->rcode |= ercode; in getsection()
1326 } else if (issigzero && msg->sig0 == NULL) { in getsection()
1327 msg->sig0 = rdataset; in getsection()
1328 msg->sig0name = name; in getsection()
1332 } else if (rdtype == dns_rdatatype_tsig && msg->tsig == NULL) { in getsection()
1333 msg->tsig = rdataset; in getsection()
1334 msg->tsigname = name; in getsection()
1336 msg->tsigname->attributes |= DNS_NAMEATTR_NOCOMPRESS; in getsection()
1367 dns_message_parse(dns_message_t *msg, isc_buffer_t *source, in dns_message_parse() argument
1379 REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTPARSE); in dns_message_parse()
1386 msg->header_ok = 0; in dns_message_parse()
1387 msg->question_ok = 0; in dns_message_parse()
1393 msg->id = isc_buffer_getuint16(source); in dns_message_parse()
1395 msg->opcode = ((tmpflags & DNS_MESSAGE_OPCODE_MASK) in dns_message_parse()
1397 msg->rcode = (dns_rcode_t)(tmpflags & DNS_MESSAGE_RCODE_MASK); in dns_message_parse()
1398 msg->flags = (tmpflags & DNS_MESSAGE_FLAG_MASK); in dns_message_parse()
1399 msg->counts[DNS_SECTION_QUESTION] = isc_buffer_getuint16(source); in dns_message_parse()
1400 msg->counts[DNS_SECTION_ANSWER] = isc_buffer_getuint16(source); in dns_message_parse()
1401 msg->counts[DNS_SECTION_AUTHORITY] = isc_buffer_getuint16(source); in dns_message_parse()
1402 msg->counts[DNS_SECTION_ADDITIONAL] = isc_buffer_getuint16(source); in dns_message_parse()
1404 msg->header_ok = 1; in dns_message_parse()
1405 msg->state = DNS_SECTION_QUESTION; in dns_message_parse()
1414 ret = getquestions(source, msg, &dctx, options); in dns_message_parse()
1423 msg->question_ok = 1; in dns_message_parse()
1425 ret = getsection(source, msg, &dctx, DNS_SECTION_ANSWER, options); in dns_message_parse()
1435 ret = getsection(source, msg, &dctx, DNS_SECTION_AUTHORITY, options); in dns_message_parse()
1445 ret = getsection(source, msg, &dctx, DNS_SECTION_ADDITIONAL, options); in dns_message_parse()
1464 isc_buffer_usedregion(&origsource, &msg->saved); in dns_message_parse()
1474 dns_message_renderbegin(dns_message_t *msg, dns_compress_t *cctx, in dns_message_renderbegin() argument
1480 REQUIRE(msg->buffer == NULL); in dns_message_renderbegin()
1481 REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER); in dns_message_renderbegin()
1483 msg->cctx = cctx; in dns_message_renderbegin()
1498 if (r.length - DNS_MESSAGE_HEADERLEN < msg->reserved) in dns_message_renderbegin()
1506 msg->buffer = buffer; in dns_message_renderbegin()
1512 dns_message_renderrelease(dns_message_t *msg, unsigned int space) { in dns_message_renderrelease() argument
1513 REQUIRE(space <= msg->reserved); in dns_message_renderrelease()
1515 msg->reserved -= space; in dns_message_renderrelease()
1519 dns_message_renderreserve(dns_message_t *msg, unsigned int space) { in dns_message_renderreserve() argument
1522 if (msg->buffer != NULL) { in dns_message_renderreserve()
1523 isc_buffer_availableregion(msg->buffer, &r); in dns_message_renderreserve()
1524 if (r.length < (space + msg->reserved)) in dns_message_renderreserve()
1528 msg->reserved += space; in dns_message_renderreserve()
1584 maybe_clear_ad(dns_message_t *msg, dns_section_t sectionid) { in maybe_clear_ad() argument
1585 if (msg->counts[sectionid] == 0 && in maybe_clear_ad()
1588 msg->counts[DNS_SECTION_ANSWER] == 0))) in maybe_clear_ad()
1589 msg->flags &= ~DNS_MESSAGEFLAG_AD; in maybe_clear_ad()
1593 dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid) in dns_message_rendersection() argument
1603 REQUIRE(msg->buffer != NULL); in dns_message_rendersection()
1606 section = &msg->sections[sectionid]; in dns_message_rendersection()
1616 if (msg->buffer->length - msg->buffer->used < msg->reserved) in dns_message_rendersection()
1618 msg->buffer->length -= msg->reserved; in dns_message_rendersection()
1625 msg->buffer->length += msg->reserved; in dns_message_rendersection()
1626 msg->counts[sectionid] += total; in dns_message_rendersection()
1645 st = *(msg->buffer); in dns_message_rendersection()
1651 msg->cctx, in dns_message_rendersection()
1652 msg->buffer, in dns_message_rendersection()
1664 dns_compress_rollback(msg->cctx, in dns_message_rendersection()
1666 *(msg->buffer) = st; /* rollback */ in dns_message_rendersection()
1667 msg->buffer->length += msg->reserved; in dns_message_rendersection()
1668 msg->counts[sectionid] += total; in dns_message_rendersection()
1669 maybe_clear_ad(msg, sectionid); in dns_message_rendersection()
1679 msg->flags &= ~DNS_MESSAGEFLAG_AD; in dns_message_rendersection()
1692 msg->buffer->length += msg->reserved; in dns_message_rendersection()
1693 msg->counts[sectionid] += total; in dns_message_rendersection()
1699 dns_message_renderheader(dns_message_t *msg, isc_buffer_t *target) { in dns_message_renderheader() argument
1708 isc_buffer_putuint16(target, msg->id); in dns_message_renderheader()
1710 tmp = ((msg->opcode << DNS_MESSAGE_OPCODE_SHIFT) in dns_message_renderheader()
1712 tmp |= (msg->rcode & DNS_MESSAGE_RCODE_MASK); in dns_message_renderheader()
1713 tmp |= (msg->flags & DNS_MESSAGE_FLAG_MASK); in dns_message_renderheader()
1715 INSIST(msg->counts[DNS_SECTION_QUESTION] < 65536 && in dns_message_renderheader()
1716 msg->counts[DNS_SECTION_ANSWER] < 65536 && in dns_message_renderheader()
1717 msg->counts[DNS_SECTION_AUTHORITY] < 65536 && in dns_message_renderheader()
1718 msg->counts[DNS_SECTION_ADDITIONAL] < 65536); in dns_message_renderheader()
1722 (uint16_t)msg->counts[DNS_SECTION_QUESTION]); in dns_message_renderheader()
1724 (uint16_t)msg->counts[DNS_SECTION_ANSWER]); in dns_message_renderheader()
1726 (uint16_t)msg->counts[DNS_SECTION_AUTHORITY]); in dns_message_renderheader()
1728 (uint16_t)msg->counts[DNS_SECTION_ADDITIONAL]); in dns_message_renderheader()
1732 dns_message_renderend(dns_message_t *msg) { in dns_message_renderend() argument
1738 REQUIRE(msg->buffer != NULL); in dns_message_renderend()
1740 if ((msg->rcode & ~DNS_MESSAGE_RCODE_MASK) != 0 && msg->opt == NULL) { in dns_message_renderend()
1753 if ((msg->tsigkey != NULL || msg->opt) && in dns_message_renderend()
1754 (msg->flags & DNS_MESSAGEFLAG_TC) != 0) in dns_message_renderend()
1758 msgresetnames(msg, DNS_SECTION_ANSWER); in dns_message_renderend()
1759 buf = msg->buffer; in dns_message_renderend()
1760 dns_message_renderreset(msg); in dns_message_renderend()
1761 msg->buffer = buf; in dns_message_renderend()
1762 isc_buffer_clear(msg->buffer); in dns_message_renderend()
1763 isc_buffer_add(msg->buffer, DNS_MESSAGE_HEADERLEN); in dns_message_renderend()
1764 dns_compress_rollback(msg->cctx, 0); in dns_message_renderend()
1765 result = dns_message_rendersection(msg, DNS_SECTION_QUESTION); in dns_message_renderend()
1773 if (msg->opt != NULL) { in dns_message_renderend()
1774 dns_message_renderrelease(msg, msg->opt_reserved); in dns_message_renderend()
1775 msg->opt_reserved = 0; in dns_message_renderend()
1779 msg->opt->ttl &= ~DNS_MESSAGE_EDNSRCODE_MASK; in dns_message_renderend()
1780 msg->opt->ttl |= ((msg->rcode << 20) & in dns_message_renderend()
1786 result = renderset(msg->opt, dns_rootname, msg->cctx, in dns_message_renderend()
1787 msg->buffer, msg->reserved, &count); in dns_message_renderend()
1788 msg->counts[DNS_SECTION_ADDITIONAL] += count; in dns_message_renderend()
1796 if (msg->tsigkey != NULL) { in dns_message_renderend()
1797 dns_message_renderrelease(msg, msg->sig_reserved); in dns_message_renderend()
1798 msg->sig_reserved = 0; in dns_message_renderend()
1799 result = dns_tsig_sign(msg); in dns_message_renderend()
1803 result = renderset(msg->tsig, msg->tsigname, msg->cctx, in dns_message_renderend()
1804 msg->buffer, msg->reserved, &count); in dns_message_renderend()
1805 msg->counts[DNS_SECTION_ADDITIONAL] += count; in dns_message_renderend()
1810 isc_buffer_usedregion(msg->buffer, &r); in dns_message_renderend()
1813 dns_message_renderheader(msg, &tmpbuf); in dns_message_renderend()
1815 msg->buffer = NULL; /* forget about this buffer only on success XXX */ in dns_message_renderend()
1821 dns_message_renderreset(dns_message_t *msg) { in dns_message_renderreset() argument
1830 REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER); in dns_message_renderreset()
1832 msg->buffer = NULL; in dns_message_renderreset()
1835 msg->cursors[i] = NULL; in dns_message_renderreset()
1836 msg->counts[i] = 0; in dns_message_renderreset()
1837 for (name = ISC_LIST_HEAD(msg->sections[i]); in dns_message_renderreset()
1847 if (msg->tsigname != NULL) in dns_message_renderreset()
1848 dns_message_puttempname(msg, &msg->tsigname); in dns_message_renderreset()
1849 if (msg->tsig != NULL) { in dns_message_renderreset()
1850 dns_rdataset_disassociate(msg->tsig); in dns_message_renderreset()
1851 dns_message_puttemprdataset(msg, &msg->tsig); in dns_message_renderreset()
1853 if (msg->sig0 != NULL) { in dns_message_renderreset()
1854 dns_rdataset_disassociate(msg->sig0); in dns_message_renderreset()
1855 dns_message_puttemprdataset(msg, &msg->sig0); in dns_message_renderreset()
1860 dns_message_firstname(dns_message_t *msg, dns_section_t section) { in dns_message_firstname() argument
1863 msg->cursors[section] = ISC_LIST_HEAD(msg->sections[section]); in dns_message_firstname()
1865 if (msg->cursors[section] == NULL) in dns_message_firstname()
1872 dns_message_nextname(dns_message_t *msg, dns_section_t section) { in dns_message_nextname() argument
1874 REQUIRE(msg->cursors[section] != NULL); in dns_message_nextname()
1876 msg->cursors[section] = ISC_LIST_NEXT(msg->cursors[section], link); in dns_message_nextname()
1878 if (msg->cursors[section] == NULL) in dns_message_nextname()
1885 dns_message_currentname(dns_message_t *msg, dns_section_t section, in dns_message_currentname() argument
1890 REQUIRE(msg->cursors[section] != NULL); in dns_message_currentname()
1892 *name = msg->cursors[section]; in dns_message_currentname()
1896 dns_message_findname(dns_message_t *msg, dns_section_t section, in dns_message_findname() argument
1910 REQUIRE(msg != NULL); in dns_message_findname()
1922 &msg->sections[section]); in dns_message_findname()
1946 dns_message_addname(dns_message_t *msg, dns_name_t *name, in dns_message_addname() argument
1949 REQUIRE(msg != NULL); in dns_message_addname()
1950 REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER); in dns_message_addname()
1954 ISC_LIST_APPEND(msg->sections[section], name, link); in dns_message_addname()
1958 dns_message_gettempname(dns_message_t *msg, dns_name_t **item) { in dns_message_gettempname() argument
1961 UNUSED(msg); in dns_message_gettempname()
1972 dns_message_gettemprdata(dns_message_t *msg, dns_rdata_t **item) { in dns_message_gettemprdata() argument
1975 *item = newrdata(msg); in dns_message_gettemprdata()
1983 dns_message_gettemprdataset(dns_message_t *msg, dns_rdataset_t **item) { in dns_message_gettemprdataset() argument
1986 UNUSED(msg); in dns_message_gettemprdataset()
1998 dns_message_gettemprdatalist(dns_message_t *msg, dns_rdatalist_t **item) { in dns_message_gettemprdatalist() argument
2001 *item = newrdatalist(msg); in dns_message_gettemprdatalist()
2009 dns_message_puttempname(dns_message_t *msg, dns_name_t **item) { in dns_message_puttempname() argument
2012 UNUSED(msg); in dns_message_puttempname()
2021 dns_message_puttemprdata(dns_message_t *msg, dns_rdata_t **item) { in dns_message_puttemprdata() argument
2024 releaserdata(msg, *item); in dns_message_puttemprdata()
2029 dns_message_puttemprdataset(dns_message_t *msg, dns_rdataset_t **item) { in dns_message_puttemprdataset() argument
2033 UNUSED(msg); in dns_message_puttemprdataset()
2040 dns_message_puttemprdatalist(dns_message_t *msg, dns_rdatalist_t **item) { in dns_message_puttemprdatalist() argument
2043 releaserdatalist(msg, *item); in dns_message_puttemprdatalist()
2077 dns_message_getopt(dns_message_t *msg) { in dns_message_getopt() argument
2082 return (msg->opt); in dns_message_getopt()
2086 dns_message_setopt(dns_message_t *msg, dns_rdataset_t *opt) { in dns_message_setopt() argument
2109 REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER); in dns_message_setopt()
2110 REQUIRE(msg->state == DNS_SECTION_ANY); in dns_message_setopt()
2112 msgresetopt(msg); in dns_message_setopt()
2118 msg->opt_reserved = 11 + rdata.length; in dns_message_setopt()
2119 result = dns_message_renderreserve(msg, msg->opt_reserved); in dns_message_setopt()
2121 msg->opt_reserved = 0; in dns_message_setopt()
2125 msg->opt = opt; in dns_message_setopt()
2131 dns_message_puttemprdataset(msg, &opt); in dns_message_setopt()
2136 dns_message_gettsig(dns_message_t *msg, dns_name_t **owner) { in dns_message_gettsig() argument
2145 *owner = msg->tsigname; in dns_message_gettsig()
2146 return (msg->tsig); in dns_message_gettsig()
2150 dns_message_settsigkey(dns_message_t *msg, dns_tsigkey_t *key) { in dns_message_settsigkey() argument
2157 REQUIRE(msg->state == DNS_SECTION_ANY); in dns_message_settsigkey()
2159 if (key == NULL && msg->tsigkey != NULL) { in dns_message_settsigkey()
2160 if (msg->sig_reserved != 0) { in dns_message_settsigkey()
2161 dns_message_renderrelease(msg, msg->sig_reserved); in dns_message_settsigkey()
2162 msg->sig_reserved = 0; in dns_message_settsigkey()
2164 dns_tsigkey_detach(&msg->tsigkey); in dns_message_settsigkey()
2167 REQUIRE(msg->tsigkey == NULL); in dns_message_settsigkey()
2168 dns_tsigkey_attach(key, &msg->tsigkey); in dns_message_settsigkey()
2169 if (msg->from_to_wire == DNS_MESSAGE_INTENTRENDER) { in dns_message_settsigkey()
2170 msg->sig_reserved = spacefortsig(msg->tsigkey, 0); in dns_message_settsigkey()
2171 result = dns_message_renderreserve(msg, in dns_message_settsigkey()
2172 msg->sig_reserved); in dns_message_settsigkey()
2174 dns_tsigkey_detach(&msg->tsigkey); in dns_message_settsigkey()
2175 msg->sig_reserved = 0; in dns_message_settsigkey()
2184 dns_message_gettsigkey(dns_message_t *msg) { in dns_message_gettsigkey() argument
2189 return (msg->tsigkey); in dns_message_gettsigkey()
2193 dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig) { in dns_message_setquerytsig() argument
2201 REQUIRE(msg->querytsig == NULL); in dns_message_setquerytsig()
2206 result = dns_message_gettemprdata(msg, &rdata); in dns_message_setquerytsig()
2210 result = dns_message_gettemprdatalist(msg, &list); in dns_message_setquerytsig()
2213 result = dns_message_gettemprdataset(msg, &set); in dns_message_setquerytsig()
2225 dns_message_takebuffer(msg, &buf); in dns_message_setquerytsig()
2231 msg->querytsig = set; in dns_message_setquerytsig()
2237 dns_message_puttemprdata(msg, &rdata); in dns_message_setquerytsig()
2239 dns_message_puttemprdatalist(msg, &list); in dns_message_setquerytsig()
2241 dns_message_puttemprdataset(msg, &set); in dns_message_setquerytsig()
2246 dns_message_getquerytsig(dns_message_t *msg, isc_buffer_t **querytsig) { in dns_message_getquerytsig() argument
2253 if (msg->tsig == NULL) in dns_message_getquerytsig()
2256 result = dns_rdataset_first(msg->tsig); in dns_message_getquerytsig()
2259 dns_rdataset_current(msg->tsig, &rdata); in dns_message_getquerytsig()
2270 dns_message_getsig0(dns_message_t *msg, dns_name_t **owner) { in dns_message_getsig0() argument
2278 if (msg->sig0 != NULL && owner != NULL) { in dns_message_getsig0()
2283 if (msg->sig0name == NULL) in dns_message_getsig0()
2286 *owner = msg->sig0name; in dns_message_getsig0()
2288 return (msg->sig0); in dns_message_getsig0()
2292 dns_message_takebuffer(dns_message_t *msg, isc_buffer_t **buffer) { in dns_message_takebuffer() argument
2295 ISC_LIST_APPEND(msg->cleanup, *buffer, link); in dns_message_takebuffer()
2300 dns_message_sectiontotext(dns_message_t *msg, dns_section_t section, in dns_message_sectiontotext() argument
2312 if (ISC_LIST_EMPTY(msg->sections[section])) in dns_message_sectiontotext()
2317 if (msg->opcode != dns_opcode_update) { in dns_message_sectiontotext()
2326 result = dns_message_firstname(msg, section); in dns_message_sectiontotext()
2332 dns_message_currentname(msg, section, &name); in dns_message_sectiontotext()
2360 result = dns_message_nextname(msg, section); in dns_message_sectiontotext()
2518 dns_message_pseudosectiontotext(dns_message_t *msg, in dns_message_pseudosectiontotext() argument
2540 ps = dns_message_getopt(msg); in dns_message_pseudosectiontotext()
2724 if (msg->sitok) in dns_message_pseudosectiontotext()
2726 if (msg->sitbad) in dns_message_pseudosectiontotext()
2758 ps = dns_message_gettsig(msg, &name); in dns_message_pseudosectiontotext()
2769 ps = dns_message_getsig0(msg, &name); in dns_message_pseudosectiontotext()