Blame SOURCES/bind99-rh1464850.patch

964723
From b154e9fd7a4acc87435f858d43b8c234885a8763 Mon Sep 17 00:00:00 2001
964723
From: Evan Hunt <each@isc.org>
964723
Date: Tue, 18 Feb 2014 22:36:14 -0800
964723
Subject: [PATCH 1/2] add "--with-tuning=large" option
964723
964723
3745.	[func]		"configure --with-tuning=large" adjusts various
964723
			compiled-in constants and default settings to
964723
			values suited to large servers with abundant
964723
			memory. [RT #29538]
964723
964723
(cherry picked from commit 6a3fa181d1253db5191139e20231512eebaddeeb)
964723
---
964723
 README                     |    8 +
964723
 bin/named/bind9.ver3.xsl.h |    6 +-
964723
 bin/named/interfacemgr.c   |    9 +-
964723
 bin/named/named.docbook    |    3 +
964723
 bin/named/server.c         |   21 +-
964723
 bin/named/update.c         |    2 +-
964723
 config.h.in                |    3 +
964723
 configure                  | 1064 ++++++++++++++++++++++++++++++++++++--------
964723
 configure.in               |   25 ++
964723
 lib/dns/client.c           |    8 +-
964723
 lib/isc/unix/socket.c      |   12 +
964723
 11 files changed, 975 insertions(+), 186 deletions(-)
964723
964723
diff --git a/README b/README
964723
index b22e9ce..7451acb 100644
964723
--- a/README
964723
+++ b/README
964723
@@ -221,6 +221,14 @@ Building
964723
 	To build shared libraries, specify "--with-libtool" on the
964723
 	configure command line.
964723
 
964723
+	Certain compiled-in constants and default settings can be
964723
+	increased to values better suited to large servers with abundant
964723
+	memory resources (e.g, 64-bit servers with 12G or more of memory)
964723
+	by specifying "--with-tuning=large" on the configure command
964723
+	line. This can improve performance on big servers, but will
964723
+	consume more memory and may degrade performance on smaller
964723
+	systems.
964723
+
964723
 	For the server to support DNSSEC, you need to build it
964723
 	with crypto support.  You must have OpenSSL 0.9.5a
964723
 	or newer installed and specify "--with-openssl" on the
964723
diff --git a/bin/named/bind9.ver3.xsl.h b/bin/named/bind9.ver3.xsl.h
964723
index c55714a..8c0a4a9 100644
964723
--- a/bin/named/bind9.ver3.xsl.h
964723
+++ b/bin/named/bind9.ver3.xsl.h
964723
@@ -210,7 +210,7 @@ static char xslmsg[] =
964723
 	" 

Incoming Requests

\n"
964723
 	" <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
964723
 	" \n"
964723
-	" 
[graph incoming requests]
\n"
964723
+	" 
[no incoming requests]
\n"
964723
 	" </xsl:if>\n"
964723
 	" \n"
964723
 	" <xsl:for-each select=\"server/counters[@type="opcode"]/counter\">\n"
964723
@@ -235,7 +235,7 @@ static char xslmsg[] =
964723
 	" 

Incoming Queries by Type

\n"
964723
 	" <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
964723
 	" \n"
964723
-	" 
[graph incoming qtypes]
\n"
964723
+	" 
[no incoming queries]
\n"
964723
 	" </xsl:if>\n"
964723
 	" \n"
964723
 	" <xsl:for-each select=\"server/counters[@type="qtype"]/counter\">\n"
964723
@@ -307,7 +307,7 @@ static char xslmsg[] =
964723
 	" \n"
964723
 	" <script type=\"text/javascript\">\n"
964723
 	" graphs.push({\n"
964723
-	" 'title' : \"Server Response Types\",\n"
964723
+	" 'title' : \"Server Counters\",\n"
964723
 	" 'target': 'chart_server_nsstat_restype',\n"
964723
 	" 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type="nsstat"]/counter[.>0]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n"
964723
 	" });\n"
964723
diff --git a/bin/named/interfacemgr.c b/bin/named/interfacemgr.c
964723
index a9aa4a4..4aee47a 100644
964723
--- a/bin/named/interfacemgr.c
964723
+++ b/bin/named/interfacemgr.c
964723
@@ -56,6 +56,12 @@
964723
 #endif
964723
 #endif
964723
 
964723
+#ifdef TUNE_LARGE
964723
+#define UDPBUFFERS 32768 
964723
+#else
964723
+#define UDPBUFFERS 1000
964723
+#endif /* TUNE_LARGE */
964723
+
964723
 #define IFMGR_MAGIC			ISC_MAGIC('I', 'F', 'M', 'G')
964723
 #define NS_INTERFACEMGR_VALID(t)	ISC_MAGIC_VALID(t, IFMGR_MAGIC)
964723
 
964723
@@ -422,7 +428,8 @@ ns_interface_listenudp(ns_interface_t *ifp) {
964723
 		result = dns_dispatch_getudp_dup(ifp->mgr->dispatchmgr,
964723
 						 ns_g_socketmgr,
964723
 						 ns_g_taskmgr, &ifp->addr,
964723
-						 4096, 32768, 32768, 8219, 8237,
964723
+						 4096, UDPBUFFERS,
964723
+						 32768, 8219, 8237,
964723
 						 attrs, attrmask,
964723
 						 &ifp->udpdispatch[disp],
964723
 						 disp == 0
964723
diff --git a/bin/named/named.docbook b/bin/named/named.docbook
964723
index 8f46aac..33f962e 100644
964723
--- a/bin/named/named.docbook
964723
+++ b/bin/named/named.docbook
964723
@@ -248,6 +248,9 @@
964723
 	  <para>
964723
 	    Allow <command>named</command> to use up to
964723
 	    <replaceable class="parameter">#max-socks</replaceable> sockets.
964723
+            The default value is 4096 on systems built with default
964723
+            configuration options, and 21000 on systems built with
964723
+            "configure --with-tuning=large".
964723
 	  </para>
964723
           <warning>
964723
             <para>
964723
diff --git a/bin/named/server.c b/bin/named/server.c
964723
index b1681b4..48a7ef0 100644
964723
--- a/bin/named/server.c
964723
+++ b/bin/named/server.c
964723
@@ -127,6 +127,16 @@
964723
 #define SIZE_MAX ((size_t)-1)
964723
 #endif
964723
 
964723
+#ifdef TUNE_LARGE
964723
+#define RESOLVER_NTASKS 523
964723
+#define UDPBUFFERS 32768
964723
+#define EXCLBUFFERS 32768
964723
+#else
964723
+#define RESOLVER_NTASKS 31
964723
+#define UDPBUFFERS 1000
964723
+#define EXCLBUFFERS 4096
964723
+#endif /* TUNE_LARGE */
964723
+
964723
 /*%
964723
  * Check an operation for failure.  Assumes that the function
964723
  * using it has a 'result' variable and a 'cleanup' label.
964723
@@ -948,7 +958,7 @@ get_view_querysource_dispatch(const cfg_obj_t **maps,
964723
 	isc_sockaddr_t sa;
964723
 	unsigned int attrs, attrmask;
964723
 	const cfg_obj_t *obj = NULL;
964723
-	unsigned int maxdispatchbuffers;
964723
+	unsigned int maxdispatchbuffers = UDPBUFFERS;
964723
 
964723
 	switch (af) {
964723
 	case AF_INET:
964723
@@ -997,7 +1007,7 @@ get_view_querysource_dispatch(const cfg_obj_t **maps,
964723
 	}
964723
 	if (isc_sockaddr_getport(&sa) == 0) {
964723
 		attrs |= DNS_DISPATCHATTR_EXCLUSIVE;
964723
-		maxdispatchbuffers = 32768;
964723
+		maxdispatchbuffers = EXCLBUFFERS;
964723
 	} else {
964723
 		INSIST(obj != NULL);
964723
 		if (is_firstview) {
964723
@@ -1006,7 +1016,6 @@ get_view_querysource_dispatch(const cfg_obj_t **maps,
964723
 				    "suppresses port randomization and can be "
964723
 				    "insecure.");
964723
 		}
964723
-		maxdispatchbuffers = 32768;
964723
 	}
964723
 
964723
 	attrmask = 0;
964723
@@ -2718,8 +2727,8 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
964723
 	}
964723
 
964723
 	ndisp = 4 * ISC_MIN(ns_g_udpdisp, MAX_UDP_DISPATCH);
964723
-	CHECK(dns_view_createresolver(view, ns_g_taskmgr, 31, ndisp,
964723
-				      ns_g_socketmgr, ns_g_timermgr,
964723
+	CHECK(dns_view_createresolver(view, ns_g_taskmgr, RESOLVER_NTASKS,
964723
+				      ndisp, ns_g_socketmgr, ns_g_timermgr,
964723
 				      resopts, ns_g_dispatchmgr,
964723
 				      dispatch4, dispatch6));
964723
 
964723
@@ -6502,7 +6511,7 @@ ns_add_reserved_dispatch(ns_server_t *server, const isc_sockaddr_t *addr) {
964723
 
964723
 	result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr,
964723
 				     ns_g_taskmgr, &dispatch->addr, 4096,
964723
-				     32768, 32768, 16411, 16433,
964723
+				     UDPBUFFERS, 32768, 16411, 16433,
964723
 				     attrs, attrmask, &dispatch->dispatch);
964723
 	if (result != ISC_R_SUCCESS)
964723
 		goto cleanup;
964723
diff --git a/bin/named/update.c b/bin/named/update.c
964723
index 2263382..14687ea 100644
964723
--- a/bin/named/update.c
964723
+++ b/bin/named/update.c
964723
@@ -2454,7 +2454,7 @@ update_action(isc_task_t *task, isc_event_t *event) {
964723
 	unsigned int options;
964723
 	dns_difftuple_t *tuple;
964723
 	dns_rdata_dnskey_t dnskey;
964723
-	isc_boolean_t had_dnskey;
964723
+	isc_boolean_t had_dnskey = ISC_FALSE;
964723
 	dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone);
964723
 
964723
 	INSIST(event->ev_type == DNS_EVENT_UPDATE);
964723
diff --git a/config.h.in b/config.h.in
964723
index 3515f69..eca525c 100644
964723
--- a/config.h.in
964723
+++ b/config.h.in
964723
@@ -457,6 +457,9 @@ int sigwait(const unsigned int *set, int *sig);
964723
 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
964723
 #undef TIME_WITH_SYS_TIME
964723
 
964723
+/* Define to use large-system tuning. */
964723
+#undef TUNE_LARGE
964723
+
964723
 /* Defined if you need to use ioctl(FIONBIO) instead a fcntl call to make
964723
    non-blocking. */
964723
 #undef USE_FIONBIO_IOCTL
964723
diff --git a/configure b/configure
964723
index c62da63..31c518a 100755
964723
--- a/configure
964723
+++ b/configure
964723
@@ -162,7 +162,7 @@
964723
 #
964723
 #  -----------------------------------------------------------------------------
964723
 #
964723
-# Copyright (c) 1997 - 2003 Kungliga Tekniska H�gskolan
964723
+# Copyright (c) 1997 - 2003 Kungliga Tekniska Högskolan
964723
 # (Royal Institute of Technology, Stockholm, Sweden).
964723
 # All rights reserved.
964723
 #
964723
@@ -517,6 +517,21 @@
964723
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
964723
 # OF THE POSSIBILITY OF SUCH DAMAGE.
964723
 #
964723
+# -----------------------------------------------------------------------------
964723
+#
964723
+# Copyright (C) 2008-2011  Red Hat, Inc.
964723
+#
964723
+# Permission to use, copy, modify, and/or distribute this software for any
964723
+# purpose with or without fee is hereby granted, provided that the above
964723
+# copyright notice and this permission notice appear in all copies.
964723
+#
964723
+# THE SOFTWARE IS PROVIDED "AS IS" AND Red Hat DISCLAIMS ALL WARRANTIES WITH
964723
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+# AND FITNESS.  IN NO EVENT SHALL Red Hat BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+# PERFORMANCE OF THIS SOFTWARE.
964723
 # From configure.in Revision: 1.533 .
964723
 # Guess values for system-dependent variables and create Makefiles.
964723
 # Generated by GNU Autoconf 2.69.
964723
@@ -1305,6 +1320,8 @@ THREADOPTSRCS
964723
 THREADOPTOBJS
964723
 ISC_PLATFORM_USETHREADS
964723
 ALWAYS_DEFINES
964723
+CHECK_DSA
964723
+DNS_CRYPTO_PK11_LIBS
964723
 DNS_CRYPTO_LIBS
964723
 DNS_GSSAPI_LIBS
964723
 DST_GSSAPI_INC
964723
@@ -1313,7 +1330,25 @@ ISC_PLATFORM_KRB5HEADER
964723
 ISC_PLATFORM_GSSAPI_KRB5_HEADER
964723
 ISC_PLATFORM_GSSAPIHEADER
964723
 ISC_PLATFORM_HAVEGSSAPI
964723
+GEOIPLINKOBJS
964723
+GEOIPLINKSRCS
964723
+PKCS11_TEST
964723
+PKCS11_GOST
964723
+PKCS11_ECDSA
964723
+CRYPTO_PK11
964723
+CRYPTO
964723
+PKCS11LINKSRCS
964723
+PKCS11LINKOBJS
964723
 PKCS11_PROVIDER
964723
+ISC_ISCPK11_API_O
964723
+ISC_ISCPK11_API_C
964723
+ISC_PK11_RESULT_O
964723
+ISC_PK11_RESULT_C
964723
+ISC_PK11_API_O
964723
+ISC_PK11_API_C
964723
+ISC_PK11_O
964723
+ISC_PK11_C
964723
+PKCS11_ENGINE
964723
 PKCS11_TOOLS
964723
 USE_PKCS11
964723
 ISC_OPENSSL_INC
964723
@@ -1325,7 +1360,6 @@ OPENSSLLINKOBJS
964723
 OPENSSLGOSTLINKSRCS
964723
 OPENSSLGOSTLINKOBJS
964723
 DST_OPENSSL_INC
964723
-USE_OPENSSL
964723
 LWRES_PLATFORM_NEEDSYSSELECTH
964723
 ISC_PLATFORM_NEEDSYSSELECTH
964723
 ISC_PLATFORM_HAVEDEVPOLL
964723
@@ -1434,6 +1468,7 @@ PATH_SEPARATOR
964723
 SHELL'
964723
 ac_subst_files='BIND9_MAKE_INCLUDES
964723
 BIND9_MAKE_RULES
964723
+LIBISCPK11_API
964723
 LIBISC_API
964723
 LIBISCCC_API
964723
 LIBISCCFG_API
964723
@@ -1460,18 +1495,20 @@ enable_kqueue
964723
 enable_epoll
964723
 enable_devpoll
964723
 with_openssl
964723
-enable_openssl_version_check
964723
-with_ecdsa
964723
+enable_native_pkcs11
964723
+with_pkcs11
964723
 with_gost
964723
+with_ecdsa
964723
+enable_openssl_version_check
964723
 enable_openssl_hash
964723
-with_pkcs11
964723
+with_libtool
964723
+with_geoip
964723
 with_gssapi
964723
 with_randomdev
964723
 enable_threads
964723
 with_libxml2
964723
 enable_largefile
964723
 with_purify
964723
-with_libtool
964723
 enable_backtrace
964723
 enable_symtable
964723
 enable_exportlib
964723
@@ -1496,6 +1533,7 @@ with_libiconv
964723
 with_iconv
964723
 with_idnlib
964723
 with_atf
964723
+with_tuning
964723
 with_dlopen
964723
 with_dlz_postgres
964723
 with_dlz_mysql
964723
@@ -2139,6 +2177,7 @@ Optional Features:
964723
   --enable-kqueue         use BSD kqueue when available [default=yes]
964723
   --enable-epoll          use Linux epoll when available [default=auto]
964723
   --enable-devpoll        use /dev/poll when available [default=yes]
964723
+  --enable-native-pkcs11  use native PKCS11 for all crypto [default=no]
964723
   --enable-openssl-version-check
964723
                           Check OpenSSL Version [default=yes]
964723
   --enable-openssl-hash   use OpenSSL for hash functions [default=no]
964723
@@ -2175,15 +2214,16 @@ Optional Packages:
964723
   --with-python=PATH      Specify path to python interpreter
964723
   --with-openssl=PATH     Build with OpenSSL yes|no|path.
964723
 			  (Required for DNSSEC)
964723
-  --with-ecdsa            OpenSSL ECDSA
964723
-  --with-gost             OpenSSL GOST
964723
   --with-pkcs11=PATH      Build with PKCS11 support yes|no|path
964723
                           (PATH is for the PKCS11 provider)
964723
+  --with-gost             Crypto GOST yes|no|raw|asn1.
964723
+  --with-ecdsa            OpenSSL ECDSA
964723
+  --with-libtool          use GNU libtool
964723
+  --with-geoip=PATH       Build with GeoIP support (yes|no|path)
964723
   --with-gssapi=PATH      Specify path for system-supplied GSSAPI [default=yes]
964723
   --with-randomdev=PATH   Specify path for random device
964723
   --with-libxml2=PATH     Build with libxml2 library yes|no|path
964723
   --with-purify=PATH      use Rational purify
964723
-  --with-libtool          use GNU libtool
964723
   --with-export-libdir=PATH
964723
                           installation directory for the export library
964723
                           [EPREFIX/lib/bind9]
964723
@@ -2199,6 +2239,7 @@ Optional Packages:
964723
   --with-iconv=LIBSPEC    specify iconv library default -liconv
964723
   --with-idnlib=ARG       specify libidnkit
964723
   --with-atf=ARG          Automated Test Framework support
964723
+  --with-tuning=ARG       Specify server tuning (large or default)
964723
   --with-dlopen=ARG       Support dynamically loadable DLZ drivers
964723
   --with-dlz-postgres=PATH   Build with Postgres DLZ driver yes|no|path.
964723
                                (Required to use Postgres with DLZ)
964723
@@ -13056,13 +13097,16 @@ $as_echo "#define STDC_HEADERS 1" >>confdefs.h
964723
 fi
964723
 
964723
 
964723
-for ac_header in fcntl.h regex.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param.h sys/sysctl.h net/if6.h
964723
+for ac_header in fcntl.h regex.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param.h sys/sysctl.h net/if6.h sys/socket.h net/route.h linux/netlink.h linux/rtnetlink.h
964723
 do :
964723
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
964723
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
964723
 #ifdef HAVE_SYS_PARAM_H
964723
 # include <sys/param.h>
964723
 #endif
964723
+#ifdef HAVE_SYS_SOCKET_H
964723
+# include <sys/socket.h>
964723
+#endif
964723
 
964723
 "
964723
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
964723
@@ -14008,26 +14052,98 @@ else
964723
 fi
964723
 
964723
 
964723
+#
964723
+# was --enable-native-pkcs11 specified?
964723
+#  (note it implies both --without-openssl and --with-pkcs11)
964723
+#
964723
+# Check whether --enable-native-pkcs11 was given.
964723
+if test "${enable_native_pkcs11+set}" = set; then :
964723
+  enableval=$enable_native_pkcs11; want_native_pkcs11="$enableval"
964723
+else
964723
+  want_native_pkcs11="no"
964723
+fi
964723
+
964723
+
964723
+
964723
+# Check whether --with-pkcs11 was given.
964723
+if test "${with_pkcs11+set}" = set; then :
964723
+  withval=$with_pkcs11; use_pkcs11="$withval"
964723
+else
964723
+  use_pkcs11="auto"
964723
+fi
964723
+
964723
+
964723
 openssldirs="/usr /usr/local /usr/local/ssl /usr/pkg /usr/sfw"
964723
 if test "$use_openssl" = "auto"
964723
 then
964723
-	for d in $openssldirs
964723
-	do
964723
-		if test -f $d/include/openssl/opensslv.h
964723
-		then
964723
-			use_openssl=$d
964723
-			break
964723
-		fi
964723
-	done
964723
+#    if test "$want_native_pkcs11" = "yes"
964723
+#    then
964723
+#        use_openssl="native_pkcs11"
964723
+#    else
964723
+	    for d in $openssldirs
964723
+    	do
964723
+	    	if test -f $d/include/openssl/opensslv.h
964723
+		    then
964723
+			    use_openssl=$d
964723
+    			break
964723
+		    fi
964723
+    	done
964723
+#    fi
964723
 fi
964723
 OPENSSL_ECDSA=""
964723
 OPENSSL_GOST=""
964723
+
964723
+# Check whether --with-gost was given.
964723
+if test "${with_gost+set}" = set; then :
964723
+  withval=$with_gost; with_gost="$withval"
964723
+else
964723
+  with_gost="auto"
964723
+fi
964723
+
964723
+
964723
+# Check whether --with-ecdsa was given.
964723
+if test "${with_ecdsa+set}" = set; then :
964723
+  withval=$with_ecdsa; with_ecdsa="$withval"
964723
+else
964723
+  with_ecdsa="auto"
964723
+fi
964723
+
964723
+
964723
+gosttype="raw"
964723
+case "$with_gost" in
964723
+	raw)
964723
+		with_gost="yes"
964723
+		;;
964723
+	asn1)
964723
+
964723
+$as_echo "#define PREFER_GOSTASN1 1" >>confdefs.h
964723
+
964723
+                gosttype="asn1"
964723
+		with_gost="yes"
964723
+		;;
964723
+	auto|yes|no)
964723
+		;;
964723
+	*)
964723
+		as_fn_error $? "unknown GOST private key encoding" "$LINENO" 5
964723
+		;;
964723
+esac
964723
+
964723
 case "$use_openssl" in
