Commit Graph

29347 Commits

Author SHA1 Message Date
Ondřej Surý
bc6c042116 Use $(pwd) instead of $CI_PROJECT_DIR to always get absolute path
(cherry picked from commit e957825eee)
2019-07-02 22:43:53 +02:00
Ondřej Surý
9d9a8400b2 Use sudo to setup the interfaces when CI job is not running as root
(cherry picked from commit 4d3e7d0b7d)
2019-07-02 22:43:53 +02:00
Evan Hunt
48c1ad84c3 Add FreeBSD 11 GitLab CI Runner
(cherry picked from commit 646bb64246)
2019-07-02 22:43:53 +02:00
Ondřej Surý
801bdd5a13 Merge branch 'ondrej/fix-freebsd-make-v9_14' into 'v9_14'
Add rules to make sure subdirs are always built before testdirs

See merge request isc-projects/bind9!2118
2019-07-02 13:58:48 -04:00
Ondřej Surý
d995dc4661 Add rules to make sure subdirs are always built before testdirs
(cherry picked from commit 723433cbc6)
2019-07-02 19:40:26 +02:00
Michał Kępień
d66a9a9b9a Merge branch 'michal/add-and-use-keyfile_to_key_id-helper-function-v9_14' into 'v9_14'
[v9_14] Add and use keyfile_to_key_id() helper function

See merge request isc-projects/bind9!2108
2019-06-28 08:33:30 -04:00
Michał Kępień
6045adbd1a Add and use keyfile_to_key_id() helper function
When trying to extract the key ID from a key file name, some test code
incorrectly attempts to strip all leading zeros.  This breaks tests when
keys with ID 0 are generated.  Add a new helper shell function,
keyfile_to_key_id(), which properly handles keys with ID 0 and use it in
test code whenever a key ID needs to be extracted from a key file name.

(cherry picked from commit 7d6eaad1bd)
2019-06-28 14:05:44 +02:00
Michał Kępień
23c2b14064 Merge branch '1093-dnstap-read-clear-buffer-before-expanding-it-v9_14' into 'v9_14'
[v9_14] dnstap-read: clear buffer before expanding it

See merge request isc-projects/bind9!2106
2019-06-28 07:08:35 -04:00
Michał Kępień
18aa38610f Add CHANGES entry
5260.	[bug]		dnstap-read was producing malformed output for large
			packets. [GL #1093]

(cherry picked from commit 7354207e1b)
2019-06-28 12:46:54 +02:00
Michał Kępień
1a1e550f94 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:46:53 +02:00
Evan Hunt
5369bbe6e6 Merge branch '182-geoip2-api-v9_14' into 'v9_14'
Resolve "Update GeoIP support to new API (GeoLite2 from Maxmind)"

See merge request isc-projects/bind9!2099
2019-06-27 19:54:34 -04:00
Evan Hunt
24103171ca CHANGES, release note, README
(cherry picked from commit 8854e284fd)
2019-06-27 16:32:31 -07:00
Evan Hunt
d6bd7bb9af update ARM documentation
(cherry picked from commit c9945d6148)
2019-06-27 16:32:30 -07:00
Evan Hunt
049d8a311b add geoip2 system test
(cherry picked from commit 9a1caf99ef)
2019-06-27 16:32:30 -07:00
Evan Hunt
7468036226 add GeoIP2 lookups to unit test
(cherry picked from commit 6399a70cb4)
2019-06-27 16:32:29 -07:00
Evan Hunt
0283ab7512 implement searching of geoip2 database
- revise mapping of search terms to database types to match the
  GeoIP2 schemas.
- open GeoIP2 databases when starting up; close when shutting down.
- clarify the logged error message when an unknown database type
  is configured.
- add new geoip ACL subtypes to support searching for continent in
  country databases.
- map geoip ACL subtypes to specific MMDB database queries.
- perform MMDB lookups based on subtype, saving state between
  queries so repeated lookups for the same address aren't necessary.

(cherry picked from commit 6e0b93e5a0)
2019-06-27 16:32:29 -07:00
Evan Hunt
7fc92bee0c add HAVE_GEOIP2 #ifdef branches, without implementing yet
(cherry picked from commit fe46d5bc34)
2019-06-27 16:25:29 -07:00
Evan Hunt
6a7e805796 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)
2019-06-27 16:25:28 -07:00
Ondřej Surý
38e10a8201 Merge branch '1095-when-gnu-c-compiler-is-used-on-solaris-gnu-ld-must-be-used-v9_14' into 'v9_14'
Enforce usage -zrelax=transtls when GNU C Compiler is used on Solaris

See merge request isc-projects/bind9!2098
2019-06-27 07:51:21 -04:00
Ondřej Surý
e87a180187 Enforce usage -zrelax=transtls when GNU C Compiler is used on Solaris
When GNU C Compiler is used on Solaris (11), the Thread Local Storage
is completely broken.  The behaviour doesn't manifest when GNU ld is
used.  Thus, we need to enforce usage of GNU ld when GNU C Compiler is
the compiler of choice.

