diff --git a/CHANGES b/CHANGES
index 62c6402c7d..5b6046f120 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]
4071. [cleanup] Initialize pthread mutex attrs just once, instead of
doing it per mutex creation. [RT #38547]
diff --git a/config.h.win32 b/config.h.win32
index bcd7fdd8d2..0be7e39878 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
@@ -396,6 +394,9 @@ typedef __int64 off_t;
/* Large system tuning */
@TUNE_LARGE@
+/* Verbose query trace logging */
+@WANT_QUERYTRACE@
+
/*
* Define to nothing if C supports flexible array members, and to 1 if it does
* not. That way, with a declaration like `struct s { int n; double
diff --git a/configure b/configure
index 5d93e40c5d..f761af6c17 100755
--- a/configure
+++ b/configure
@@ -11436,6 +11436,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 "${with_dlz_filesystem+set}" = set || with_dlz_filesystem=yes
diff --git a/configure.in b/configure.in
index c43f31453d..5cb83166cc 100644
--- a/configure.in
+++ b/configure.in
@@ -86,6 +86,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 "${with_dlz_filesystem+set}" = set || with_dlz_filesystem=yes
diff --git a/doc/arm/notes.xml b/doc/arm/notes.xml
index 676da66f82..412f15c3aa 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 0f856a46e2..d96cdb16ef 100644
--- a/win32utils/Configure
+++ b/win32utils/Configure
@@ -371,6 +371,7 @@ my @substdefh = ("AES_SIT",
"ISC_LIST_CHECKINIT",
"PREFER_GOSTASN1",
"TUNE_LARGE",
+ "WANT_QUERYTRACE",
"WITH_IDN");
# for platform.h
@@ -484,6 +485,7 @@ my @enablelist = ("developer",
"native-pkcs11",
"openssl-hash",
"filter-aaaa",
+ "querytrace",
"rpz-nsdname",
"rpz-nsip",
"sit");
@@ -541,6 +543,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",
" enable-sit enable source identity token [default=yes]\n",
@@ -582,6 +585,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 $enable_sit = "yes";
@@ -740,6 +744,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";
@@ -767,6 +775,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
@@ -997,6 +1006,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 {
@@ -1361,6 +1375,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;
@@ -2938,6 +2957,7 @@ exit 0;
# --enable-atomic supported (renamed to 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