From 02b8c69f3c242c254033a98230a8ad659c0ee838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Witold=20Kr=C4=99cicki?= Date: Fri, 31 Jan 2020 22:56:32 +0100 Subject: [PATCH] Remove some stale fields from ns_client_t; make sendbuf allocated on heap --- lib/ns/client.c | 22 ++++++++-------------- lib/ns/include/ns/client.h | 8 +------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/lib/ns/client.c b/lib/ns/client.c index 7ae3c28ded..f3e95a563d 100644 --- a/lib/ns/client.c +++ b/lib/ns/client.c @@ -189,10 +189,6 @@ ns_client_settimeout(ns_client_t *client, unsigned int seconds) { static void ns_client_endrequest(ns_client_t *client) { - INSIST(client->naccepts == 0); - INSIST(client->nreads == 0); - INSIST(client->nsends == 0); - INSIST(client->nrecvs == 0); INSIST(client->nupdates == 0); INSIST(client->state == NS_CLIENTSTATE_WORKING || client->state == NS_CLIENTSTATE_RECURSING); @@ -1614,7 +1610,7 @@ ns__client_put_cb(void *client0) { clientmgr_detach(&client->manager); } - isc_mem_put(client->mctx, client->recvbuf, NS_CLIENT_RECV_BUFFER_SIZE); + isc_mem_put(client->mctx, client->sendbuf, NS_CLIENT_SEND_BUFFER_SIZE); if (client->opt != NULL) { INSIST(dns_rdataset_isassociated(client->opt)); dns_rdataset_disassociate(client->opt); @@ -1704,7 +1700,6 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { } client->state = NS_CLIENTSTATE_READY; - client->dscp = ifp->dscp; isc_task_pause(client->task); if (client->handle == NULL) { @@ -2308,8 +2303,8 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { goto cleanup; } - client->recvbuf = isc_mem_get(client->mctx, - NS_CLIENT_RECV_BUFFER_SIZE); + client->sendbuf = isc_mem_get(client->mctx, + NS_CLIENT_SEND_BUFFER_SIZE); /* * Set magic earlier than usual because ns_query_init() * and the functions it calls will require it. @@ -2323,7 +2318,7 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { ns_clientmgr_t *oldmgr = client->manager; ns_server_t *sctx = client->sctx; isc_task_t *task = client->task; - unsigned char *recvbuf = client->recvbuf; + unsigned char *sendbuf = client->sendbuf; dns_message_t *message = client->message; isc_mem_t *oldmctx = client->mctx; ns_query_t query = client->query; @@ -2333,14 +2328,13 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { .manager = oldmgr, .sctx = sctx, .task = task, - .recvbuf = recvbuf, + .sendbuf = sendbuf, .message = message, .query = query }; } client->state = NS_CLIENTSTATE_INACTIVE; client->udpsize = 512; - client->dscp = -1; client->ednsversion = -1; dns_name_init(&client->signername, NULL); dns_ecs_init(&client->ecs); @@ -2357,9 +2351,9 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { return (ISC_R_SUCCESS); cleanup: - if (client->recvbuf != NULL) { - isc_mem_put(client->mctx, client->recvbuf, - NS_CLIENT_RECV_BUFFER_SIZE); + if (client->sendbuf != NULL) { + isc_mem_put(client->mctx, client->sendbuf, + NS_CLIENT_SEND_BUFFER_SIZE); } if (client->message != NULL) { diff --git a/lib/ns/include/ns/client.h b/lib/ns/include/ns/client.h index 12f159b4fa..b8bf728034 100644 --- a/lib/ns/include/ns/client.h +++ b/lib/ns/include/ns/client.h @@ -178,12 +178,7 @@ struct ns_client { ns_server_t * sctx; ns_clientmgr_t * manager; ns_clientstate_t state; - int naccepts; - int nreads; - int nsends; - int nrecvs; int nupdates; - int nctls; bool shuttingdown; unsigned int attributes; isc_task_t * task; @@ -192,8 +187,7 @@ struct ns_client { isc_nmhandle_t * handle; unsigned char * tcpbuf; dns_message_t * message; - unsigned char * recvbuf; - unsigned char sendbuf[NS_CLIENT_SEND_BUFFER_SIZE]; + unsigned char * sendbuf; dns_rdataset_t * opt; uint16_t udpsize; uint16_t extflags;