2298 Commits
Author SHA1 Message Date
Mark Andrews d3281b80a9 Check rcode is FORMERR
(cherry picked from commit 88ff6b846c)
2020-08-04 23:08:49 +10:00
Diego FronzaandEvan Hunt 4bc9ee1844 Update copyrights 2020-07-27 13:40:50 -07:00
Michał Kępień 80f7459de0 Set up release notes for BIND 9.11.22 2020-07-15 23:33:51 +02:00
Ondřej Surý 279b2eaa7e Add CHANGES and release note for #1950
(cherry picked from commit 4ab9e79e6f)
2020-06-17 15:37:13 +02:00
Ondřej Surý 7e2d9531a7 Change the invalid CIDR from parser error to warning
In [RT #43367], the BIND 9 changed the strictness of address / prefix
length checks:

    Check prefixes in acls to make sure the address and
    prefix lengths are consistent.  Warn only in
    BIND 9.11 and earlier.

Unfortunately, a regression slipped in and the check was made an error
also in the BIND 9.11.  This commit fixes the regression, but turning
the error into a warning.
2020-06-03 22:17:02 +02:00
Michał KępieńandOndřej Surý 5190c42841 Add Danger Python to GitLab CI
Certain rules of the BIND development process are not codified anywhere
and/or are used inconsistently.  In an attempt to improve this
situation, add a GitLab CI job which uses Danger Python to add comments
to merge requests when certain expectations are not met.  Two categories
of feedback are used, only one of which - fail() - causes the GitLab CI
job to fail.  Exclude dangerfile.py from Python QA checks as the way the
contents of that file are evaluated triggers a lot of Flake8 and PyLint
warnings.

(cherry picked from commit 36bb45a8b6)
2020-06-01 13:49:05 +02:00
Stephen MorrisandMichał Kępień 5fb65f4544 Add test for reduction in number of fetches
Add a system test that counts how many address fetches are made
for different numbers of NS records and checks that the number
are successfully limited.
2020-05-19 14:24:53 +02:00
Mark AndrewsandMichał Kępień 67ba3f8f3a Check that a 'BADTIME' response with 'QR=0' is handled as a request 2020-05-19 14:24:52 +02:00
Michal Nowak db09c63003 Collect TXT and HTML reports produced by ABI checker
Although in util/api-checker.sh we create textual reports, we don't
preserve them in job artifacts, but we should.

We don't want to keep all HTML pages present in the project root, but
just those produced by ABI checker.

(cherry picked from commit b5ccf95b0a)
2020-05-15 11:32:57 +02:00
Mark Andrews fc4626c124 Add release note entry
(cherry picked from commit 88615006c5)
(cherry picked from commit 2e02c6f9a7)
2020-05-13 12:18:55 +10:00
Mark Andrews c0d34e8b05 Report Extended DNS Error codes
(cherry picked from commit b144ae1bb0)
(cherry picked from commit eed4fab37b)
2020-05-13 12:18:55 +10:00
Mark Andrews 3e8d3cc4c9 have CI call util/check-categories.sh
(cherry picked from commit 2270e28fde)
2020-05-11 11:02:15 +10:00
Evan Hunt 410ee752dd named-checkconf -z could exit with an incorrect staatus
the CHECK() macro resets result, so an error code from an earlier
view could be erased if the last view loaded had no errors.

(cherry picked from commit 7e73660206)
2020-05-01 17:47:44 -07:00
Mark Andrews bc7034bcc0 pylint cleanups
(cherry picked from commit d7618f6954)
2020-04-30 17:38:04 +10:00
Michal Nowak 85ba41d82e Ensure proper comparison order in "abi-check" jobs
Right before the release API version (LIBINTERFACE, LIBREVISION, LIBAGE)
for older and newer libraries tends to be the same. Given that, commit
hash can't be the determining factor here, Unix time of the commit
should suit us better and is placed after the API version. The commit
hash is preserved as it's useful to see it in the actual report.

(cherry picked from commit 313518dd3d)
2020-04-23 09:47:22 +02:00
Ondřej Surý 2d3ac34b81 Make merge_copyrights ignore hidden files
(cherry picked from commit 6d46082d82)
2020-04-23 08:03:01 +02:00
Mark Andrews 3a79f3629c Check that bad message id's are caught by named
(cherry picked from commit 06e53c9e14)
2020-04-21 09:37:47 +10:00
Mark AndrewsandMichał Kępień 69c78f16ad Create empty release notes for 9.11.19 2020-04-17 08:32:08 +02:00
Ondřej SurýandOndřej Surý 9301d69ebc Make the python code pylint and flake8 compliant
(cherry picked from commit 1e4ff9d485)
2020-04-15 07:46:35 +02:00
Ondřej SurýandOndřej Surý 120e6202c6 Add pylint and flake8 tests to GitLab CI
Our python code didn't adhere to any coding standard.  In this commit, we add
flame8 (https://pypi.org/project/flake8/), and pylint (https://www.pylint.org/).

There's couple of exceptions:

- ans.py scripts are not checked, nor fixed as part of this MR
- pylint's missing-*-docstring and duplicate-code checks have
  been disabled via .pylintrc

Both exceptions should be removed in due time.

(cherry picked from commit ee534592e3)
2020-04-15 07:44:39 +02:00
Diego FronzaandOndřej Surý eace12fb70 Add test for the proposed fix
This test asserts that option "deny-answer-aliases" works correctly
when forwarding requests.

As a matter of example, the behavior expected for a forwarder BIND
instance, having an option such as deny-answer-aliases { "domain"; }
is that when forwarding a request for *.anything-but-domain, it is
expected that it will return SERVFAIL if any answer received has a CNAME
for "*.domain".
2020-04-08 09:21:03 +02:00
Mark Andrews d8ba069201 add empty release notes for 9.11.18
(cherry picked from commit 503e2dff64)
2020-03-31 17:16:13 +11:00
Ondřej Surý 8077ce039e Import parse_tsan.py file to v9_11 branch 2020-03-26 13:52:28 +01:00
Mark Andrews 0cf8585b81 Check that dig/host/nslookup handle a UPDATE response.
Additionally check that "delete $qname SOA" in the update
reponse doesn't trigger a insertion in nslookup.

(cherry picked from commit 6593cf0b5a)
2020-03-13 12:17:21 +11:00
Michal Nowak 14cf92debe Add API Checker
ABI checker tools generate HTML and TXT API compatibility reports of
BIND libraries. Comparison is being done between two bind source trees
which hold built BIND.

In the CI one version is the reference version defined by
BIND_BASELINE_VERSION variable, the latter one is the HEAD of branch
under test.

(cherry picked from commit 49bc08e612)
2020-03-10 09:59:22 +01:00
Mark Andrews c8025d8fed test installed header files
(cherry picked from commit a278b6bd84)
2020-03-06 13:23:48 +11:00
Michal Nowak 5cb50baf50 Fix "pkcs11" system test
- Define the SLOT environment variable before starting the test.  This
    variable defaults to 0 and that does not work with SoftHSM 2.

  - The system test expects the PIN environment variable to be set to
    "1234" while bin/tests/prepare-softhsm2.sh sets it to "0000".
    Update bin/tests/prepare-softhsm2.sh so that it sets the PIN to
    "1234".

  - Move contents of bin/tests/system/pkcs11/prereq.sh to
    bin/tests/system/pkcs11/setup.sh as the former was creating a file
    called "supported" that was getting removed by the latter before
    bin/tests/system/pkcs11/tests.sh could access it.

  - Fix typo in "have_ecx".

(cherry picked from commit 100a230e80f01a777b917b135b4bae9a4ac0e8ae)
2020-03-05 07:57:12 +01:00
Mark Andrews e7a486be25 Check inline master zones that are touched reload correctly.
(cherry picked from commit 50e079d6c3)
2020-03-04 09:20:40 +11:00
Ondřej Surý 2def018af7 Add release notes for pkg-config requirement for libxml2 2020-03-02 15:07:18 +01:00
Ondřej SurýandOndřej Surý 4b9cdbaf7e Replace the OASIS PKCS#11 header file with one from p11-kit
The OASIS pkcs11.h header has a restrictive license.  Replace the
pkcs11.h pkcs11f.h and pkcs11t.h headers with pkcs11.h from p11-kit.

For source distribution, the license for the OASIS headers itself
doesn't pose any licensing problem when combined with MPL license, but
it possibly creates problem for downstream distributors of BIND 9.

(cherry picked from commit c47fad2431)
2020-03-02 10:43:45 +01:00
Evan Hunt e63223332c fix spelling errors reported by Fossies. 2020-02-21 14:09:59 -08:00
Michał Kępień f9c164b08b Add release notes section for BIND 9.11.16 2020-02-12 13:58:01 +01:00
Ondřej Surý b54eeb1231 Suppress unknownMacro directive which is currently broken with OpenSSL
(cherry picked from commit 2868eafc46)
2020-02-08 06:32:42 -08:00
Evan Hunt edee4f93c5 Correctly handle catalog zone entries containing slashes
- Add quotes before and after zone name when generating "addzone"
  input so avoid "unexpected token" errors.
- Use a hex digest for zone filenames when the zone or view name
  contains a slash.
- Test with a domain name containing a slash.
- Incidentally added 'catzhash.py' to contrib/scripts to generate
  hash labels for catalog zones, as it was needed to write the test.

(cherry picked from commit dba0163dac)
2020-02-03 19:23:37 -08:00
Michał KępieńandMatthijs Mekking a8587a0899 Add release notes section for BIND 9.11.15 2020-01-16 12:28:06 +01:00
Ondřej SurýandMichał Kępień 546f65ffdb Dump the backtrace to stdout when core is found in systest directory
(cherry picked from commit 512dadc8d1)
2020-01-07 14:59:37 +01:00
Michal Nowak 5b093e717c Gather debug info on broken unit tests
(cherry picked from commit 279933338b4a50c947adab900f3c49b5a39d67e2)
2020-01-06 12:06:18 +00:00
Evan Hunt 50ce299518 update copyright year to 2020 2020-01-02 21:50:03 -08:00
Michał KępieńandEvan Hunt 405a8aa648 Add empty release notes section for BIND 9.11.14 2019-12-11 22:10:07 +00:00
Michał Kępień ac1267c36a Include prepare-softhsm2.sh in source tarballs
The util/prepare-softhsm2.sh script is useful for initializing a working
SoftHSM environment which can be used by unit tests and system tests.
However, since it is a test-specific script, it does not really belong
in the util/ subdirectory which is mostly pruned during the BIND source
tarball creation process.  Move the prepare-softhsm2.sh script to
bin/tests/ so that its location is more appropriate for its purpose and
also so that it does not get removed during the BIND source tarball
creation process, allowing it to be used for setting up test
environments for tarball-based builds.

(cherry picked from commit c0be772ebc)
2019-12-11 15:13:00 +01:00
Michał Kępień 26213ff696 Automatically run clean.sh from run.sh
The first step in all existing setup.sh scripts is to call clean.sh.  To
reduce code duplication and ensure all system tests added in the future
behave consistently with existing ones, invoke clean.sh from run.sh
before calling setup.sh.

(cherry picked from commit d8905b7a9c)
2019-12-06 15:06:49 +01:00
Michał Kępień ef3a08226c Remove bin/tests/system/clean.sh
Since the role of the bin/tests/system/clean.sh script has now been
reduced to calling a given system test's clean.sh script, remove the
former altogether and replace its only use with a direct invocation of
the latter.

(cherry picked from commit bf3eeac067)
2019-12-06 15:06:49 +01:00
Michal NowakandOndřej Surý 412edf8982 Verifying that named switches UID
This test runs only under root, which is required for the user-switch
`-u` option to work.

Closes #537.

(cherry picked from commit b00360537e)
2019-11-27 11:52:08 +00:00
Matthijs Mekking 26252892b3 Update copyrights 2019-11-06 16:30:50 +01:00
Diego FronzaandOndřej Surý 270af739a7 Added TCP high-water system tests
Note: ans6/ans6.py is a helper script that allows tests.sh to open/close
TCP connections to some BIND instance.

(cherry picked from commit 29be224a04)
2019-11-06 12:54:40 +01:00
Michał Kępień c9530390dd Split release notes into per-version sections
Intertwining release notes from different BIND releases in a single XML
file has caused confusion in the past due to different (and often
arbitrary) approaches to keeping/removing release notes from older
releases on different BIND branches.  Divide doc/arm/notes.xml into
per-version sections to simplify determining the set of changes
introduced by a given release and to make adding/reviewing release notes
less error-prone.
2019-11-06 11:23:42 +01:00
Michał Kępień baee930ba5 Fix copyrights 2019-10-31 09:47:26 +01:00
Mark Andrews e44f917e5e add more dnstap/dnstap-output combinations
(cherry picked from commit f3d53630c3)
2019-10-22 10:28:16 +11:00
Mark Andrews 42f998ee14 Detect partial prefixes / incomplete IPv4 address in acls.
(cherry picked from commit fb87e669fb)
2019-10-14 22:12:16 +11:00
Ondřej Surý 8e02b7fbfc Use util/suppressions.txt for Cppcheck suppressions list 2019-10-03 14:42:30 +02:00