mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 05:19:59 -04:00
report client transport in 'rndc recursing'
when dumping the list of recursing clients, indicate whether a given query was sent over UDP, TCP, TLS, or HTTP.
This commit is contained in:
parent
26ed03c247
commit
8104ffda0e
4 changed files with 31 additions and 7 deletions
|
|
@ -429,8 +429,10 @@ Currently supported commands are:
|
|||
|
||||
The first list includes all unique clients that are waiting for
|
||||
recursion to complete, including the query that is awaiting a
|
||||
response and the timestamp (seconds since the Unix epoch) of
|
||||
when named started processing this client query.
|
||||
response, the timestamp (seconds since the Unix epoch) of
|
||||
when named started processing this client query, the client's
|
||||
address, and the transport over which the the query was received
|
||||
(UDP, TCP, TLS, or HTTP).
|
||||
|
||||
The second list comprises of domains for which there are active
|
||||
(or recently active) fetches in progress. It reports the number
|
||||
|
|
|
|||
|
|
@ -204,3 +204,9 @@ dns_transport_list_detach(dns_transport_list_t **listp);
|
|||
*\li 'listp' is not NULL.
|
||||
*\li '*listp' is a valid transport list.
|
||||
*/
|
||||
|
||||
const char *
|
||||
dns_transport_totext(dns_transport_type_t type);
|
||||
/*%<
|
||||
* Convert a transport type value into a string.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -772,3 +772,19 @@ dns_transport_list_detach(dns_transport_list_t **listp) {
|
|||
transport_list_destroy(list);
|
||||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
dns_transport_totext(dns_transport_type_t type) {
|
||||
switch (type) {
|
||||
case DNS_TRANSPORT_UDP:
|
||||
return ("udp");
|
||||
case DNS_TRANSPORT_TCP:
|
||||
return ("tcp");
|
||||
case DNS_TRANSPORT_TLS:
|
||||
return ("tls");
|
||||
case DNS_TRANSPORT_HTTP:
|
||||
return ("https");
|
||||
default:
|
||||
UNREACHABLE();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,7 +141,6 @@ static void
|
|||
compute_cookie(ns_client_t *client, uint32_t when, const unsigned char *secret,
|
||||
isc_buffer_t *buf);
|
||||
|
||||
#ifdef HAVE_DNSTAP
|
||||
static dns_transport_type_t
|
||||
ns_client_transport_type(const ns_client_t *client) {
|
||||
/*
|
||||
|
|
@ -186,7 +185,6 @@ ns_client_transport_type(const ns_client_t *client) {
|
|||
|
||||
return DNS_TRANSPORT_UDP;
|
||||
}
|
||||
#endif /* HAVE_DNSTAP */
|
||||
|
||||
void
|
||||
ns_client_recursing(ns_client_t *client) {
|
||||
|
|
@ -2921,10 +2919,12 @@ ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) {
|
|||
}
|
||||
UNLOCK(&client->query.fetchlock);
|
||||
fprintf(f,
|
||||
"; client %s%s%s: id %u '%s/%s/%s'%s%s "
|
||||
"; client %s (%s)%s%s: id %u '%s/%s/%s'%s%s "
|
||||
"requesttime %u\n",
|
||||
peerbuf, sep, name, client->message->id, namebuf,
|
||||
typebuf, classbuf, origfor, original,
|
||||
peerbuf,
|
||||
dns_transport_totext(ns_client_transport_type(client)),
|
||||
sep, name, client->message->id, namebuf, typebuf,
|
||||
classbuf, origfor, original,
|
||||
isc_time_seconds(&client->requesttime));
|
||||
client = ISC_LIST_NEXT(client, rlink);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue