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