mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 22:45:39 +00:00
Merge remote-tracking branch 'origin/rt28040'
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: message.h,v 1.132 2010/03/04 23:50:34 tbox Exp $ */
|
/* $Id: message.h,v 1.132.528.1 2012/02/22 05:03:39 marka Exp $ */
|
||||||
|
|
||||||
#ifndef DNS_MESSAGE_H
|
#ifndef DNS_MESSAGE_H
|
||||||
#define DNS_MESSAGE_H 1
|
#define DNS_MESSAGE_H 1
|
||||||
@@ -1349,6 +1349,16 @@ dns_message_gettimeadjust(dns_message_t *msg);
|
|||||||
* Requires:
|
* Requires:
|
||||||
*\li msg be a valid message.
|
*\li msg be a valid message.
|
||||||
*/
|
*/
|
||||||
|
void
|
||||||
|
dns_message_logpacket(dns_message_t *message, const char *description,
|
||||||
|
isc_logcategory_t *category, isc_logmodule_t *module,
|
||||||
|
int level, isc_mem_t *mctx);
|
||||||
|
/*%<
|
||||||
|
* Log 'message' at the specified logging parameters.
|
||||||
|
* 'description' will be emitted at the start of the message and will
|
||||||
|
* normally end with a newline.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
ISC_LANG_ENDDECLS
|
ISC_LANG_ENDDECLS
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: message.c,v 1.257 2011/06/08 22:13:50 each Exp $ */
|
/* $Id: message.c,v 1.257.214.1 2012/02/22 05:03:38 marka Exp $ */
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
@@ -3449,3 +3449,43 @@ dns_opcode_totext(dns_opcode_t opcode, isc_buffer_t *target) {
|
|||||||
isc_buffer_putstr(target, opcodetext[opcode]);
|
isc_buffer_putstr(target, opcodetext[opcode]);
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
dns_message_logpacket(dns_message_t *message, const char *description,
|
||||||
|
isc_logcategory_t *category, isc_logmodule_t *module,
|
||||||
|
int level, isc_mem_t *mctx)
|
||||||
|
{
|
||||||
|
isc_buffer_t buffer;
|
||||||
|
char *buf = NULL;
|
||||||
|
int len = 1024;
|
||||||
|
isc_result_t result;
|
||||||
|
|
||||||
|
if (! isc_log_wouldlog(dns_lctx, level))
|
||||||
|
return;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note that these are multiline debug messages. We want a newline
|
||||||
|
* to appear in the log after each message.
|
||||||
|
*/
|
||||||
|
|
||||||
|
do {
|
||||||
|
buf = isc_mem_get(mctx, len);
|
||||||
|
if (buf == NULL)
|
||||||
|
break;
|
||||||
|
isc_buffer_init(&buffer, buf, len);
|
||||||
|
result = dns_message_totext(message, &dns_master_style_debug,
|
||||||
|
0, &buffer);
|
||||||
|
if (result == ISC_R_NOSPACE) {
|
||||||
|
isc_mem_put(mctx, buf, len);
|
||||||
|
len += 1024;
|
||||||
|
} else if (result == ISC_R_SUCCESS)
|
||||||
|
isc_log_write(dns_lctx, category, module, level,
|
||||||
|
"%s%.*s", description,
|
||||||
|
(int)isc_buffer_usedlength(&buffer),
|
||||||
|
buf);
|
||||||
|
} while (result == ISC_R_NOSPACE);
|
||||||
|
|
||||||
|
if (buf != NULL)
|
||||||
|
isc_mem_put(mctx, buf, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: resolver.c,v 1.448 2012/02/14 23:47:15 tbox Exp $ */
|
/* $Id: resolver.c,v 1.448.8.1 2012/02/22 05:03:38 marka Exp $ */
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
@@ -6463,43 +6463,6 @@ log_nsid(dns_rdataset_t *opt, resquery_t *query, int level, isc_mem_t *mctx)
|
|||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
log_packet(dns_message_t *message, int level, isc_mem_t *mctx) {
|
|
||||||
isc_buffer_t buffer;
|
|
||||||
char *buf = NULL;
|
|
||||||
int len = 1024;
|
|
||||||
isc_result_t result;
|
|
||||||
|
|
||||||
if (! isc_log_wouldlog(dns_lctx, level))
|
|
||||||
return;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Note that these are multiline debug messages. We want a newline
|
|
||||||
* to appear in the log after each message.
|
|
||||||
*/
|
|
||||||
|
|
||||||
do {
|
|
||||||
buf = isc_mem_get(mctx, len);
|
|
||||||
if (buf == NULL)
|
|
||||||
break;
|
|
||||||
isc_buffer_init(&buffer, buf, len);
|
|
||||||
result = dns_message_totext(message, &dns_master_style_debug,
|
|
||||||
0, &buffer);
|
|
||||||
if (result == ISC_R_NOSPACE) {
|
|
||||||
isc_mem_put(mctx, buf, len);
|
|
||||||
len += 1024;
|
|
||||||
} else if (result == ISC_R_SUCCESS)
|
|
||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER,
|
|
||||||
DNS_LOGMODULE_RESOLVER, level,
|
|
||||||
"received packet:\n%.*s",
|
|
||||||
(int)isc_buffer_usedlength(&buffer),
|
|
||||||
buf);
|
|
||||||
} while (result == ISC_R_NOSPACE);
|
|
||||||
|
|
||||||
if (buf != NULL)
|
|
||||||
isc_mem_put(mctx, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static isc_boolean_t
|
static isc_boolean_t
|
||||||
iscname(fetchctx_t *fctx) {
|
iscname(fetchctx_t *fctx) {
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
@@ -6734,11 +6697,12 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Log the incoming packet.
|
* Log the incoming packet.
|
||||||
*/
|
*/
|
||||||
log_packet(message, ISC_LOG_DEBUG(10), fctx->res->mctx);
|
dns_message_logpacket(message, "received packet:\n",
|
||||||
|
DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER,
|
||||||
|
ISC_LOG_DEBUG(10), fctx->res->mctx);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Did we request NSID? If so, and if the response contains
|
* Did we request NSID? If so, and if the response contains
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: xfrin.c,v 1.172 2011/12/22 07:32:41 each Exp $ */
|
/* $Id: xfrin.c,v 1.172.54.1 2012/02/22 05:03:39 marka Exp $ */
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
@@ -1240,6 +1240,15 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) {
|
|||||||
result = dns_message_parse(msg, &tcpmsg->buffer,
|
result = dns_message_parse(msg, &tcpmsg->buffer,
|
||||||
DNS_MESSAGEPARSE_PRESERVEORDER);
|
DNS_MESSAGEPARSE_PRESERVEORDER);
|
||||||
|
|
||||||
|
if (result == ISC_R_SUCCESS)
|
||||||
|
dns_message_logpacket(msg, "received message:\n",
|
||||||
|
DNS_LOGCATEGORY_XFER_IN,
|
||||||
|
DNS_LOGMODULE_XFER_IN,
|
||||||
|
ISC_LOG_DEBUG(10), xfr->mctx);
|
||||||
|
else
|
||||||
|
xfrin_log(xfr, ISC_LOG_DEBUG(10), "dns_message_parse: %s",
|
||||||
|
dns_result_totext(result));
|
||||||
|
|
||||||
if (result != ISC_R_SUCCESS || msg->rcode != dns_rcode_noerror ||
|
if (result != ISC_R_SUCCESS || msg->rcode != dns_rcode_noerror ||
|
||||||
(xfr->checkid && msg->id != xfr->id)) {
|
(xfr->checkid && msg->id != xfr->id)) {
|
||||||
if (result == ISC_R_SUCCESS)
|
if (result == ISC_R_SUCCESS)
|
||||||
|
Reference in New Issue
Block a user