964723
+    native_pkcs11)
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled because of native PKCS11" >&5
964723
+$as_echo "disabled because of native PKCS11" >&6; }
964723
+		DST_OPENSSL_INC=""
964723
+		CRYPTO=""
964723
+		OPENSSLGOSTLINKOBJS=""
964723
+		OPENSSLGOSTLINKSRS=""
964723
+		OPENSSLLINKOBJS=""
964723
+		OPENSSLLINKSRCS=""
964723
+		;;
964723
 	no)
964723
 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
964723
 $as_echo "no" >&6; }
964723
 		DST_OPENSSL_INC=""
964723
-		USE_OPENSSL=""
964723
+		CRYPTO=""
964723
 		OPENSSLGOSTLINKOBJS=""
964723
 		OPENSSLGOSTLINKSRS=""
964723
 		OPENSSLLINKOBJS=""
964723
@@ -14035,7 +14151,7 @@ $as_echo "no" >&6; }
964723
 		;;
964723
 	auto)
964723
 		DST_OPENSSL_INC=""
964723
-		USE_OPENSSL=""
964723
+		CRYPTO=""
964723
 		OPENSSLGOSTLINKOBJS=""
964723
 		OPENSSLGOSTLINKSRS=""
964723
 		OPENSSLLINKOBJS=""
