msg = ISC_LIST_NEXT(msg, link)) {
if (dns_message_firstname(msg->msg, DNS_SECTION_ANSWER)
== ISC_R_SUCCESS)
+ {
rdataset = chase_scanname_section(msg->msg, name,
type, covers,
DNS_SECTION_ANSWER);
if (rdataset != NULL)
return (rdataset);
+ }
if (dns_message_firstname(msg->msg, DNS_SECTION_AUTHORITY)
== ISC_R_SUCCESS)
+ {
rdataset =
chase_scanname_section(msg->msg, name,
type, covers,
DNS_SECTION_AUTHORITY);
if (rdataset != NULL)
return (rdataset);
+ }
if (dns_message_firstname(msg->msg, DNS_SECTION_ADDITIONAL)
== ISC_R_SUCCESS)
+ {
rdataset =
chase_scanname_section(msg->msg, name, type,
covers,
DNS_SECTION_ADDITIONAL);
if (rdataset != NULL)
return (rdataset);
+ }
}
return (NULL);
client->attributes |= NS_CLIENTATTR_TCP;
client->pipelined = ISC_TRUE;
+ client->mortal = ISC_TRUE;
isc_socket_attach(ifp->tcpsocket, &client->tcplistener);
isc_socket_attach(sock, &client->tcpsocket);
isc_logmodule_t *module, int level, const char *fmt, va_list ap)
{
char msgbuf[4096];
- char peerbuf[ISC_SOCKADDR_FORMATSIZE];
char signerbuf[DNS_NAME_FORMATSIZE], qnamebuf[DNS_NAME_FORMATSIZE];
const char *viewname = "";
const char *sep1 = "", *sep2 = "", *sep3 = "", *sep4 = "";
vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap);
- ns_client_name(client, peerbuf, sizeof(peerbuf));
-
if (client->signer != NULL) {
dns_name_format(client->signer, signerbuf, sizeof(signerbuf));
sep1 = "/key ";
viewname = client->view->name;
}
- isc_log_write(ns_g_lctx, category, module, level,
- "client %s%s%s%s%s%s%s%s: %s",
- peerbuf, sep1, signer, sep2, qname, sep3,
- sep4, viewname, msgbuf);
+ if (client->peeraddr_valid) {
+ char peerbuf[ISC_SOCKADDR_FORMATSIZE];
+
+ isc_sockaddr_format(&client->peeraddr,
+ peerbuf, sizeof(peerbuf));
+ isc_log_write(ns_g_lctx, category, module, level,
+ "client @%p %s%s%s%s%s%s%s%s: %s",
+ client, peerbuf, sep1, signer, sep2, qname, sep3,
+ sep4, viewname, msgbuf);
+ } else {
+ isc_log_write(ns_g_lctx, category, module, level,
+ "client @%p%s%s%s%s%s%s%s: %s",
+ client, sep1, signer, sep2, qname, sep3,
+ sep4, viewname, msgbuf);
+ }
}
void