Commit Graph
217 Commits
Author SHA1 Message Date
Mark Andrews 96399960c1 Try to improve rrl timing
Add a +burst option to mdig so that we have a second to setup the
mdig calls then they run at the start of the next second.

RRL uses 'queries in a second' as a approximation to
'queries per second'. Getting the bursts of traffic to all happen in
the same second should prevent false negatives in the system test.

We now have a second to setup the traffic in.  Then the traffic should
be sent at the start of the next second.  If that still fails we
should move to +burst=<now+2> (further extend mdig) instead of the
implicit <now+1> as the trigger second.

(cherry picked from commit 92cdc7b6c7)
2020-10-15 11:47:08 +11:00
Diego FronzaandOndřej Surý 8781aef52e Refactored dns_message_t for using attach/detach semantics
This commit will be used as a base for the next code updates in order
to have a better control of dns_message_t objects' lifetime.
2020-09-30 13:33:43 +02:00
Evan Hunt 400171aee8 update all copyright headers to eliminate the typo 2020-09-14 17:00:40 -07:00
Ondřej Surý 5fd1df8cfa Disable MSB8028 warning
All our MSVS Project files share the same intermediate directory.  We
know that this doesn't cause any problems, so we can just disable the
detection in the project files.

Example of the warning:

  warning MSB8028: The intermediate directory (.\Release\) contains files shared from another project (dnssectool.vcxproj).  This can lead to incorrect clean and rebuild behavior.

(cherry picked from commit b6c2012d93)
2020-04-16 08:12:39 +02:00
Ondřej Surý 1eb5a77baa Set WarningLevel to Level1 for Release, treat warnings as errors
Our vcxproj files set the WarningLevel to Level3, which is too verbose
for a code that needs to be portable.  That basically leads to ignoring
all the errors that MSVC produces.  This commits downgrades the
WarningLevel to Level1 and enables treating warnings as errors for
Release builds.  For the Debug builds the WarningLevel got upgraded to
Level4, and treating warnings as errors is explicitly disabled.

We should eventually make the code clean of all MSVC warnings, but it's
a long way to go for Level4, so it's more reasonable to start at Level1.

For reference[1], these are the warning levels as described by MSVC
documentation:

  * /W0 suppresses all warnings. It's equivalent to /w.
  * /W1 displays level 1 (severe) warnings. /W1 is the default setting
    in the command-line compiler.
  * /W2 displays level 1 and level 2 (significant) warnings.
  * /W3 displays level 1, level 2, and level 3 (production quality)
    warnings. /W3 is the default setting in the IDE.
  * /W4 displays level 1, level 2, and level 3 warnings, and all level 4
    (informational) warnings that aren't off by default. We recommend
    that you use this option to provide lint-like warnings. For a new
    project, it may be best to use /W4 in all compilations. This option
    helps ensure the fewest possible hard-to-find code defects.
  * /Wall displays all warnings displayed by /W4 and all other warnings
    that /W4 doesn't include — for example, warnings that are off by
    default.
  * /WX treats all compiler warnings as errors. For a new project, it
    may be best to use /WX in all compilations; resolving all warnings
    ensures the fewest possible hard-to-find code defects.

1. https://docs.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level?view=vs-2019

(cherry picked from commit 789d253e3d)
2020-04-16 08:12:39 +02:00
Evan Hunt e63223332c fix spelling errors reported by Fossies. 2020-02-21 14:09:59 -08:00
Tinderbox UserandEvan Hunt 6b5916325f regen v9_11 2020-01-27 11:10:16 -08:00
Evan Hunt 50ce299518 update copyright year to 2020 2020-01-02 21:50:03 -08:00
Michał Kępień 61e4c9198a Make VS solution upgrading unnecessary
Until now, the build process for BIND on Windows involved upgrading the
solution file to the version of Visual Studio used on the build host.
Unfortunately, the executable used for that (devenv.exe) is not part of
Visual Studio Build Tools and thus there is no clean way to make that
executable part of a Windows Server container.

Luckily, the solution upgrade process boils down to just adding XML tags
to Visual Studio project files and modifying certain XML attributes - in
files which we pregenerate anyway using win32utils/Configure.  Thus,
extend win32utils/Configure with three new command line parameters that
enable it to mimic what "devenv.exe bind9.sln /upgrade" does.  This
makes the devenv.exe build step redundant and thus facilitates building
BIND in Windows Server containers.