964723
@@ -14044,6 +14160,11 @@ $as_echo "no" >&6; }
964723
 If you don't want OpenSSL, use --without-openssl" "$LINENO" 5
964723
 		;;
964723
 	*)
964723
+#		if test "$want_native_pkcs11" = "yes"
964723
+#		then
964723
+#                        AC_MSG_RESULT()
964723
+#			AC_MSG_ERROR([OpenSSL and native PKCS11 cannot be used together.])
964723
+#		fi
964723
 		if test "$use_openssl" = "yes"
964723
 		then
964723
 			# User did not specify a path - guess it
964723
@@ -14065,7 +14186,7 @@ $as_echo "not found" >&6; }
964723
 		then
964723
 			as_fn_error $? "\"$use_openssl/include/openssl/opensslv.h\" not found" "$LINENO" 5
964723
 		fi
964723
-		USE_OPENSSL='-DOPENSSL'
964723
+		CRYPTO='-DOPENSSL'
964723
 		if test "$use_openssl" = "/usr"
964723
 		then
964723
 			DST_OPENSSL_INC=""
964723
@@ -14102,6 +14223,7 @@ $as_echo "not found" >&6; }
964723
 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using OpenSSL from $use_openssl/lib and $use_openssl/include" >&5
964723
 $as_echo "using OpenSSL from $use_openssl/lib and $use_openssl/include" >&6; }
964723
 
964723
+		saved_cc="$CC"
964723
 		saved_cflags="$CFLAGS"
964723
 		saved_libs="$LIBS"
964723
 		CFLAGS="$CFLAGS $DST_OPENSSL_INC"
964723
@@ -14305,13 +14427,6 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
964723
 fi
964723
 
964723
 
964723
-# Check whether --with-ecdsa was given.
964723
-if test "${with_ecdsa+set}" = set; then :
964723
-  withval=$with_ecdsa; with_ecdsa="$withval"
964723
-else
964723
-  with_ecdsa="auto"
964723
-fi
964723
-
964723
         case "$with_ecdsa" in
964723
         yes)
964723
             case "$have_ecdsa" in
964723
@@ -14342,6 +14457,15 @@ $as_echo "#define HAVE_OPENSSL_ECDSA 1" >>confdefs.h
964723
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL GOST support" >&5
964723
 $as_echo_n "checking for OpenSSL GOST support... " >&6; }
964723
         have_gost=""
964723
+		case "$use_pkcs11" in
964723
+                auto|no)
964723
+                        ;;
964723
+                *)
964723
+                        if $use_threads; then
964723
+                                CC="$CC -pthread"
964723
+                        fi
964723
+                        ;;
964723
+        esac
964723
         if test "$cross_compiling" = yes; then :
964723
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: using --with-gost" >&5
964723
 $as_echo "using --with-gost" >&6; }
964723
@@ -14385,13 +14509,6 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
964723
 fi
964723
 
964723
 
964723
-# Check whether --with-gost was given.
964723
-if test "${with_gost+set}" = set; then :
964723
-  withval=$with_gost; with_gost="$withval"
964723
-else
964723
-  with_gost="auto"
964723
-fi
964723
-
964723
         case "$with_gost" in
964723
         yes)
964723
             case "$have_gost" in
964723
@@ -14404,7 +14521,7 @@ fi
964723
         *)
964723
             case "$have_gost" in
964723
             yes|no) ;;
964723
-            *) as_fn_error $? "need --with-gost=[yes or no]" "$LINENO" 5 ;;
964723
+            *) as_fn_error $? "need --with-gost=[yes, no, raw or asn1]" "$LINENO" 5 ;;
964723
             esac
964723
             ;;
964723
         esac
964723
@@ -14441,8 +14558,8 @@ esac
964723
 
964723
 
964723
 
964723
-
964723
 DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS"
964723
+DNS_CRYPTO_PK11_LIBS="$DNS_CRYPTO_LIBS"
964723
 
964723
 #
964723
 # Use OpenSSL for hash functions
964723
@@ -14457,7 +14574,7 @@ fi
964723
 
964723
 case $want_openssl_hash in
964723
 	yes)
964723
-		if test "$USE_OPENSSL" = ""
964723
+		if test "$CRYPTO" = ""
964723
 		then
964723
 			as_fn_error $? "No OpenSSL for hash functions" "$LINENO" 5
964723
 		fi
964723
@@ -14472,6 +14589,46 @@ esac
964723
 
964723
 
964723
 
964723
+
964723
+# Check whether --with-libtool was given.
964723
+if test "${with_libtool+set}" = set; then :
964723
+  withval=$with_libtool; use_libtool="$withval"
964723
+else
964723
+  use_libtool="no"
964723
+fi
964723
+
964723
+
964723
+case $use_libtool in
964723
+	yes)
964723
+
964723
+		O=lo
964723
+		A=la
964723
+		LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
964723
+		LIBTOOL_MODE_COMPILE='--mode=compile --tag=CC'
964723
+		LIBTOOL_MODE_INSTALL='--mode=install --tag=CC'
964723
+		LIBTOOL_MODE_LINK='--mode=link --tag=CC'
964723
+		case "$host" in
964723
+		*) LIBTOOL_ALLOW_UNDEFINED= ;;
964723
+		esac
964723
+		case "$host" in
964723
+		*-ibm-aix*) LIBTOOL_IN_MAIN="-Wl,-bI:T_testlist.imp" ;;
964723
+		*) LIBTOOL_IN_MAIN= ;;
964723
+		esac;
964723
+		;;
964723
+	*)
964723
+		O=o
964723
+		A=a
964723
+		LIBTOOL=
964723
+
964723
+		LIBTOOL_MKDEP_SED=
964723
+		LIBTOOL_MODE_COMPILE=
964723
+		LIBTOOL_MODE_INSTALL=
964723
+		LIBTOOL_MODE_LINK=
964723
+		LIBTOOL_ALLOW_UNDEFINED=
964723
+		LIBTOOL_IN_MAIN=
964723
+		;;
964723
+esac
964723
+
964723
 #
964723
 # PKCS11 (aka crypto hardware) support
964723
 #
964723
@@ -14481,31 +14638,125 @@ esac
964723
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PKCS11 support" >&5
964723
 $as_echo_n "checking for PKCS11 support... " >&6; }
964723
 
964723
-# Check whether --with-pkcs11 was given.
964723
-if test "${with_pkcs11+set}" = set; then :
964723
-  withval=$with_pkcs11; use_pkcs11="$withval"
964723
-else
964723
-  use_pkcs11="no"
964723
+if test "$use_pkcs11" = "auto"
964723
+then
964723
+	if test "$want_native_pkcs11" = "yes"
964723
+	then
964723
+		use_pkcs11="yes"
964723
+	else
964723
+		use_pkcs11="no"
964723
+	fi
964723
 fi
964723
 
964723
-
964723
 case "$use_pkcs11" in
964723
 	no|'')
964723
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
964723
-$as_echo "disabled" >&6; }
964723
-		USE_PKCS11=''
964723
-		PKCS11_TOOLS=''
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
964723
+$as_echo "no" >&6; }
964723
+		USE_PKCS11=""
964723
+		PKCS11_TEST=""
964723
+		PKCS11_TOOLS=""
964723
+		ISC_PK11_C=""
964723
+		ISC_PK11_O=""
964723
+		ISC_PK11_API_C=""
964723
+		ISC_PK11_API_O=""
964723
+		ISC_PK11_RESULT_C=""
964723
+		ISC_PK11_RESULT_O=""
964723
+		ISC_ISCPK11_API_C=""
964723
+		ISC_ISCPK11_API_O=""
964723
 		;;
964723
 	yes|*)
964723
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using OpenSSL with PKCS11 support" >&5
964723
-$as_echo "using OpenSSL with PKCS11 support" >&6; }
964723
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
964723
+$as_echo "yes" >&6; }
964723
+                if ! $use_threads; then
964723
+			as_fn_error $? "PKCS11 requires thread support" "$LINENO" 5
964723
+                fi
964723
+		if test "$CRYPTO" != ""
964723
+		then
964723
+			{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL with PKCS11 support" >&5
964723
+$as_echo_n "checking for OpenSSL with PKCS11 support... " >&6; }
964723
+                        saved_cc="$CC"
964723
+			saved_cflags="$CFLAGS"
964723
+			saved_libs="$LIBS"
964723
+                        CC="$CC -pthread"
964723
+			CFLAGS="$CFLAGS $DST_OPENSSL_INC"
964723
+			LIBS="$LIBS $DNS_OPENSSL_LIBS"
964723
+			if test "$cross_compiling" = yes; then :
964723
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross compile" >&5
964723
+$as_echo "cross compile" >&6; }
964723
+			PKCS11_TEST=''
964723
+			PKCS11_ENGINE='-DPKCS11_ENGINE=NULL'
964723
+else
964723
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
964723
+/* end confdefs.h.  */
964723
+
964723
+#include <openssl/conf.h>
964723
+#include <openssl/engine.h>
964723
+int main() {
964723
+	ENGINE *e;
964723
+
964723
+	OPENSSL_config(NULL);
964723
+	e = ENGINE_by_id("pkcs11");
964723
+	if (e == NULL)
964723
+		return (1);
964723
+	if (ENGINE_init(e) <= 0)
964723
+		return (1);
964723
+	return (0);
964723
+}
964723
+
964723
+_ACEOF
964723
+if ac_fn_c_try_run "$LINENO"; then :
964723
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
964723
+$as_echo "yes" >&6; }
964723
+			PKCS11_TEST=pkcs11ssl
964723
+			PKCS11_ENGINE='-DPKCS11_ENGINE="\"pkcs11\""'
964723
+else
964723
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
964723
+$as_echo "no" >&6; }
964723
+			PKCS11_TEST=''
964723
+			PKCS11_ENGINE='-DPKCS11_ENGINE=NULL'
964723
+fi
964723
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
964723
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
964723
+fi
964723
+
964723
+                        CC="$saved_cc"
964723
+			CFLAGS="$saved_cflags"
964723
+			LIBS="$saved_libs"
964723
+		else
964723
+			PKCS11_TEST=''
964723
+			PKCS11_ENGINE='-DPKCS11_ENGINE=NULL'
964723
+
964723
+		fi
964723
 		USE_PKCS11='-DUSE_PKCS11'
964723
 		PKCS11_TOOLS=pkcs11
964723
-		;;
964723
+		ac_fn_c_check_func "$LINENO" "getpassphrase" "ac_cv_func_getpassphrase"
964723
+if test "x$ac_cv_func_getpassphrase" = xyes; then :
964723
+  $as_echo "#define HAVE_GETPASSPHRASE 1" >>confdefs.h
964723
+
964723
+fi
964723
+
964723
+		ISC_PK11_C="pk11.c"
964723
+		ISC_PK11_O="pk11.$O"
964723
+		ISC_PK11_API_C="pk11_api.c"
964723
+		ISC_PK11_API_O="pk11_api.$O"
964723
+		ISC_PK11_RESULT_C="pk11_result.c"
964723
+		ISC_PK11_RESULT_O="pk11_result.$O"
964723
+		ISC_ISCPK11_API_C="unix/pk11_api.c"
964723
+		ISC_ISCPK11_API_O="unix/pk11_api.$O"
964723
+ 		;;
964723
 esac
964723
 
964723
 
964723
 
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PKCS11 tools" >&5
964723
 $as_echo_n "checking for PKCS11 tools... " >&6; }
964723
 case "$use_pkcs11" in
964723
@@ -14514,68 +14765,448 @@ case "$use_pkcs11" in
964723
 $as_echo "disabled" >&6; }
