From: Witold Kręcicki Date: Fri, 31 Jan 2020 21:56:32 +0000 (+0100) Subject: Remove some stale fields from ns_client_t; make sendbuf allocated on heap X-Git-Tag: v9.17.1~90^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c6c07286fe5ef28418ad207bce4169010f6b607;p=thirdparty%2Fbind9.git Remove some stale fields from ns_client_t; make sendbuf allocated on heap --- diff --git a/lib/ns/client.c b/lib/ns/client.c index 3a0a9c69f7e..ba0639a83eb 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); @@ -1622,7 +1618,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); @@ -1712,7 +1708,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) { @@ -2316,8 +2311,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. @@ -2331,7 +2326,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; @@ -2341,14 +2336,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); @@ -2365,9 +2359,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 12f159b4fac..61612a32eac 100644 --- a/lib/ns/include/ns/client.h +++ b/lib/ns/include/ns/client.h @@ -83,7 +83,6 @@ #define NS_CLIENT_TCP_BUFFER_SIZE (65535 + 2) #define NS_CLIENT_SEND_BUFFER_SIZE 4096 -#define NS_CLIENT_RECV_BUFFER_SIZE 4096 /*! * Client object states. Ordering is significant: higher-numbered @@ -178,12 +177,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 +186,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;