diff --git a/CHANGES b/CHANGES
index 11694dfa84..029feae563 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,7 +14,9 @@
[RT #38056]
4072. [func] Add a --enable-querytrace configure switch for
- very verbose query tracelogging. [RT #37520]
+ very verbose query tracelogging. (This option
+ has a negative performance impact and should be
+ used only for debugging.) [RT #37520]
4070. [bug] Fix a segfault in nslookup in a query such as
"nslookup isc.org AMS.SNS-PB.ISC.ORG -all".
diff --git a/config.h.win32 b/config.h.win32
index de1399c472..0447b431a6 100644
--- a/config.h.win32
+++ b/config.h.win32
@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: config.h.win32,v 1.28 2011/10/30 23:39:39 marka Exp $ */
-
/*
* win32 configuration file
* All definitions, declarations, macros and includes are
@@ -358,6 +356,9 @@ typedef __int64 off_t;
/* From enable developer */
@ISC_LIST_CHECKINIT@
+/* Verbose query trace logging */
+@WANT_QUERYTRACE@
+
/* Avoid warnings with strlen() */
#ifdef _WIN64
#define strlen(x) (unsigned int) strlen(x)
diff --git a/configure b/configure
index 677c1ad664..22f2dc84ba 100755
--- a/configure
+++ b/configure
@@ -11417,6 +11417,7 @@ case "$enable_developer" in
yes)
STD_CDEFINES="$STD_CDEFINES -DISC_LIST_CHECKINIT=1"
test "${enable_fixed_rrset+set}" = set || enable_fixed_rrset=yes
+ test "${enable_querytrace+set}" = set || enable_querytrace=yes
test "${with_atf+set}" = set || with_atf=yes
test "${enable_filter_aaaa+set}" = set || enable_filter_aaaa=yes
test "${enable_rrl+set}" = set || enable_rrl=yes
diff --git a/configure.in b/configure.in
index d17e75e418..70124594bc 100644
--- a/configure.in
+++ b/configure.in
@@ -72,6 +72,7 @@ case "$enable_developer" in
yes)
STD_CDEFINES="$STD_CDEFINES -DISC_LIST_CHECKINIT=1"
test "${enable_fixed_rrset+set}" = set || enable_fixed_rrset=yes
+ test "${enable_querytrace+set}" = set || enable_querytrace=yes
test "${with_atf+set}" = set || with_atf=yes
test "${enable_filter_aaaa+set}" = set || enable_filter_aaaa=yes
test "${enable_rrl+set}" = set || enable_rrl=yes
diff --git a/doc/arm/notes.xml b/doc/arm/notes.xml
index a8f1f6061f..fa621e58a9 100644
--- a/doc/arm/notes.xml
+++ b/doc/arm/notes.xml
@@ -49,6 +49,15 @@
None
+
+
+ An --enable-querytrace configure switch is
+ now available to enable very verbose query tracelogging. This
+ option can only be set at compile time. This option has a
+ negative performance impact and should be used only for
+ debugging.
+
+
diff --git a/win32utils/Configure b/win32utils/Configure
index 3b171aa065..0b54f9dd00 100644
--- a/win32utils/Configure
+++ b/win32utils/Configure
@@ -323,6 +323,7 @@ my @substdefh = ("ALLOW_FILTER_AAAA",
"HAVE_READLINE",
"HMAC_RETURN_INT",
"ISC_LIST_CHECKINIT",
+ "WANT_QUERYTRACE",
"WITH_IDN");
# for platform.h
@@ -432,6 +433,7 @@ my @enablelist = ("developer",
"isc-spnego",
"openssl-hash",
"filter-aaaa",
+ "querytrace",
"rpz-nsdname",
"rpz-nsip");
@@ -484,6 +486,7 @@ my @help = (
" enable-filter-aaaa enable filtering of AAAA records [default=no]\n",
" enable-fixed-rrset enable fixed rrset ordering [default=no]\n",
" enable-developer enable developer build settings [default=no]\n",
+" enable-querytrace enable very verbose query trace [default=no]\n",
" enable-rpz-nsip enable rpz-nsip rules [default=yes]\n",
" enable-rpz-nsdname enable rpz-nsdname rules [default=yes]\n",
"\nOptional Packages:\n",
@@ -519,6 +522,7 @@ my $enable_filter_aaaa = "no";
my $enable_isc_spnego = "yes";
my $enable_fixed_rrset = "no";
my $enable_developer = "no";
+my $enable_querytrace = "no";
my $enable_rpz_nsip = "yes";
my $enable_rpz_nsdname = "yes";
my $use_tests = "no";
@@ -665,6 +669,10 @@ sub myenable {
if ($val =~ /^yes$/i) {
$enable_developer = "yes";
}
+ } elsif ($key =~ /^querytrace$/i) {
+ if ($val =~ /^yes$/i) {
+ $enable_querytrace = "yes";
+ }
} elsif ($key =~ /^rpz-nsip$/i) {
if ($val =~ /^no$/i) {
$enable_rpz_nsip = "no";
@@ -688,6 +696,7 @@ sub myenable {
if ($enable_developer eq "yes") {
$configdefh{"ISC_LIST_CHECKINIT"} = 1;
$enable_filter_aaaa = "yes";
+ $enable_querytrace = "yes";
# no atf on WIN32
$enable_fixed_rrset = "yes";
# TODO: dlz filesystem
@@ -881,6 +890,11 @@ if ($verbose) {
} else {
print "developer: disabled\n";
}
+ if ($enable_querytrace eq "yes") {
+ print "querytrace: enabled\n";
+ } else {
+ print "querytrace: disabled\n";
+ }
if ($enable_rpz_nsip eq "yes") {
print "rpz-nsip: enabled\n";
} else {
@@ -1157,6 +1171,11 @@ if ($enable_rpz_nsip ne "no") {
$configdefh{"ENABLE_RPZ_NSIP"} = 1;
}
+# enable-querytrace
+if ($enable_querytrace eq "yes") {
+ $configdefh{"WANT_QUERYTRACE"} = 1;
+}
+
# enable-rpz-nsdname
if ($enable_rpz_nsdname ne "no") {
$configdefh{"ENABLE_RPZ_NSDNAME"} = 1;
@@ -2580,6 +2599,7 @@ exit 0;
# --enable-atomic supported (renamed intrinsic)
# --enable-spnego support (part of GSSAPI)
# --enable-fixed-rrset supported
+# --enable-querytrace supported
# --disable-rpz-nsip supported
# --disable-rpz-nsdname supported
# --enable-filter-aaaa supported