964723
 		PKCS11_PROVIDER="undefined"
964723
 		;;
964723
-       *)
964723
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: PKCS11 provider is \"$use_pkcs11\"" >&5
964723
-$as_echo "PKCS11 provider is \"$use_pkcs11\"" >&6; }
964723
+    yes|'')
964723
+		PKCS11_PROVIDER="undefined"
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled" >&5
964723
+$as_echo "enabled" >&6; }
964723
+		;;
964723
+ 	*)
964723
 		PKCS11_PROVIDER="$use_pkcs11"
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled, PKCS11 provider is $PKCS11_PROVIDER" >&5
964723
+$as_echo "enabled, PKCS11 provider is $PKCS11_PROVIDER" >&6; }
964723
 		;;
964723
 esac
964723
 
964723
 
964723
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSSAPI library" >&5
964723
-$as_echo_n "checking for GSSAPI library... " >&6; }
964723
+CRYPTO_PK11=""
964723
+PKCS11_ECDSA=""
964723
+PKCS11_GOST=""
964723
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for native PKCS11" >&5
964723
+$as_echo_n "checking for native PKCS11... " >&6; }
964723
 
964723
-# Check whether --with-gssapi was given.
964723
-if test "${with_gssapi+set}" = set; then :
964723
-  withval=$with_gssapi; use_gssapi="$withval"
964723
-else
964723
-  use_gssapi="yes"
964723
-fi
964723
+case "$want_native_pkcs11" in
964723
+	yes)
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using native PKCS11 crypto" >&5
964723
+$as_echo "using native PKCS11 crypto" >&6; }
964723
+		CRYPTO_PK11="-DPKCS11CRYPTO"
964723
+		PKCS11LINKOBJS='${PKCS11LINKOBJS}'
964723
+		PKCS11LINKSRCS='${PKCS11LINKSRCS}'
964723
+                PKCS11_TEST=pkcs11
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PKCS11 ECDSA" >&5
964723
+$as_echo_n "checking for PKCS11 ECDSA... " >&6; }
964723
+		case "$with_ecdsa" in
964723
+		no)
964723
+			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
964723
+$as_echo "disabled" >&6; }
964723
+ 			;;
964723
+		*)
964723
+			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled" >&5
964723
+$as_echo "enabled" >&6; }
964723
+			PKCS11_ECDSA="yes"
964723
 
964723
+$as_echo "#define HAVE_PKCS11_ECDSA 1" >>confdefs.h
964723
 
964723
-# gssapi is just the framework, we really require kerberos v5, so
964723
-# look for those headers (the gssapi headers must be there, too)
964723
-# The problem with this implementation is that it doesn't allow
964723
-# for the specification of gssapi and krb5 headers in different locations,
964723
-# which probably ought to be fixed although fixing might raise the issue of
964723
-# trying to build with incompatible versions of gssapi and krb5.
964723
-if test "$use_gssapi" = "yes"
964723
-then
964723
-	# first, deal with the obvious
964723
-	if test \( -f /usr/include/kerberosv5/krb5.h -o \
964723
-		   -f /usr/include/krb5/krb5.h -o \
964723
-		   -f /usr/include/krb5.h \)   -a \
964723
-		\( -f /usr/include/gssapi.h -o \
964723
-		   -f /usr/include/gssapi/gssapi.h \)
964723
-	then
964723
-		use_gssapi=/usr
964723
-	else
964723
-	    krb5dirs="/usr/local /usr/local/krb5 /usr/local/kerberosv5 /usr/local/kerberos /usr/pkg /usr/krb5 /usr/kerberosv5 /usr/kerberos /usr"
964723
-	    for d in $krb5dirs
964723
-	    do
964723
-		if test -f $d/include/gssapi/gssapi_krb5.h -o \
964723
-		        -f $d/include/krb5.h
964723
-		then
964723
-			if test -f $d/include/gssapi/gssapi.h -o \
964723
-			        -f $d/include/gssapi.h
964723
-			then
964723
-				use_gssapi=$d
964723
-				break
964723
-			fi
964723
-		fi
964723
-		use_gssapi="no"
964723
-	    done
964723
-	fi
964723
-fi
964723
+ 			;;
964723
+ 		esac
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PKCS11 GOST" >&5
964723
+$as_echo_n "checking for PKCS11 GOST... " >&6; }
964723
+		case "$with_gost" in
964723
+		yes)
964723
+			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled" >&5
964723
+$as_echo "enabled" >&6; }
964723
+			PKCS11_GOST="yes"
964723
 
964723
-case "$use_gssapi" in
964723
-	no)
964723
+$as_echo "#define HAVE_PKCS11_GOST 1" >>confdefs.h
964723
+
964723
+ 			;;
964723
+		*)
964723
+			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
964723
+$as_echo "disabled" >&6; }
964723
+ 			;;
964723
+ 		esac
964723
+ 		;;
964723
+	no|'')
964723
 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
964723
 $as_echo "disabled" >&6; }
964723
-		USE_GSSAPI=''
964723
 		;;