(cherry picked from commit 0476e8f1ac)
2019-09-27 12:13:39 +02:00
Mark Andrews ff700b2259 address or suppress cppcheck warnings
(cherry picked from commit b59fe46e76)
2019-09-12 19:31:56 +10:00
Evan Hunt 3562b0003f minor bugfix in mdig: when using +multi, +norrcomments was ignored
(cherry picked from commit edab51b420)
2019-08-07 20:55:14 -07:00
Evan Hunt 7de12aaa34 add a search for GeoIP2 libraries in configure
- "--with-geoip" is used to enable the legacy GeoIP library.
- "--with-geoip2" is used to enable the new GeoIP2 library
  (libmaxminddb), and is on by default if the library is found.
- using both "--with-geoip" and "--with-geoip2" at the same time
  is an error.
- an attempt is made to determine the default GeoIP2 database path at
  compile time if pkg-config is able to report the module prefix. if
  this fails, it will be necessary to set the path in named.conf with
  geoip-directory
- Makefiles have been updated, and a stub lib/dns/geoip2.c has been
  added for the eventual GeoIP2 search implementation.

(cherry picked from commit fea6b5bf10)
(cherry picked from commit 6a7e805796)
2019-07-02 12:28:14 -07:00
Michał Kępień 511f3c3601 dnstap-read: clear buffer before expanding it
When printing a packet, dnstap-read checks whether its text form takes
up more than the 2048 bytes allocated for the output buffer by default.
If that is the case, the output buffer is automatically expanded, but
the truncated output is left in the buffer, resulting in malformed data
being printed.  Clear the output buffer before expanding it to prevent
this issue from occurring.

(cherry picked from commit 3549abe81d)
2019-06-28 12:45:44 +02:00
Ondřej Surý c927beea2d Make lib/dns/dnstap.pb-c.h private header
This changes dns_dtdata struct to not expose data types from dnstap.pb-c.h to
prevent the need for including this header where not really needed.

(cherry picked from commit 8ccce7e24b)
2019-03-22 12:08:16 +01:00
Tinderbox UserandEvan Hunt 4738d62e1c doc rebuild 2019-02-20 19:54:40 -08:00
Mark Andrews 84527eb4d5 update copyrights 2019-01-02 10:26:49 +11:00
Mark Andrews 0f5aeea233 dig and mdig failed to properly preparse dash value pairs when value was a seperate argument and started with a dash.
(cherry picked from commit 75fa84b67b)
2018-11-14 11:56:03 +11:00
Ondřej SurýandOndřej Surý 5a30d71e85 Whitespace fixes
(cherry picked from commit 31b5360943)
2018-08-24 08:33:36 -04:00
Ondřej Surý bfd31e282a Fix missing config.h in win32/socket.c and replace config.h with <config.h>
(cherry picked from commit d87c1a120d)
2018-08-11 11:00:50 +02:00
Ondřej Surý 1084b40b44 Replace custom isc_boolean_t with C standard bool type
(cherry picked from commit 994e656977)
(cherry picked from commit 884929400c)
2018-08-10 15:20:57 +02:00
Ondřej Surý aaa76dc654 Replace custom isc_u?intNN_t types with C99 u?intNN_t types
(cherry picked from commit cb6a185c69)
(cherry picked from commit d61e6a3111)
2018-08-10 15:20:57 +02:00
Ondřej Surý b9aa411750 Revert "Use make automatic variables to install updated manuals"
This reverts commit 77e9d82e1f.
2018-08-06 12:54:23 +02:00
Mark Andrews 6014eacc51 fix handling of '+ednsopt=:'; support 100 ednsopts per query rather than 100 total
(cherry picked from commit d2943440a0)
2018-08-02 09:48:25 +10:00
Petr MenšíkandMark Andrews 77e9d82e1f Use make automatic variables to install updated manuals
Make will choose modified manual from build directory or original from source
directory automagically. Take advantage of install tool feature.
Install all files in single command instead of iterating on each of them.

(cherry picked from commit 88f913ac81)
2018-08-01 16:29:11 +10:00
Evan HuntandOndřej Surý a1690b24bc prepare 9.11.4rc1 2018-06-21 18:54:43 +02:00
Ondřej Surý 188526f41c Remove $Id markers, Principal Author and Reviewed tags from the full source tree
(cherry picked from commit 55a10b7acd)
2018-05-11 14:25:15 +02:00
Evan Hunt 694a1486ca fix shadowed global variables
(cherry picked from commit 9ca3ab1168)
2018-04-22 12:57:58 -07:00
Michał KępieńandEvan Hunt ecea678dac Use dns_fixedname_initname() where possible
Replace dns_fixedname_init() calls followed by dns_fixedname_name()
calls with calls to dns_fixedname_initname() where it is possible
without affecting current behavior and/or performance.

