diff options
Diffstat (limited to 'lib/dns/view.c')
-rw-r--r-- | lib/dns/view.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/dns/view.c b/lib/dns/view.c index 3730593b9e37..da1136c075ac 100644 --- a/lib/dns/view.c +++ b/lib/dns/view.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,8 +15,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id$ */ - /*! \file */ #include <config.h> @@ -688,7 +686,8 @@ req_shutdown(isc_task_t *task, isc_event_t *event) { isc_result_t dns_view_createresolver(dns_view_t *view, isc_taskmgr_t *taskmgr, - unsigned int ntasks, unsigned int ndisp, + unsigned int ntasks, + unsigned int ndisp, isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, unsigned int options, @@ -1322,10 +1321,16 @@ dns_view_findzonecut2(dns_view_t *view, dns_name_t *name, dns_name_t *fname, result = dns_db_findzonecut(db, name, options, now, NULL, fname, rdataset, sigrdataset); if (result == ISC_R_SUCCESS) { +#ifdef BIND9 if (zfname != NULL && (!dns_name_issubdomain(fname, zfname) || - (dns_zone_staticstub && - dns_name_equal(fname, zfname)))) { + (dns_zone_gettype(zone) == dns_zone_staticstub && + dns_name_equal(fname, zfname)))) +#else + if (zfname != NULL && + !dns_name_issubdomain(fname, zfname)) +#endif + { /* * We found a zonecut in the cache, but our * zone delegation is better. |