From: Mark Andrews Date: Sat, 22 Jul 2006 01:09:38 +0000 (+0000) Subject: 2057. [bug] Make setting "ra" dependent on both allow-query and X-Git-Tag: v9.3.3rc1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d23b1aa83f4e9bc63c227bee0d7a306ecf22b731;p=thirdparty%2Fbind9.git 2057. [bug] Make setting "ra" dependent on both allow-query and allow-recursion. [RT #16290] --- diff --git a/CHANGES b/CHANGES index 84bc61f0136..1659207b7f8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2057. [bug] Make setting "ra" dependent on both allow-query and + allow-recursion. [RT #16290] + 2056. [bug] dig: ixfr= was not being treated case insensitively at all times. [RT #15955] diff --git a/bin/named/client.c b/bin/named/client.c index 807e78a6f01..b0ce793b98e 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.176.2.13.4.30 2006/07/21 23:41:41 marka Exp $ */ +/* $Id: client.c,v 1.176.2.13.4.31 2006/07/22 01:09:38 marka Exp $ */ #include @@ -1609,12 +1609,15 @@ client_request(isc_task_t *task, isc_event_t *event) { * Decide whether recursive service is available to this client. * We do this here rather than in the query code so that we can * set the RA bit correctly on all kinds of responses, not just - * responses to ordinary queries. + * responses to ordinary queries. Note if you can't query the + * cache there is no point in setting RA. */ ra = ISC_FALSE; if (client->view->resolver != NULL && client->view->recursion == ISC_TRUE && ns_client_checkaclsilent(client, client->view->recursionacl, + ISC_TRUE) == ISC_R_SUCCESS && + ns_client_checkaclsilent(client, client->view->queryacl, ISC_TRUE) == ISC_R_SUCCESS) ra = ISC_TRUE;