This patch was mostly prepared using Coccinelle and the following
semantic patch:

    @@
    expression fixedname, name;
    @@
    -	dns_fixedname_init(&fixedname);
    	...
    -	name = dns_fixedname_name(&fixedname);
    +	name = dns_fixedname_initname(&fixedname);

The resulting set of changes was then manually reviewed to exclude false
positives and apply minor tweaks.

It is likely that more occurrences of this pattern can be refactored in
an identical way.  This commit only takes care of the low-hanging fruit.

(cherry picked from commit 4df4a8e731)
(cherry picked from commit 0041aeb751)
2018-04-10 13:26:23 -07:00
Evan Hunt 8b205089b7 update file headers to remove copyright years 2018-03-14 16:40:20 -07:00
Mark Andrews bb7a470a0d reorder test to silence cppcheck 2018-02-16 14:59:20 +11:00
Mark Andrews 45960706e6 use %u instead of %d 2018-02-16 14:36:56 +11:00
Mark Andrews b883fa4c14 use %u instead of %d 2018-02-16 14:28:25 +11:00
Tinderbox User 701e9f3149 update copyright notice / whitespace 2017-11-30 23:46:50 +00:00
Michał Kępień 81e3e30849 [v9_11] Fix LMDB support on OpenBSD; clean up and refactor LMDB-related code
4835.   [cleanup]       Clean up and refactor LMDB-related code. [RT #46718]

4834.   [port]          Fix LMDB support on OpenBSD. [RT #46718]

(cherry picked from commit 2c20fc0d13)
2017-11-30 14:34:43 +01:00
Tinderbox User 17fdbf542a regen v9_11 2017-11-03 01:15:31 +00:00
Tinderbox User 9a769d8b16 update copyright notice / whitespace 2017-11-02 23:46:37 +00:00
Evan Hunt 17b7c60902 [v9_11] removed references to obsolete versions in documentation 2017-11-01 22:20:36 -07:00
Mark Andrews d72952cf25 4739. [cleanup] Address clang static analysis warnings. [RT #45952]
(cherry picked from commit f9f3f20d2d)
2017-09-27 10:58:44 +10:00
Mark Andrews 5a93d3be4e more str{n}{cat,cpy} corrections rt45981_stage2
(cherry picked from commit cb629cdeda)
2017-09-14 18:33:02 +10:00
Evan Hunt 8452718133 [v9_11] removed outdated library reference 2017-09-09 11:49:41 -07:00
Tinderbox User 9700e6d72c regen v9_11 2017-08-30 01:21:44 +00:00
Michał Kępień b7a823a402 [v9_11] Ensure consistent handling of -4/-6 command line options in all tools
4690.	[bug]		Command line options -4/-6 were handled inconsistently
			between tools. [RT #45632]

(cherry picked from commit d6814700de)
2017-08-29 10:22:10 +02:00
Tinderbox User 3523e19da2 update copyright notice / whitespace 2017-08-09 23:49:39 +00:00
Evan Hunt 7dbeb5e7f0 [v9_11] silence gcc 7 warnings
4673.	[port]		Silence GCC 7 warnings. [RT #45592]

(cherry picked from commit cdacec1dcb)
2017-08-09 00:24:16 -07:00
Tinderbox User 2cda87d34f update copyright notice / whitespace 2017-07-20 23:45:50 +00:00
Mark Andrews 8ed6c49f1a 4653. [bug] Reorder includes to move @DST_OPENSSL_INC@ and
@ISC_OPENSSL_INC@ after shipped include directories.
                        [RT #45581]

(cherry picked from commit 124712666e)
2017-07-20 11:52:29 +10:00
Mark Andrews 1bce43adcc 4585. [port] win32: Set CompileAS value. [RT #42474]
(cherry picked from commit 3742338a7b)
2017-04-20 12:42:39 +10:00
Tinderbox User f9ecaf8a4a regen v9_11 2017-03-01 02:43:28 +00:00
Tinderbox User cb9582623e update copyright notice / whitespace 2017-02-28 23:45:56 +00:00
Mark Andrews cfeb569d54 fix nsupdate reference
(cherry picked from commit 02fa49a4d8)
2017-03-01 08:34:26 +11:00