964723
-	yes)
964723
-		as_fn_error $? "--with-gssapi must specify a path" "$LINENO" 5
964723
+esac
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+
964723
+# for PKCS11 benchmarks
964723
+have_clock_gt=no
964723
+ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime"
964723
+if test "x$ac_cv_func_clock_gettime" = xyes; then :
964723
+  have_clock_gt=yes
964723
+fi
964723
+
964723
+if test "$have_clock_gt" = "no"; then
964723
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5
964723
+$as_echo_n "checking for clock_gettime in -lrt... " >&6; }
964723
+if ${ac_cv_lib_rt_clock_gettime+:} false; then :
964723
+  $as_echo_n "(cached) " >&6
964723
+else
964723
+  ac_check_lib_save_LIBS=$LIBS
964723
+LIBS="-lrt  $LIBS"
964723
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
964723
+/* end confdefs.h.  */
964723
+
964723
+/* Override any GCC internal prototype to avoid an error.
964723
+   Use char because int might match the return type of a GCC
964723
+   builtin and then its argument prototype would still apply.  */
964723
+#ifdef __cplusplus
964723
+extern "C"
964723
+#endif
964723
+char clock_gettime ();
964723
+int
964723
+main ()
964723
+{
964723
+return clock_gettime ();
964723
+  ;
964723
+  return 0;
964723
+}
964723
+_ACEOF
964723
+if ac_fn_c_try_link "$LINENO"; then :
964723
+  ac_cv_lib_rt_clock_gettime=yes
964723
+else
964723
+  ac_cv_lib_rt_clock_gettime=no
964723
+fi
964723
+rm -f core conftest.err conftest.$ac_objext \
964723
+    conftest$ac_exeext conftest.$ac_ext
964723
+LIBS=$ac_check_lib_save_LIBS
964723
+fi
964723
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5
964723
+$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; }
964723
+if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then :
964723
+  have_clock_gt=ye
964723
+fi
964723
+
964723
+ fi
964723
+if test "$have_clock_gt" = "yes"; then
964723
+
964723
+$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
964723
+
964723
+fi
964723
+
964723
+
964723
+GEOIPLINKSRCS=
964723
+GEOIPLINKOBJS=
964723
+
964723
+# Check whether --with-geoip was given.
964723
+if test "${with_geoip+set}" = set; then :
964723
+  withval=$with_geoip; use_geoip="$withval"
964723
+else
964723
+  use_geoip="no"
964723
+fi
964723
+
964723
+
964723
+if test "$use_geoip" = "yes"
964723
+then
964723
+	for d in /usr /usr/local /opt/local
964723
+	do
964723
+		if test -f $d/include/GeoIP.h
964723
+		then
964723
+			use_geoip=$d
964723
+			break
964723
+		fi
964723
+	done
964723
+fi
964723
+
964723
+case "$use_geoip" in
964723
+	no|'')
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GeoIP support" >&5
964723
+$as_echo_n "checking for GeoIP support... " >&6; }
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
964723
+$as_echo "disabled" >&6; }
964723
+		;;
964723
+	*)
964723
+		if test -d "$use_geoip" -o -L "$use_geoip"
964723
+		then
964723
+			CFLAGS="$CFLAGS -I$use_geoip/include"
964723
+			CPPFLAGS="$CPPFLAGS -I$use_geoip/include"
964723
+			LIBS="$LIBS -L$use_geoip/lib"
964723
+			case "$host_os" in
964723
+				netbsd*|openbsd*|solaris*)
964723
+					LIBS="$LIBS -Wl,-rpath=$use_geoip/lib"
964723
+					;;
964723
+			esac
964723
+		elif test "$use_geoip" = "yes"
964723
+                then
964723
+			as_fn_error $? "GeoIP path not found" "$LINENO" 5
964723
+		else
964723
+			as_fn_error $? "GeoIP path $use_geoip does not exist" "$LINENO" 5
964723
+		fi
964723
+		ac_fn_c_check_header_mongrel "$LINENO" "GeoIP.h" "ac_cv_header_GeoIP_h" "$ac_includes_default"
964723
+if test "x$ac_cv_header_GeoIP_h" = xyes; then :
964723
+
964723
+else
964723
+  as_fn_error $? "GeoIP header file not found" "$LINENO" 5
964723
+
964723
+fi
964723
+
964723
+
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing GeoIP_open" >&5
964723
+$as_echo_n "checking for library containing GeoIP_open... " >&6; }
964723
+if ${ac_cv_search_GeoIP_open+:} false; then :
964723
+  $as_echo_n "(cached) " >&6
964723
+else
964723
+  ac_func_search_save_LIBS=$LIBS
964723
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
964723
+/* end confdefs.h.  */
964723
+
964723
+/* Override any GCC internal prototype to avoid an error.
964723
+   Use char because int might match the return type of a GCC
964723
+   builtin and then its argument prototype would still apply.  */
964723
+#ifdef __cplusplus
964723
+extern "C"
964723
+#endif
964723
+char GeoIP_open ();
964723
+int
964723
+main ()
964723
+{
964723
+return GeoIP_open ();
964723
+  ;
964723
+  return 0;
964723
+}
964723
+_ACEOF
964723
+for ac_lib in '' GeoIP; do
964723
+  if test -z "$ac_lib"; then
964723
+    ac_res="none required"
964723
+  else
964723
+    ac_res=-l$ac_lib
964723
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
964723
+  fi
964723
+  if ac_fn_c_try_link "$LINENO"; then :
964723
+  ac_cv_search_GeoIP_open=$ac_res
964723
+fi
964723
+rm -f core conftest.err conftest.$ac_objext \
964723
+    conftest$ac_exeext
964723
+  if ${ac_cv_search_GeoIP_open+:} false; then :
964723
+  break
964723
+fi
964723
+done
964723
+if ${ac_cv_search_GeoIP_open+:} false; then :
964723
+
964723
+else
964723
+  ac_cv_search_GeoIP_open=no
964723
+fi
964723
+rm conftest.$ac_ext
964723
+LIBS=$ac_func_search_save_LIBS
964723
+fi
964723
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_GeoIP_open" >&5
964723
+$as_echo "$ac_cv_search_GeoIP_open" >&6; }
964723
+ac_res=$ac_cv_search_GeoIP_open
964723
+if test "$ac_res" != no; then :
964723
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
964723
+
964723
+else
964723
+  as_fn_error $? "GeoIP library not found" "$LINENO" 5
964723
+
964723
+fi
964723
+
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fabsf" >&5
964723
+$as_echo_n "checking for library containing fabsf... " >&6; }
964723
+if ${ac_cv_search_fabsf+:} false; then :
964723
+  $as_echo_n "(cached) " >&6
964723
+else
964723
+  ac_func_search_save_LIBS=$LIBS
964723
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
964723
+/* end confdefs.h.  */
964723
+
964723
+/* Override any GCC internal prototype to avoid an error.
964723
+   Use char because int might match the return type of a GCC
964723
+   builtin and then its argument prototype would still apply.  */
964723
+#ifdef __cplusplus
964723
+extern "C"
964723
+#endif
964723
+char fabsf ();
964723
+int
964723
+main ()
964723
+{
964723
+return fabsf ();
964723
+  ;
964723
+  return 0;
964723
+}
964723
+_ACEOF
964723
+for ac_lib in '' m; do
964723
+  if test -z "$ac_lib"; then
964723
+    ac_res="none required"
964723
+  else
964723
+    ac_res=-l$ac_lib
964723
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
964723
+  fi
964723
+  if ac_fn_c_try_link "$LINENO"; then :
964723
+  ac_cv_search_fabsf=$ac_res
964723
+fi
964723
+rm -f core conftest.err conftest.$ac_objext \
964723
+    conftest$ac_exeext
964723
+  if ${ac_cv_search_fabsf+:} false; then :
964723
+  break
964723
+fi
964723
+done
964723
+if ${ac_cv_search_fabsf+:} false; then :
964723
+
964723
+else
964723
+  ac_cv_search_fabsf=no
964723
+fi
964723
+rm conftest.$ac_ext
964723
+LIBS=$ac_func_search_save_LIBS
964723
+fi
964723
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fabsf" >&5
964723
+$as_echo "$ac_cv_search_fabsf" >&6; }
964723
+ac_res=$ac_cv_search_fabsf
964723
+if test "$ac_res" != no; then :
964723
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
964723
+
964723
+else
964723
+  as_fn_error $? "Math library not found" "$LINENO" 5
964723
+
964723
+fi
964723
+
964723
+
964723
+$as_echo "#define HAVE_GEOIP 1" >>confdefs.h
964723
+
964723
+		GEOIPLINKSRCS='${GEOIPLINKSRCS}'
964723
+		GEOIPLINKOBJS='${GEOIPLINKOBJS}'
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GeoIP support" >&5
964723
+$as_echo_n "checking for GeoIP support... " >&6; }
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
964723
+$as_echo "yes" >&6; }
964723
+
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GeoIP Country IPv6 support" >&5
964723
+$as_echo_n "checking for GeoIP Country IPv6 support... " >&6; }
964723
+		cat confdefs.h - <<_ACEOF >conftest.$ac_ext
964723
+/* end confdefs.h.  */
964723
+
964723
+				#include <GeoIP.h>
964723
+				#include <netinet/in.h>
964723
+
964723
+int
964723
+main ()
964723
+{
964723
+
964723
+				struct in6_addr in6;
964723
+				GeoIP_country_name_by_ipnum_v6(NULL, in6);
964723
+
964723
+  ;
964723
+  return 0;
964723
+}
964723
+_ACEOF
964723
+if ac_fn_c_try_compile "$LINENO"; then :
964723
+
964723
+				{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
964723
+$as_echo "yes" >&6; }
964723
+
964723
+$as_echo "#define HAVE_GEOIP_V6 1" >>confdefs.h
964723
+
964723
+
964723
+else
964723
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
964723
+$as_echo "no" >&6; }
964723
+
964723
+fi
964723
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
964723
+
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GeoIP City IPv6 support" >&5
964723
+$as_echo_n "checking for GeoIP City IPv6 support... " >&6; }
964723
+		cat confdefs.h - <<_ACEOF >conftest.$ac_ext
964723
+/* end confdefs.h.  */
964723
+
964723
+				#include <GeoIP.h>
964723
+				#include <GeoIPCity.h>
964723
+				#include <netinet/in.h>
964723
+
964723
+int
964723
+main ()
964723
+{
964723
+
964723
+				struct in6_addr in6;
964723
+                                int i = GEOIP_CITY_EDITION_REV0_V6;
964723
+				GeoIP_record_by_ipnum_v6(NULL, in6);
964723
+
964723
+  ;
964723
+  return 0;
964723
+}
964723
+_ACEOF
964723
+if ac_fn_c_try_compile "$LINENO"; then :
964723
+
964723
+				{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
964723
+$as_echo "yes" >&6; }
964723
+
964723
+$as_echo "#define HAVE_GEOIP_CITY_V6 1" >>confdefs.h
964723
+
964723
+
964723
+else
964723
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
964723
+$as_echo "no" >&6; }
964723
+
964723
+fi
964723
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
964723
+		;;
964723
+esac
964723
+
964723
+
964723
+
964723
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSSAPI library" >&5
964723
+$as_echo_n "checking for GSSAPI library... " >&6; }
964723
+
964723
+# Check whether --with-gssapi was given.
964723
+if test "${with_gssapi+set}" = set; then :
964723
+  withval=$with_gssapi; use_gssapi="$withval"
964723
+else
964723
+  use_gssapi="yes"
964723
+fi
964723
+
964723
+
964723
+# gssapi is just the framework, we really require kerberos v5, so
964723
+# look for those headers (the gssapi headers must be there, too)
964723
+# The problem with this implementation is that it doesn't allow
964723
+# for the specification of gssapi and krb5 headers in different locations,
964723
+# which probably ought to be fixed although fixing might raise the issue of
964723
+# trying to build with incompatible versions of gssapi and krb5.
964723
+if test "$use_gssapi" = "yes"
964723
+then
964723
+	# first, deal with the obvious
964723
+	if test \( -f /usr/include/kerberosv5/krb5.h -o \
964723
+		   -f /usr/include/krb5/krb5.h -o \
964723
+		   -f /usr/include/krb5.h \)   -a \
964723
+		\( -f /usr/include/gssapi.h -o \
964723
+		   -f /usr/include/gssapi/gssapi.h \)
964723
+	then
964723
+		use_gssapi=/usr
964723
+	else
964723
+	    krb5dirs="/usr/local /usr/local/krb5 /usr/local/kerberosv5 /usr/local/kerberos /usr/pkg /usr/krb5 /usr/kerberosv5 /usr/kerberos /usr"
964723
+	    for d in $krb5dirs
964723
+	    do
964723
+		if test -f $d/include/gssapi/gssapi_krb5.h -o \
964723
+		        -f $d/include/krb5.h
964723
+		then
964723
+			if test -f $d/include/gssapi/gssapi.h -o \
964723
+			        -f $d/include/gssapi.h
964723
+			then
964723
+				use_gssapi=$d
964723
+				break
964723
+			fi
964723
+		fi
964723
+		use_gssapi="no"
964723
+	    done
964723
+	fi
964723
+fi
964723
+
964723
+case "$use_gssapi" in
964723
+	no)
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
964723
+$as_echo "disabled" >&6; }
964723
+		USE_GSSAPI=''
964723
+		;;
964723
+	yes)
964723
+		as_fn_error $? "--with-gssapi must specify a path" "$LINENO" 5
964723
 		;;
964723
 	*)
964723
 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: looking in $use_gssapi/lib" >&5
964723
@@ -14766,13 +15397,14 @@ esac
964723
 
964723
 
964723
 DNS_CRYPTO_LIBS="$DNS_GSSAPI_LIBS $DNS_CRYPTO_LIBS"
964723
-
964723
+DNS_CRYPTO_PK11_LIBS="$DNS_GSSAPI_LIBS $DNS_CRYPTO_PK11_LIBS"
964723
 #
964723
 # Applications linking with libdns also need to link with these libraries.
964723
 #
964723
 
964723
 
964723
 
964723
+
964723
 #
964723
 # was --with-randomdev specified?
964723
 #
964723
@@ -14849,6 +15481,21 @@ $as_echo "using \"$use_randomdev\"" >&6; }
964723
 esac
964723
 
964723
 #
964723
+# Only check dsa signature generation on these platforms when performing
964723
+# system tests.
964723
+#
964723
+CHECK_DSA=0
964723
+if grep "#define PATH_RANDOMDEV " confdefs.h > /dev/null
964723
+then
964723
+	case "$host" in
964723
+	*darwin*|*freebsd*)
964723
+		CHECK_DSA=1
964723
+		;;
964723
+	esac
964723
+fi
964723
+
964723
+
964723
+#
964723
 # Do we have arc4random() ?
964723
 #
964723
 ac_fn_c_check_func "$LINENO" "arc4random" "ac_cv_func_arc4random"
964723
@@ -16224,46 +16871,6 @@ esac
964723
 
964723
 
964723
 
964723
-
964723
-# Check whether --with-libtool was given.
964723
-if test "${with_libtool+set}" = set; then :
964723
-  withval=$with_libtool; use_libtool="$withval"
964723
-else
964723
-  use_libtool="no"
964723
-fi
964723
-
964723
-
964723
-case $use_libtool in
964723
-	yes)
964723
-
964723
-		O=lo
964723
-		A=la
964723
-		LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
964723
-		LIBTOOL_MODE_COMPILE='--mode=compile --tag=CC'
964723
-		LIBTOOL_MODE_INSTALL='--mode=install --tag=CC'
964723
-		LIBTOOL_MODE_LINK='--mode=link --tag=CC'
964723
-		case "$host" in
964723
-		*) LIBTOOL_ALLOW_UNDEFINED= ;;
964723
-		esac
964723
-		case "$host" in
964723
-		*-ibm-aix*) LIBTOOL_IN_MAIN="-Wl,-bI:T_testlist.imp" ;;
964723
-		*) LIBTOOL_IN_MAIN= ;;
964723
-		esac;
964723
-		;;
964723
-	*)
964723
-		O=o
964723
-		A=a
964723
-		LIBTOOL=
964723
-
964723
-		LIBTOOL_MKDEP_SED=
964723
-		LIBTOOL_MODE_COMPILE=
964723
-		LIBTOOL_MODE_INSTALL=
964723
-		LIBTOOL_MODE_LINK=
964723
-		LIBTOOL_ALLOW_UNDEFINED=
964723
-		LIBTOOL_IN_MAIN=
964723
-		;;
964723
-esac
964723
-
964723
 #
964723
 # enable/disable dumping stack backtrace.  Also check if the system supports
964723
 # glibc-compatible backtrace() function.
964723
@@ -17308,7 +17915,9 @@ _ACEOF
964723
 if ac_fn_c_try_compile "$LINENO"; then :
964723
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: size_t for buflen; int for flags" >&5
964723
 $as_echo "size_t for buflen; int for flags" >&6; }
964723
-	 $as_echo "#define IRS_GETNAMEINFO_BUFLEN_T size_t" >>confdefs.h
964723
+	# Changed to solve multilib conflict on Fedora
964723
+	#AC_DEFINE(IRS_GETNAMEINFO_BUFLEN_T, size_t)
964723
+	 $as_echo "#define IRS_GETNAMEINFO_BUFLEN_T socklen_t" >>confdefs.h
964723
 
964723
 	 $as_echo "#define IRS_GETNAMEINFO_FLAGS_T int" >>confdefs.h
964723
 
964723
@@ -18504,6 +19113,10 @@ _ACEOF
964723
 $as_echo "$arch" >&6; }
964723
 fi
964723
 
964723
+if test ! "$arch" = "x86_64" -a "$have_xaddq" = "yes"; then
964723
+	as_fn_error $? "XADDQ present but disabled by Fedora patch!" "$LINENO" 5
964723
+fi
964723
+
964723
 if test "$have_atomic" = "yes"; then
964723
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler support for inline assembly code" >&5
964723
 $as_echo_n "checking compiler support for inline assembly code... " >&6; }
