mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
cleaner, but more invasive, fix to 335.
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: client.c,v 1.101 2000/07/17 18:43:30 bwelling Exp $ */
|
/* $Id: client.c,v 1.102 2000/07/17 23:19:14 gson Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -488,6 +488,12 @@ ns_client_endrequest(ns_client_t *client) {
|
|||||||
|
|
||||||
if (client->recursionquota != NULL)
|
if (client->recursionquota != NULL)
|
||||||
isc_quota_detach(&client->recursionquota);
|
isc_quota_detach(&client->recursionquota);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Clear all client attributes that are specific to
|
||||||
|
* the request; that's all except the TCP flag.
|
||||||
|
*/
|
||||||
|
client->attributes &= NS_CLIENTATTR_TCP;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -847,13 +853,9 @@ client_request(isc_task_t *task, isc_event_t *event) {
|
|||||||
if ((devent->attributes & ISC_SOCKEVENTATTR_PKTINFO) != 0) {
|
if ((devent->attributes & ISC_SOCKEVENTATTR_PKTINFO) != 0) {
|
||||||
client->attributes |= NS_CLIENTATTR_PKTINFO;
|
client->attributes |= NS_CLIENTATTR_PKTINFO;
|
||||||
client->pktinfo = devent->pktinfo;
|
client->pktinfo = devent->pktinfo;
|
||||||
} else {
|
|
||||||
client->attributes &= ~NS_CLIENTATTR_PKTINFO;
|
|
||||||
}
|
}
|
||||||
if ((devent->attributes & ISC_SOCKEVENTATTR_MULTICAST) != 0)
|
if ((devent->attributes & ISC_SOCKEVENTATTR_MULTICAST) != 0)
|
||||||
client->attributes |= NS_CLIENTATTR_MULTICAST;
|
client->attributes |= NS_CLIENTATTR_MULTICAST;
|
||||||
else
|
|
||||||
client->attributes &= ~NS_CLIENTATTR_MULTICAST;
|
|
||||||
} else {
|
} else {
|
||||||
INSIST(TCP_CLIENT(client));
|
INSIST(TCP_CLIENT(client));
|
||||||
REQUIRE(event->ev_type == DNS_EVENT_TCPMSG);
|
REQUIRE(event->ev_type == DNS_EVENT_TCPMSG);
|
||||||
@@ -1053,8 +1055,6 @@ client_request(isc_task_t *task, isc_event_t *event) {
|
|||||||
|
|
||||||
if (ra == ISC_TRUE)
|
if (ra == ISC_TRUE)
|
||||||
client->attributes |= NS_CLIENTATTR_RA;
|
client->attributes |= NS_CLIENTATTR_RA;
|
||||||
else
|
|
||||||
client->attributes &= ~NS_CLIENTATTR_RA;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Dispatch the request.
|
* Dispatch the request.
|
||||||
|
Reference in New Issue
Block a user