diff --git a/bin/named/client.c b/bin/named/client.c index 198dc6da3d..e716eb278c 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -982,3 +982,11 @@ ns_clientmgr_accepttcp(ns_clientmgr_t *manager, isc_socket_t *socket, return (result); } + +isc_sockaddr_t * +ns_client_getsockaddr(ns_client_t *client) { + if (TCP_CLIENT(client)) + return (&client->tcpmsg.address); + else + return (&client->dispevent->addr); +} diff --git a/bin/named/include/named/client.h b/bin/named/include/named/client.h index ba31ada94b..20e41bc5a3 100644 --- a/bin/named/include/named/client.h +++ b/bin/named/include/named/client.h @@ -113,4 +113,7 @@ isc_result_t ns_clientmgr_accepttcp(ns_clientmgr_t *manager, isc_socket_t *socket, unsigned int n); +isc_sockaddr_t * +ns_client_getsockaddr(ns_client_t *client); + #endif /* NS_CLIENT_H */