964723
@@ -19547,6 +20160,38 @@ done
964723
 
964723
 
964723
 #
964723
+# was --with-tuning specified?
964723
+#
964723
+
964723
+# Check whether --with-tuning was given.
964723
+if test "${with_tuning+set}" = set; then :
964723
+  withval=$with_tuning; use_tuning="$withval"
964723
+else
964723
+  use_tuning="no"
964723
+fi
964723
+
964723
+
964723
+case "$use_tuning" in
964723
+	large)
964723
+		if ! $use_threads; then
964723
+			as_fn_error $? "Large-system tuning requires threads." "$LINENO" 5
964723
+		fi
964723
+
964723
+$as_echo "#define TUNE_LARGE 1" >>confdefs.h
964723
+
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using large-system tuning" >&5
964723
+$as_echo "using large-system tuning" >&6; }
964723
+		;;
964723
+	no|default)
964723
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using default tuning" >&5
964723
+$as_echo "using default tuning" >&6; }
964723
+		;;
964723
+	yes|*)
964723
+                as_fn_error $? "You must specify \"large\" or \"default\" for --with-tuning." "$LINENO" 5
964723
+		;;
964723
+esac
964723
+
964723
+#
964723
 # Substitutions
964723
 #
964723
 
964723
@@ -19611,6 +20256,9 @@ BIND9_CONFIGARGS="CONFIGARGS=${BIND9_CONFIGARGS}"
964723
 
964723
 
964723
 
964723
+LIBISCPK11_API="$srcdir/lib/iscpk11/api"
964723
+
964723
+
964723
 LIBISC_API="$srcdir/lib/isc/api"
964723
 
964723
 
964723
@@ -19810,6 +20458,30 @@ CFLAGS="$CFLAGS $SO_CFLAGS"
964723
 #
964723
 dlzdir='${DLZ_DRIVER_DIR}'
964723
 