For more background for this change, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90912

(cherry picked from commit d584223653)
2019-06-27 13:33:26 +02:00
Matthijs Mekking
34bacac31e Merge branch '513-matthijs-dnssec-sign-stats-v9_14' into 'v9_14'
Resolve "New metrics to report DNSSEC signing operations and IXFRs [ISC-support #13431]"

See merge request isc-projects/bind9!2080
2019-06-27 07:14:21 -04:00
Matthijs Mekking
04c8c43f09 DNSSEC sign metrics: CHANGES, doc, release note
Add some information about the new statistic-channel DNS sign
metrics. Also add a CHANGES and release note entry.

(cherry picked from commit 3a3f40e372)
2019-06-27 12:37:48 +02:00
Matthijs Mekking
97041a38a7 Also collect DNSSEC refresh signature statistics
In addition to gather how many times signatures are created per
key in a zone, also count how many of those signature creations are
because of DNSSEC maintenance.  These maintenance counters are
incremented if a signature is refreshed (but the RRset did not
changed), when the DNSKEY RRset is changed, and when that leads
to additional RRset / RRSIG updates (for example SOA, NSEC).

(cherry picked from commit 6f67546cd6)
2019-06-27 12:37:27 +02:00
Matthijs Mekking
212db50edd Add tests for DNSSEC sign statistics
This adds tests to the statschannel system test for testing if
the dnskey sign operation counters are incremented correctly.

It tests three cases:

1. A zone maintenance event where all the signatures that are about
   to expire are resigned.
2. A dynamic update event where the new RR and other relevant records
   (SOA, NSEC) are resigned.
3. Adding a standby key, that means the DNSKEY and SOA RRset are
   resigned.

(cherry picked from commit a8750a8805)
2019-06-27 12:37:27 +02:00
Matthijs Mekking
2c494feee6 Update dnskey sign operations statistics
Update per key tag the stats counter when it creates a new signature.
This can happen upon a dynamic update, or when doing DNSSEC
maintenance.

(cherry picked from commit 312fa7f65e)
2019-06-27 12:37:27 +02:00
Matthijs Mekking
ec799c667d Add DNSSEC sign operations statistics channel
Add a new statistics structure to record how many sign operations
a key has made within a zone.

(cherry picked from commit d8cf7aedfa)
2019-06-27 12:37:27 +02:00
Mark Andrews
a25668a58b Merge branch '1030-statistics-channel-fixes-v9_14' into 'v9_14'
Statistics Channel Fixes

See merge request isc-projects/bind9!2096
2019-06-26 23:41:38 -04:00
Mark Andrews
93b3964bc1 add CHANGES
(cherry picked from commit f8b3aa97df)
2019-06-27 13:23:57 +10:00
Mark Andrews
8573a1d752 check xsl vs xml
(cherry picked from commit d5c795942f)
2019-06-27 13:23:57 +10:00
Evan Hunt
41bb9505d4 add odd/even shading to the remaining tables
(cherry picked from commit ce3907e9fe)
2019-06-27 13:23:56 +10:00
Mark Andrews
e20eb63a6d remove 'Configured Zones'; add even/odd to zone list
(cherry picked from commit eaba8dd799)
2019-06-27 13:23:56 +10:00
Timothe Litt
bbb55191c5 Fix ISC-Bugs 45340: Statschannel XSL for zones, Traffic
In ISC-Bugs 45340, I wrote:

The Statistics channel offers links to Zones and Traffic.
Both produce valid data, but display as blank pages with
a web browser.

Zones never had XSL (I provided the original
implementation, but punted on the XSL).

Traffic has XSL, but it wasn't updated to reflect the
split between IPv4 and IPv6 data.

I've picked up enough XSL to fix my original omission,
and as penance for my sloth, fixed the Traffic bug as well.

(cherry picked from commit 96f0bbd4d5)
2019-06-27 13:23:56 +10:00
Evan Hunt
0c6b4f7285 Merge branch '1092-allow-priming-glue-v9_14' into 'v9_14'
allow glue in authoritative responses to root priming queries

See merge request isc-projects/bind9!2094
2019-06-26 12:38:22 -04:00
Evan Hunt
5246f6ecaa CHANGES, release note
(cherry picked from commit 03a6a78b55)
2019-06-26 09:21:05 -07:00
Evan Hunt
e8ce85d073 add system test to confirm glue is returned in priming queries
(cherry picked from commit 9a1f0ea873)
2019-06-26 09:21:05 -07:00
Evan Hunt
11b4bd4d7e allow glue in authoritative responses to root priming queries
- when processing authoritative queries for ./NS, set 'gluedb' so
  that glue will be included in the response, regardless of how
  'minimal-responses' has been configured.

(cherry picked from commit e7684c7b64)
2019-06-26 09:21:05 -07:00
Evan Hunt
3d839809c9 Merge branch '1109-inline-reload-error-v9_14' into 'v9_14'
don't overwrite the dns_master_loadfile() result before calling zone_postload()

See merge request isc-projects/bind9!2092
2019-06-26 12:09:04 -04:00
Evan Hunt
6b3eef02c5 CHANGES
(cherry picked from commit c29e344f07)
2019-06-26 08:50:14 -07:00
Evan Hunt
a049ce872f add a test that reloading errors are not ignored
(cherry picked from commit e48b3f1a00)
2019-06-26 08:49:52 -07:00
Evan Hunt
09fc9d4f87 don't overwrite the dns_master_loadfile() result before calling zone_postload()
if "rndc reload" fails, the result code is supposed to be passed to
zone_postload, but for inline-signing zones, the result can be
overwritten first by a call to the ZONE_TRYLOCK macro. this can lead
to the partially-loaded unsigned zone being synced over to the signed
zone instead of being rejected.

(cherry picked from commit 0b792bd37b)
2019-06-26 08:49:52 -07:00
Michał Kępień
9ea8ff424a Merge branch 'michal/prevent-idna-test-failures-with-libidn2-2.2.0-v9_14' into 'v9_14'
[v9_14] Prevent "idna" test failures with libidn2 2.2.0+

See merge request isc-projects/bind9!2090
2019-06-26 09:00:54 -04:00
Michał Kępień
e79362eaee Prevent "idna" test failures with libidn2 2.2.0+
libidn2 2.2.0+ parses Punycode more strictly than older versions and
thus "dig +idnin +noidnout xn--19g" fails with libidn2 2.2.0+ but
succeeds with older versions.

We could preserve the old behavior by using the IDN2_NO_ALABEL_ROUNDTRIP
flag available in libidn2 2.2.0+, but:

  - this change in behavior is considered a libidn2 bug fix [1],
  - we want to make sure dig behaves as expected, not libidn2,
  - implementing that would require additional configure.ac cruft.

Removing the problematic check appears to be the simplest solution as it
does not prevent the relevant block of checks in the "idna" system test
from achieving its purpose, i.e. ensuring dig properly handles invalid
U-labels.

[1] see upstream commit 241e8f486134793cb0f4a5b0e5817a97883401f5

(cherry picked from commit 60ce0ed411)
2019-06-26 14:40:58 +02:00
Ondřej Surý
efaa857219 Merge branch '1067-underflow-recursing-clients-stats-v9_14' into 'v9_14'
Resolve "Underflow in Stats Channel RecursClients value?"

See merge request isc-projects/bind9!2035
2019-06-26 05:36:51 -04:00
Witold Kręcicki
22a40323b0 CHANGES note
(cherry picked from commit c62a7c88b8)
2019-06-26 11:09:05 +02:00
Witold Kręcicki
0612da5d5d Make sure that recursclient gauge is calculated correctly.
We increase recursclients when we attach to recursion quota,
decrease when we detach. In some cases, when we hit soft
quota, we might attach to quota without increasing recursclients
gauge. We then decrease the gauge when we detach from quota,
and it causes the statistics to underflow.
Fix makes sure that we increase recursclients always when we
succesfully attach to recursion quota.

(cherry picked from commit 24cfee942f)
2019-06-26 11:08:44 +02:00
Michał Kępień
5324e332c5 Merge branch 'michal/wait-for-outgoing-transfer-statistics-to-be-logged-v9_14' into 'v9_14'
[v9_14] Wait for outgoing transfer statistics to be logged

See merge request isc-projects/bind9!2082
2019-06-25 16:15:22 -04:00
Michał Kępień
8c1c47b22b Wait for outgoing transfer statistics to be logged
Since the message confirming outgoing transfer completion is logged
asynchronously, it may happen that transfer statistics may not yet be
logged by the time the dig command triggering a given transfer returns.
This causes false positives for the "ixfr" and "xfer" system tests.
Prevent this from happening by checking outgoing transfer statistics up
to 10 times, in 1-second intervals.

(cherry picked from commit 9fc5e48b14)
2019-06-25 22:01:53 +02:00
Mark Andrews
32e5035ddb Merge branch 'marka-silence-unchecked-return-v9_14' into 'v9_14'
silence unchecked return

See merge request isc-projects/bind9!2078
2019-06-25 01:44:31 -04:00
Mark Andrews
e98921fd8d silence unchecked return
(cherry picked from commit 134248531c)
2019-06-25 15:32:12 +10:00
Mark Andrews
aff3391656 Merge branch '1098-compile-failure-on-9-11-8-v9_14' into 'v9_14'
Resolve "Compile failure on 9.11.8"

See merge request isc-projects/bind9!2076
2019-06-24 20:14:31 -04:00