964723
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for target libdir" >&5
964723
+$as_echo_n "checking for target libdir... " >&6; }
964723
+if test "$cross_compiling" = yes; then :
964723
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
964723
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
964723
+as_fn_error $? "cannot run test program while cross compiling
964723
+See \`config.log' for more details" "$LINENO" 5; }
964723
+else
964723
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
964723
+/* end confdefs.h.  */
964723
+int main(void) {exit((sizeof(void *) == 8) ? 0 : 1);}
964723
+_ACEOF
964723
+if ac_fn_c_try_run "$LINENO"; then :
964723
+  target_lib=lib64
964723
+else
964723
+  target_lib=lib
964723
+fi
964723
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
964723
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
964723
+fi
964723
+
964723
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$target_lib\"" >&5
964723
+$as_echo "\"$target_lib\"" >&6; }
964723
+
964723
 #
964723
 # Private autoconf macro to simplify configuring drivers:
964723
 #
964723
@@ -19982,9 +20654,9 @@ then
964723
 		then
964723
 			use_dlz_mysql=$d
964723
 			mysql_include=$d/include/mysql
964723
-			if test -d $d/lib/mysql
964723
+			if test -d $d/${target_lib}/mysql
964723
 			then
964723
-				mysql_lib=$d/lib/mysql
964723
+				mysql_lib=$d/${target_lib}/mysql
964723
 			else
964723
 				mysql_lib=$d/lib
964723
 			fi
964723
@@ -20118,7 +20790,7 @@ $as_echo "not found" >&6; }
964723
 			# Check other locations for includes.
964723
 			# Order is important (sigh).
964723
 
964723
-			bdb_incdirs="/ /db48/ /db47/ /db46/ /db45/ /db44/ /db43/ /db42/ /db41/ /db4/ /db/"
964723
+			bdb_incdirs="/ /db48/ /db47/ /db46/ /db45/ /db44/ /db43/ /db42/ /db41/ /db4/ /libdb/ /db/"
964723
 			for d in $bdb_incdirs
964723
 			do
964723
 				if test -f "$dd/include${d}db.h"
964723
@@ -20142,15 +20814,9 @@ $as_echo "not found" >&6; }
964723
 			bdb_libnames="db48 db-4.8 db47 db-4.7 db46 db-4.6 db45 db-4.5 db44 db-4.4 db43 db-4.3 db42 db-4.2 db41 db-4.1 db"
964723
 			for d in $bdb_libnames
964723
 			do
964723
-				if test -f "$dd/lib/lib${d}.so"
964723
+				if test -f "$dd/${target_lib}/lib${d}.so"
964723
 				then
964723
-					if test "$dd" != "/usr"
964723
-					then
964723
-						dlz_bdb_libs="-L${dd}/lib "
964723
-					else
964723
-						dlz_bdb_libs=""
964723
-					fi
964723
-					dlz_bdb_libs="${dlz_bdb_libs}-l${d}"
964723
+					dlz_bdb_libs="-L${dd}/${target_lib}/libdb -l${d}"
964723
 					break
964723
 				fi
964723
 			done
964723
@@ -20306,9 +20972,9 @@ $as_echo "no" >&6; }
964723
 	then
964723
 		DLZ_DRIVER_INCLUDES="$DLZ_DRIVER_INCLUDES -I$use_dlz_ldap/include"
964723
 	fi
964723
-	if test -n "-L$use_dlz_ldap/lib -lldap -llber"
964723
+	if test -n "-L$use_dlz_ldap/${target_lib} -lldap -llber"
964723
 	then
964723
-		DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L$use_dlz_ldap/lib -lldap -llber"
964723
+		DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L$use_dlz_ldap/${target_lib} -lldap -llber"
964723
 	fi
964723
 
964723
 
964723
@@ -20339,7 +21005,7 @@ then
964723
 	odbcdirs="/usr /usr/local /usr/pkg"
964723
 	for d in $odbcdirs
964723
 	do
964723
-		if test -f $d/include/sql.h -a -f $d/lib/libodbc.a
964723
+		if test -f $d/include/sql.h -a -f $d/${target_lib}/libodbc.a
964723
 		then
964723
 			use_dlz_odbc=$d
964723
 			break
964723
@@ -20369,9 +21035,9 @@ $as_echo "not found" >&6; }
964723
 	then
964723
 		DLZ_DRIVER_INCLUDES="$DLZ_DRIVER_INCLUDES -I$use_dlz_odbc/include"
964723
 	fi
964723
-	if test -n "-L$use_dlz_odbc/lib -lodbc"
964723
+	if test -n "-L$use_dlz_odbc/${target_lib} -lodbc"
964723
 	then
964723
-		DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L$use_dlz_odbc/lib -lodbc"
964723
+		DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L$use_dlz_odbc/${target_lib} -lodbc"
964723
 	fi
964723
 
964723
 
964723
@@ -20595,7 +21261,7 @@ ac_config_commands="$ac_config_commands chmod"
964723
 # elsewhere if there's a good reason for doing so.
964723
 #
964723
 
964723
-ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile bin/python/dnssec-checkds.py bin/python/dnssec-coverage.py bin/rndc/Makefile bin/tests/Makefile bin/tests/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/dst/Kdh.+002+18602.key bin/tests/dst/Kdh.+002+18602.private bin/tests/dst/Kdh.+002+48957.key bin/tests/dst/Kdh.+002+48957.private bin/tests/dst/Ktest.+001+00002.key bin/tests/dst/Ktest.+001+54622.key bin/tests/dst/Ktest.+001+54622.private bin/tests/dst/Ktest.+003+23616.key bin/tests/dst/Ktest.+003+23616.private bin/tests/dst/Ktest.+003+49667.key bin/tests/dst/dst_2_data bin/tests/dst/t2_data_1 bin/tests/dst/t2_data_2 bin/tests/dst/t2_dsasig bin/tests/dst/t2_rsasig bin/tests/hashes/Makefile bin/tests/headerdep_test.sh bin/tests/master/Makefile bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/net/Makefile bin/tests/rbt/Makefile bin/tests/resolver/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/named.conf bin/tests/system/dyndb/Makefile bin/tests/system/dyndb/driver/Makefile bin/tests/system/ecdsa/prereq.sh bin/tests/system/filter-aaaa/Makefile bin/tests/system/gost/prereq.sh bin/tests/system/lwresd/Makefile bin/tests/system/rpz/Makefile bin/tests/system/rrl/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/system/tsiggss/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/check-secure-delegation.pl contrib/zone-edit.sh doc/Makefile doc/arm/Makefile doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-docbook-latex.xsl doc/xsl/isc-manpage.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/export/Makefile lib/export/dns/Makefile lib/export/dns/include/Makefile lib/export/dns/include/dns/Makefile lib/export/dns/include/dst/Makefile lib/export/irs/Makefile lib/export/irs/include/Makefile lib/export/irs/include/irs/Makefile lib/export/isc/$thread_dir/Makefile lib/export/isc/$thread_dir/include/Makefile lib/export/isc/$thread_dir/include/isc/Makefile lib/export/isc/Makefile lib/export/isc/include/Makefile lib/export/isc/include/isc/Makefile lib/export/isc/nls/Makefile lib/export/isc/unix/Makefile lib/export/isc/unix/include/Makefile lib/export/isc/unix/include/isc/Makefile lib/export/isccfg/Makefile lib/export/isccfg/include/Makefile lib/export/isccfg/include/isccfg/Makefile lib/export/samples/Makefile lib/export/samples/Makefile-postinstall lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile unit/Makefile unit/unittest.sh"
964723
+ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/dnssec-pkcs11/Makefile bin/named/Makefile bin/named-pkcs11/Makefile bin/named-pkcs11/unix/Makefile bin/named/unix/Makefile bin/named-sdb/Makefile bin/named-sdb/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile bin/python/dnssec-checkds.py bin/python/dnssec-coverage.py bin/rndc/Makefile bin/sdb_tools/Makefile bin/tests/Makefile bin/tests/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/dst/Kdh.+002+18602.key bin/tests/dst/Kdh.+002+18602.private bin/tests/dst/Kdh.+002+48957.key bin/tests/dst/Kdh.+002+48957.private bin/tests/dst/Ktest.+001+00002.key bin/tests/dst/Ktest.+001+54622.key bin/tests/dst/Ktest.+001+54622.private bin/tests/dst/Ktest.+003+23616.key bin/tests/dst/Ktest.+003+23616.private bin/tests/dst/Ktest.+003+49667.key bin/tests/dst/dst_2_data bin/tests/dst/t2_data_1 bin/tests/dst/t2_data_2 bin/tests/dst/t2_dsasig bin/tests/dst/t2_rsasig bin/tests/hashes/Makefile bin/tests/headerdep_test.sh bin/tests/master/Makefile bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/net/Makefile bin/tests/pkcs11/Makefile bin/tests/pkcs11/benchmarks/Makefile bin/tests/rbt/Makefile bin/tests/resolver/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/named.conf bin/tests/system/dyndb/Makefile bin/tests/system/dyndb/driver/Makefile bin/tests/system/ecdsa/prereq.sh bin/tests/system/filter-aaaa/Makefile bin/tests/system/geoip/Makefile bin/tests/system/gost/prereq.sh bin/tests/system/lwresd/Makefile bin/tests/system/rpz/Makefile bin/tests/system/rrl/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/system/tsiggss/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/check-secure-delegation.pl contrib/zone-edit.sh doc/Makefile doc/arm/Makefile doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-docbook-latex.xsl doc/xsl/isc-manpage.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/dns-pkcs11/Makefile lib/dns-pkcs11/include/Makefile lib/dns-pkcs11/include/dns/Makefile lib/dns-pkcs11/include/dst/Makefile lib/export/Makefile lib/export/dns/Makefile lib/export/dns/include/Makefile lib/export/dns/include/dns/Makefile lib/export/dns/include/dst/Makefile lib/export/dns-pkcs11/Makefile lib/export/dns-pkcs11/include/Makefile lib/export/dns-pkcs11/include/dns/Makefile lib/export/dns-pkcs11/include/dst/Makefile lib/export/irs/Makefile lib/export/irs/include/Makefile lib/export/irs/include/irs/Makefile lib/export/isc/$thread_dir/Makefile lib/export/isc/$thread_dir/include/Makefile lib/export/isc/$thread_dir/include/isc/Makefile lib/export/isc/Makefile lib/export/isc/include/Makefile lib/export/isc/include/isc/Makefile lib/export/isc/nls/Makefile lib/export/isc/unix/Makefile lib/export/isc/unix/include/Makefile lib/export/isc/unix/include/isc/Makefile lib/export/isc-pkcs11/$thread_dir/Makefile lib/export/isc-pkcs11/$thread_dir/include/Makefile lib/export/isc-pkcs11/$thread_dir/include/isc/Makefile lib/export/isc-pkcs11/Makefile lib/export/isc-pkcs11/include/Makefile lib/export/isc-pkcs11/include/isc/Makefile lib/export/isc-pkcs11/nls/Makefile lib/export/isc-pkcs11/unix/Makefile lib/export/isc-pkcs11/unix/include/Makefile lib/export/isc-pkcs11/unix/include/isc/Makefile lib/export/isccfg/Makefile lib/export/isccfg/include/Makefile lib/export/isccfg/include/isccfg/Makefile lib/export/samples/Makefile lib/export/samples/Makefile-postinstall lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/include/pk11/Makefile lib/isc/include/pkcs11/Makefile lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isc/unix/include/pkcs11/Makefile lib/isc-pkcs11/$arch/Makefile lib/isc-pkcs11/$arch/include/Makefile lib/isc-pkcs11/$arch/include/isc/Makefile lib/isc-pkcs11/$thread_dir/Makefile lib/isc-pkcs11/$thread_dir/include/Makefile lib/isc-pkcs11/$thread_dir/include/isc/Makefile lib/isc-pkcs11/Makefile lib/isc-pkcs11/include/Makefile lib/isc-pkcs11/include/isc/Makefile lib/isc-pkcs11/include/isc/platform.h lib/isc-pkcs11/include/pk11/Makefile lib/isc-pkcs11/include/pkcs11/Makefile lib/isc-pkcs11/tests/Makefile lib/isc-pkcs11/nls/Makefile lib/isc-pkcs11/unix/Makefile lib/isc-pkcs11/unix/include/Makefile lib/isc-pkcs11/unix/include/isc/Makefile lib/isc-pkcs11/unix/include/pkcs11/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile unit/Makefile unit/unittest.sh"
964723
 
964723
 
964723
 #
964723
@@ -21597,14 +22263,20 @@ do
964723
     "bin/confgen/unix/Makefile") CONFIG_FILES="$CONFIG_FILES bin/confgen/unix/Makefile" ;;
964723
     "bin/dig/Makefile") CONFIG_FILES="$CONFIG_FILES bin/dig/Makefile" ;;
964723
     "bin/dnssec/Makefile") CONFIG_FILES="$CONFIG_FILES bin/dnssec/Makefile" ;;
964723
+    "bin/dnssec-pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES bin/dnssec-pkcs11/Makefile" ;;
964723
     "bin/named/Makefile") CONFIG_FILES="$CONFIG_FILES bin/named/Makefile" ;;
964723
+    "bin/named-pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES bin/named-pkcs11/Makefile" ;;
964723
+    "bin/named-pkcs11/unix/Makefile") CONFIG_FILES="$CONFIG_FILES bin/named-pkcs11/unix/Makefile" ;;
964723
     "bin/named/unix/Makefile") CONFIG_FILES="$CONFIG_FILES bin/named/unix/Makefile" ;;
964723
+    "bin/named-sdb/Makefile") CONFIG_FILES="$CONFIG_FILES bin/named-sdb/Makefile" ;;
964723
+    "bin/named-sdb/unix/Makefile") CONFIG_FILES="$CONFIG_FILES bin/named-sdb/unix/Makefile" ;;
964723
     "bin/nsupdate/Makefile") CONFIG_FILES="$CONFIG_FILES bin/nsupdate/Makefile" ;;
964723
     "bin/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES bin/pkcs11/Makefile" ;;
964723
     "bin/python/Makefile") CONFIG_FILES="$CONFIG_FILES bin/python/Makefile" ;;
964723
     "bin/python/dnssec-checkds.py") CONFIG_FILES="$CONFIG_FILES bin/python/dnssec-checkds.py" ;;
964723
     "bin/python/dnssec-coverage.py") CONFIG_FILES="$CONFIG_FILES bin/python/dnssec-coverage.py" ;;
964723
     "bin/rndc/Makefile") CONFIG_FILES="$CONFIG_FILES bin/rndc/Makefile" ;;
964723
+    "bin/sdb_tools/Makefile") CONFIG_FILES="$CONFIG_FILES bin/sdb_tools/Makefile" ;;
964723
     "bin/tests/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/Makefile" ;;
964723
     "bin/tests/atomic/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/atomic/Makefile" ;;
964723
     "bin/tests/db/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/db/Makefile" ;;
964723
@@ -21630,6 +22302,8 @@ do
964723
     "bin/tests/mem/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/mem/Makefile" ;;
964723
     "bin/tests/names/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/names/Makefile" ;;
964723
     "bin/tests/net/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/net/Makefile" ;;
964723
+    "bin/tests/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/pkcs11/Makefile" ;;
964723
+    "bin/tests/pkcs11/benchmarks/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/pkcs11/benchmarks/Makefile" ;;
964723
     "bin/tests/rbt/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/rbt/Makefile" ;;
964723
     "bin/tests/resolver/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/resolver/Makefile" ;;
964723
     "bin/tests/sockaddr/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/sockaddr/Makefile" ;;
964723
@@ -21642,6 +22316,7 @@ do
964723
     "bin/tests/system/dyndb/driver/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dyndb/driver/Makefile" ;;
964723
     "bin/tests/system/ecdsa/prereq.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/ecdsa/prereq.sh" ;;
964723
     "bin/tests/system/filter-aaaa/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/filter-aaaa/Makefile" ;;
964723
+    "bin/tests/system/geoip/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/geoip/Makefile" ;;
964723
     "bin/tests/system/gost/prereq.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/gost/prereq.sh" ;;
964723
     "bin/tests/system/lwresd/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/lwresd/Makefile" ;;
964723
     "bin/tests/system/rpz/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/rpz/Makefile" ;;
964723
@@ -21677,11 +22352,19 @@ do
964723
     "lib/dns/include/dns/Makefile") CONFIG_FILES="$CONFIG_FILES lib/dns/include/dns/Makefile" ;;
964723
     "lib/dns/include/dst/Makefile") CONFIG_FILES="$CONFIG_FILES lib/dns/include/dst/Makefile" ;;
964723
     "lib/dns/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/dns/tests/Makefile" ;;
964723
+    "lib/dns-pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/dns-pkcs11/Makefile" ;;
964723
+    "lib/dns-pkcs11/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/dns-pkcs11/include/Makefile" ;;
964723
+    "lib/dns-pkcs11/include/dns/Makefile") CONFIG_FILES="$CONFIG_FILES lib/dns-pkcs11/include/dns/Makefile" ;;
964723
+    "lib/dns-pkcs11/include/dst/Makefile") CONFIG_FILES="$CONFIG_FILES lib/dns-pkcs11/include/dst/Makefile" ;;
964723
     "lib/export/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/Makefile" ;;
964723
     "lib/export/dns/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns/Makefile" ;;
964723
     "lib/export/dns/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns/include/Makefile" ;;
964723
     "lib/export/dns/include/dns/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns/include/dns/Makefile" ;;
964723
     "lib/export/dns/include/dst/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns/include/dst/Makefile" ;;
964723
+    "lib/export/dns-pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns-pkcs11/Makefile" ;;
964723
+    "lib/export/dns-pkcs11/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns-pkcs11/include/Makefile" ;;
964723
+    "lib/export/dns-pkcs11/include/dns/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns-pkcs11/include/dns/Makefile" ;;
964723
+    "lib/export/dns-pkcs11/include/dst/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/dns-pkcs11/include/dst/Makefile" ;;
964723
     "lib/export/irs/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/irs/Makefile" ;;
964723
     "lib/export/irs/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/irs/include/Makefile" ;;
964723
     "lib/export/irs/include/irs/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/irs/include/irs/Makefile" ;;
964723
@@ -21695,6 +22378,16 @@ do
964723
     "lib/export/isc/unix/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc/unix/Makefile" ;;
964723
     "lib/export/isc/unix/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc/unix/include/Makefile" ;;
964723
     "lib/export/isc/unix/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc/unix/include/isc/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/$thread_dir/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/$thread_dir/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/$thread_dir/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/$thread_dir/include/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/$thread_dir/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/$thread_dir/include/isc/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/include/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/include/isc/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/nls/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/nls/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/unix/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/unix/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/unix/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/unix/include/Makefile" ;;
964723
+    "lib/export/isc-pkcs11/unix/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isc-pkcs11/unix/include/isc/Makefile" ;;
964723
     "lib/export/isccfg/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isccfg/Makefile" ;;
964723
     "lib/export/isccfg/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isccfg/include/Makefile" ;;
964723
     "lib/export/isccfg/include/isccfg/Makefile") CONFIG_FILES="$CONFIG_FILES lib/export/isccfg/include/isccfg/Makefile" ;;
964723
@@ -21715,11 +22408,32 @@ do
964723
     "lib/isc/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/include/Makefile" ;;
964723
     "lib/isc/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/include/isc/Makefile" ;;
964723
     "lib/isc/include/isc/platform.h") CONFIG_FILES="$CONFIG_FILES lib/isc/include/isc/platform.h" ;;
964723
+    "lib/isc/include/pk11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/include/pk11/Makefile" ;;
964723
+    "lib/isc/include/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/include/pkcs11/Makefile" ;;
964723
     "lib/isc/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/tests/Makefile" ;;
964723
     "lib/isc/nls/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/nls/Makefile" ;;
964723
     "lib/isc/unix/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/unix/Makefile" ;;
964723
     "lib/isc/unix/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/unix/include/Makefile" ;;
964723
     "lib/isc/unix/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/unix/include/isc/Makefile" ;;
964723
+    "lib/isc/unix/include/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc/unix/include/pkcs11/Makefile" ;;
964723
+    "lib/isc-pkcs11/$arch/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/$arch/Makefile" ;;
964723
+    "lib/isc-pkcs11/$arch/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/$arch/include/Makefile" ;;
964723
+    "lib/isc-pkcs11/$arch/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/$arch/include/isc/Makefile" ;;
964723
+    "lib/isc-pkcs11/$thread_dir/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/$thread_dir/Makefile" ;;
964723
+    "lib/isc-pkcs11/$thread_dir/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/$thread_dir/include/Makefile" ;;
964723
+    "lib/isc-pkcs11/$thread_dir/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/$thread_dir/include/isc/Makefile" ;;
964723
+    "lib/isc-pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/Makefile" ;;
964723
+    "lib/isc-pkcs11/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/include/Makefile" ;;
964723
+    "lib/isc-pkcs11/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/include/isc/Makefile" ;;
964723
+    "lib/isc-pkcs11/include/isc/platform.h") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/include/isc/platform.h" ;;
964723
+    "lib/isc-pkcs11/include/pk11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/include/pk11/Makefile" ;;
964723
+    "lib/isc-pkcs11/include/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/include/pkcs11/Makefile" ;;
964723
+    "lib/isc-pkcs11/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/tests/Makefile" ;;
964723
+    "lib/isc-pkcs11/nls/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/nls/Makefile" ;;
964723
+    "lib/isc-pkcs11/unix/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/unix/Makefile" ;;
964723
+    "lib/isc-pkcs11/unix/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/unix/include/Makefile" ;;
964723
+    "lib/isc-pkcs11/unix/include/isc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/unix/include/isc/Makefile" ;;
964723
+    "lib/isc-pkcs11/unix/include/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isc-pkcs11/unix/include/pkcs11/Makefile" ;;
964723
     "lib/isccc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isccc/Makefile" ;;
964723
     "lib/isccc/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isccc/include/Makefile" ;;
964723
     "lib/isccc/include/isccc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/isccc/include/isccc/Makefile" ;;
964723
@@ -23043,6 +23757,7 @@ echo "------------------------------------------------------------------------"
964723
 echo "Optional features enabled:"
964723
 $use_threads && echo "    Multiprocessing support (--enable-threads)"
964723
 
964723
+test "$use_tuning" = "large" && echo "    Large-system tuning (--with-tuning)"
964723
 test "$enable_fixed" = "yes" && \
964723
     echo "    Fixed RRset order (--enable-fixed-rrset)"
964723
 test "$atf" = "no" || echo "    Automated Testing Framework (--with-atf)"
964723
@@ -23062,12 +23777,8 @@ test "$use_pkcs11" = "no" || echo "    PKCS#11/Cryptoki support (--with-pkcs11)"
964723
 if test "$enable_full_report" = "yes"; then
964723
     test "$enable_ipv6" = "no" -o "$found_ipv6" = "no" || \
964723
         echo "    IPv6 support (--enable-ipv6)"
964723
-    test "X$USE_OPENSSL" = "X" || \
964723
+    test "X$CRYPTO" = "X" -o "$want_native_pkcs11" = "yes" || \
964723
             echo "    OpenSSL cryptography/DNSSEC (--with-openssl)"
964723
-    test "$OPENSSL_GOST" != "yes" || \
964723
-            echo "    GOST algorithm support (--with-gost)"
964723
-    test "$OPENSSL_ECDSA" != "yes" || \
964723
-            echo "    ECDSA algorithm support (--with-ecdsa)"
964723
     test "X$PYTHON" = "X" || echo "    Python tools (--with-python)"
964723
     test "X$libxml2_libs" = "X" || echo "    XML statistics (--with-libxml2)"
964723
 fi
964723
@@ -23092,6 +23803,7 @@ echo
964723
 
964723
 echo "Features disabled or unavailable on this platform:"
964723
 $use_threads || echo "    Multiprocessing support (--enable-threads)"
964723
+test "$use_tuning" = "large" || echo "    Large-system tuning (--with-tuning)"
964723
 test "$enable_fixed" = "yes" || \
964723
     echo "    Fixed RRset order (--enable-fixed-rrset)"
964723
 test "$atf" = "no" && echo "    Automated Testing Framework (--with-atf)"
964723
@@ -23100,24 +23812,28 @@ test "$enable_filter" = "yes" || \
964723
 test "$use_gssapi" = "no" && echo "    GSS-API (--with-gssapi)"
964723
 test "$want_backtrace" = "yes" || \
964723
     echo "    Print backtrace on crash (--enable-backtrace)"
964723
-test "$use_pkcs11" = "no" && echo "    PKCS#11/Cryptoki support (--with-pkcs11)"
964723
 
964723
-test "$enable_ipv6" = "no" -o "$found_ipv6" = "no" && \
964723
-        echo "    IPv6 support (--enable-ipv6)"
964723
-test "X$USE_OPENSSL" = "X" && \
964723
-        echo "    OpenSSL cryptography/DNSSEC (--with-openssl)"
964723
-test "X$USE_OPENSSL" != "X" -a "$OPENSSL_GOST" != "yes" && \
964723
+test "X$CRYPTO" = "X" -o "$want_native_pkcs11" = "yes" && \
964723
+    echo "    OpenSSL cryptography/DNSSEC (--with-openssl)"
964723
+test "$want_native_pkcs11" != "yes" && \
964723
+    echo "    Native PKCS#11 cryptography/DNSSEC (--enable-native-pkcs11)"
964723
+test "X$CRYPTO" = "X" -o "$OPENSSL_GOST" = "yes" -o "$PKCS11_GOST" = "yes" || \
964723
     echo "    GOST algorithm support (--with-gost)"
964723
-test "X$USE_OPENSSL" != "X" -a "$OPENSSL_ECDSA" != "yes" && \
964723
+test "X$CRYPTO" = "X" -o "$OPENSSL_ECDSA" = "yes" -o "$PKCS11_ECDSA" = "yes" || \
964723
     echo "    ECDSA algorithm support (--with-ecdsa)"
964723
+test "$use_pkcs11" = "no" && echo "    PKCS#11/Cryptoki support (--with-pkcs11)"
964723
+test "$enable_ipv6" = "no" -o "$found_ipv6" = "no" && \
964723
+        echo "    IPv6 support (--enable-ipv6)"
964723
 test "X$PYTHON" = "X" && echo "    Python tools (--with-python)"
964723
 test "X$libxml2_libs" = "X" && echo "    XML statistics (--with-libxml2)"
964723
 
964723
 echo "========================================================================"
964723
 
964723
-if test "X$USE_OPENSSL" = "X"; then
964723
+if test "X$CRYPTO" = "X"; then
964723
 cat << \EOF
964723
-BIND is being built without OpenSSL. This means it will not have DNSSEC support.
964723
+BIND 9 is being built without cryptography support. This means it will
964723
+not have DNSSEC support. Use --with-openssl, or --with-pkcs11 and
964723
+--enable-native-pkcs11 to enable cryptography.
964723
 EOF
964723
 fi
964723
 
964723
diff --git a/configure.in b/configure.in
964723
index 5c79d6d..529989d 100644
964723
--- a/configure.in
964723
+++ b/configure.in
964723
@@ -3671,6 +3671,29 @@ AC_CHECK_HEADERS(locale.h)
964723
 AC_CHECK_FUNCS(setlocale)
964723
 
964723
 #
964723
+# was --with-tuning specified?
964723
+#
964723
+AC_ARG_WITH(tuning,
964723
+	[  --with-tuning=ARG       Specify server tuning (large or default)],
964723
+	use_tuning="$withval", use_tuning="no")
964723
+
964723
+case "$use_tuning" in
964723
+	large)
964723
+		if ! $use_threads; then
964723
+			AC_MSG_ERROR([Large-system tuning requires threads.])
964723
+		fi
964723
+                AC_DEFINE(TUNE_LARGE, 1, [Define to use large-system tuning.])
964723
+		AC_MSG_RESULT(using large-system tuning)
964723
+		;;
964723
+	no|default)
964723
+		AC_MSG_RESULT(using default tuning)
964723
+		;;
964723
+	yes|*)
964723
+                AC_MSG_ERROR([You must specify "large" or "default" for --with-tuning.])
964723
+		;;
964723
+esac
964723
+
964723
+#
964723
 # Substitutions
964723
 #
964723
 AC_SUBST(BIND9_TOP_BUILDDIR)
964723
@@ -4193,6 +4216,7 @@ echo "------------------------------------------------------------------------"
964723
 echo "Optional features enabled:"
964723
 $use_threads && echo "    Multiprocessing support (--enable-threads)"
964723
 
964723
+test "$use_tuning" = "large" && echo "    Large-system tuning (--with-tuning)"
964723
 test "$enable_fixed" = "yes" && \
964723
     echo "    Fixed RRset order (--enable-fixed-rrset)"
964723
 test "$atf" = "no" || echo "    Automated Testing Framework (--with-atf)"
964723
@@ -4238,6 +4262,7 @@ echo
964723
 
964723
 echo "Features disabled or unavailable on this platform:"
964723
 $use_threads || echo "    Multiprocessing support (--enable-threads)"
964723
+test "$use_tuning" = "large" || echo "    Large-system tuning (--with-tuning)"
964723
 test "$enable_fixed" = "yes" || \
964723
     echo "    Fixed RRset order (--enable-fixed-rrset)"
964723
 test "$atf" = "no" && echo "    Automated Testing Framework (--with-atf)"
964723
diff --git a/lib/dns/client.c b/lib/dns/client.c
964723
index e9e8bde..d3b371b 100644
964723
--- a/lib/dns/client.c
964723
+++ b/lib/dns/client.c
964723
@@ -67,6 +67,12 @@
964723
 
964723
 #define MAX_RESTARTS 16
964723
 
964723
+#ifdef TUNE_LARGE
964723
+#define RESOLVER_NTASKS 523
964723
+#else
964723
+#define RESOLVER_NTASKS 31
964723
+#endif /* TUNE_LARGE */
964723
+
964723
 /*%
964723
  * DNS client object
964723
  */
964723
@@ -480,7 +486,7 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, isc_taskmgr_t *taskmgr,
964723
 
964723
 	/* Create the default view for class IN */
964723
 	result = dns_client_createview(mctx, dns_rdataclass_in, options,
964723
-				       taskmgr, 31, socketmgr, timermgr,
964723
+				       taskmgr, RESOLVER_NTASKS, socketmgr, timermgr,
964723
 				       dispatchmgr, dispatchv4, dispatchv6,
964723
 				       &view);
964723
 	if (result != ISC_R_SUCCESS)
964723
diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c
964723
index cbc506b..af0c3bc 100644
964723
--- a/lib/isc/unix/socket.c
964723
+++ b/lib/isc/unix/socket.c
964723
@@ -157,7 +157,11 @@ struct isc_socketwait {
964723
  */
964723
 #ifndef ISC_SOCKET_MAXSOCKETS
964723
 #if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL)
964723
+#ifdef TUNE_LARGE
964723
+#define ISC_SOCKET_MAXSOCKETS 21000
964723
+#else
964723
 #define ISC_SOCKET_MAXSOCKETS 4096
964723
+#endif /* TUNE_LARGE */
964723
 #elif defined(USE_SELECT)
964723
 #define ISC_SOCKET_MAXSOCKETS FD_SETSIZE
964723
 #endif	/* USE_KQUEUE... */
964723
@@ -219,7 +223,11 @@ typedef enum { poll_idle, poll_active, poll_checking } pollstate_t;
964723
  */
964723
 #if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL)
964723
 #ifndef ISC_SOCKET_MAXEVENTS
964723
+#ifdef TUNE_LARGE
964723
 #define ISC_SOCKET_MAXEVENTS	2048
964723
+#else
964723
+#define ISC_SOCKET_MAXEVENTS	64
964723
+#endif /* TUNE_LARGE */
964723
 #endif
964723
 #endif
964723
 
964723
@@ -295,7 +303,11 @@ typedef isc_event_t intev_t;
964723
 /*%
964723
  * The size to raise the receive buffer to (from BIND 8).
964723
  */
964723
+#ifdef TUNE_LARGE
964723
+#define RCVBUFSIZE (16*1024*1024)
964723
+#else
964723
 #define RCVBUFSIZE (32*1024)
964723
+#endif /* TUNE_LARGE */
964723
 
964723
 /*%
964723
  * The number of times a send operation is repeated if the result is EINTR.
964723
-- 
964723
2.9.5
964723