Commit Graph

31863 Commits

Author SHA1 Message Date
Michał Kępień
03c874c292 Restore GitLab CI job building release tarballs
With "make dist" producing usable source tarballs and documentation
building working again, restore the script which allows a release
tarball to be built by a GitLab CI job, only making minimal adjustments
required due to the changes in the documentation building process and
due to dropping the "version" file.
2020-06-09 14:47:06 +02:00
Michał Kępień
4118805348 Make Sphinx output document naming consistent
Ensure the name of the EPUB file produced by Sphinx is consistent with
the name of its PDF counterpart by adjusting Sphinx configuration.
2020-06-09 14:47:06 +02:00
Michał Kępień
b36b7e8674 Fix respdiff job in GitLab CI
As the "configure" script is no longer stored in the Git repository, run
"autoreconf -fi" at the beginning of the respdiff job in GitLab CI in
order to enable that job to work properly.
2020-06-09 14:47:06 +02:00
Michał Kępień
03adbac3c6 Fix source tarball creation job in GitLab CI
For the time being, "make all" needs to be run before "make dist" can
succeed as parts of the documentation are generated by programs compiled
during the regular build process.

As only one source tarball is published for each BIND release, make sure
the tarball creation job in GitLab CI only contains one tarball in the
desired format among its artifacts.

Drop the TARBALL_COMPRESSOR .gitlab-ci.yml variable as it is no longer
used in the source tarball creation process.
2020-06-09 14:47:06 +02:00
Michał Kępień
ed212e9c63 Revise "srcid" file handling
The "srcid" file present in each BIND source tarball contains a
shortened hash of the Git commit corresponding to a given BIND release.
This allows a Git reference to be included in an archive that otherwise
lacks any Git information.

Before the move to Automake, if an "srcid" file was present in the root
source directory at the time ./configure was run, its contents were used
as the value of a compile-time constant which was then baked into BIND
binaries; otherwise, "git rev-parse" was used to determine the value of
that constant.

With Automake, a similar approach was attempted that required the
"srcid" file to be present at autoreconf time in order for it to be
used.  However, note that this means that even if that file is present
in a source tarball created using "make dist", its contents are not
going to influence the value of the aforementioned compile-time constant
because autoreconf hardcodes the output of "git rev-parse" into the
configure script at autoreconf time.

To make things more clear, always use "git rev-parse" for determining
the value of the PACKAGE_SRCID compile-time constant when running
autoreconf.  This causes "srcid" to be an empty string in source
tarballs built from other source tarballs, but that is not deemed to be
much of an issue as "make dist" is expected to be run from Git
repository clones.  Remove stderr redirections to /dev/null to ensure
errors caused e.g. by running "make dist" from outside a Git repository
clone are not hidden.  Trim the Git commit hash to 7 characters for
consistency between Unix and Windows systems.

Despite the above, ensure the "srcid" file is present in source tarballs
created using "make dist" as that file is used by the build process on
Windows.
2020-06-09 14:47:06 +02:00
Ondřej Surý
d959517290 Merge branch '1808-race-in-resolver-fetch-fix-restore-client' into 'master'
ensure fctx->clientstr is null-terminated

Closes #1808

See merge request isc-projects/bind9!3675
2020-06-06 05:02:12 +00:00
Evan Hunt
364b349ad2 ensure clientstr is null-terminated 2020-06-05 18:56:40 -07:00
Ondřej Surý
1540e42449 Merge branch '1842-correct-the-bind-arm-to-say-that-the-default-session-key-for-use-with-update-policy-local-is' into 'master'
Resolve "Correct the BIND ARM to say that the default session-key for use with 'update-policy local;' is generated at startup"

Closes #1842

See merge request isc-projects/bind9!3664
2020-06-05 14:35:05 +00:00
Suzanne Goldlust
79920cea70 Edit reference.rst to indicate that the TSIG
session key is automatically created on startup
2020-06-05 14:31:56 +00:00
Ondřej Surý
60e95f3c3f Merge branch '1808-race-in-resolver-fetch' into 'master'
Fix a data access race in resolver.

Closes #1912 and #1808

See merge request isc-projects/bind9!3575
2020-06-05 14:21:12 +00:00
Ondřej Surý
5a9f594629 Add release note for #1808 2020-06-05 16:06:42 +02:00
Witold Kręcicki
f0f859411f Add CHANGES entry for #1808 2020-06-05 16:06:42 +02:00
Witold Kręcicki
175c4d9055 Fix a data access race in resolver
We were passing client address to dns_resolver_createfetch as a pointer
and it was saved as a pointer. The client (with its address) could be
gone before the fetch is finished, and in a very odd scenario
log_formerr would call isc_sockaddr_format() which first checks if the
address family is valid (and at this point it still is), then the
sockaddr is cleared, and then isc_netaddr_fromsockaddr is called which
fails an assertion as the address family is now invalid.
2020-06-05 16:06:42 +02:00
Michał Kępień
d494543d6e Merge branch 'mnowak/1769-ensure-all-necessary-files-are-included-in-the-tarball-produced-by-make-dist' into 'master'
Fix 'make dist'

Closes #1769

See merge request isc-projects/bind9!3527
2020-06-05 11:48:55 +00:00
Michal Nowak
5bbc6dd7f1 Fix "make dist"
Make various adjustments necessary to enable "make dist" to build a BIND
source tarball whose contents are complete enough to build binaries, run
unit & system tests, and generate documentation on Unix systems.

Known outstanding issues:

  - "make distcheck" does not work yet.
  - Tests do not work for out-of-tree source-tarball-based builds.
  - Source tarballs are not complete enough for building on Windows.

All of the above will be addressed in due course.
2020-06-05 13:19:49 +02:00
Michal Nowak
eaebc26451 Get rid of "helper" *.c files
Merge lib/isc/unix/ifiter_getifaddrs.c into lib/isc/unix/interfaceiter.c
and lib/isc/xoshiro128starstar.c into lib/isc/random.c.  This avoids the
need for extra Automake directives required to process the "helper" *.c
files properly and makes the code more localized.
2020-06-05 13:19:49 +02:00
Michał Kępień
c3cfdb9670 Refactor lib/isc/fsaccess.c
Turn the static check_bad_bits() function used by both Unix and Windows
systems into a "private" function and extract the "private" parts of
lib/isc/fsaccess.c to lib/isc/fsaccess_common_p.h.  Instead of including
lib/isc/fsaccess.c from lib/isc/{unix,win32}/fsaccess.c, make the former
an independent C source file.

Rename lib/isc/fsaccess.c to lib/isc/fsaccess_common.c to prevent build
issues on Windows caused by multiple source files (lib/isc/fsaccess.c,
lib/isc/win32/fsaccess.c) being compiled into the same object file.

These changes improve consistency with the way "private" functions and
macros are treated elsewhere in the source tree.
2020-06-05 13:19:49 +02:00
Mark Andrews
dc6b26abad Merge branch 'marka-placeholder' into 'master'
placeholder

See merge request isc-projects/bind9!3668
2020-06-05 05:02:23 +00:00
Mark Andrews
a7c7f330d7 placeholder 2020-06-05 14:58:51 +10:00
Mark Andrews
210c1dc1cf Merge branch 'marka-placeholder' into 'master'
Add placeholder for [GL #1873]

See merge request isc-projects/bind9!3665
2020-06-05 00:39:36 +00:00
Mark Andrews
69863f3c82 Add placeholder for [GL #1873] 2020-06-05 00:36:47 +00:00
Mark Andrews
b4a1928c84 Merge branch '1835-add-yaml-for-ede' into 'master'
Resolve "Add the ability to parse and display Extended DNS Error code (EDE)."

Closes #1835

See merge request isc-projects/bind9!3531
2020-06-05 00:34:31 +00:00
Mark Andrews
9e72266705 Improve the behaviour of yamlget.py when run with python2 2020-06-05 10:01:08 +10:00
Mark Andrews
0ec77c2b92 Add +yaml support for EDE 2020-06-05 08:34:51 +10:00
Ondřej Surý
e85bb7b85d Merge branch '1683-check-the-question-section-when-transferring-zones' into 'master'
Resolve "Check the question section when transferring zones."

Closes #1683

See merge request isc-projects/bind9!3244
2020-06-04 14:14:36 +00:00
Mark Andrews
3c65ff7deb Add CHANGES entry and release note for #1683 2020-06-04 16:11:05 +02:00
Evan Hunt
be2972438c Add a test with an incorrect question in a continuation message 2020-06-04 16:10:41 +02:00
Mark Andrews
fd96a41868 Verify the question section when transfering in.
There was a case where an primary server sent a response
on the wrong TCP connection and failure to check the question
section resulted in a truncated zone being served.
2020-06-04 16:10:41 +02:00
Ondřej Surý
e2f362c55b Merge branch '1798-reject-master-zones-with-ds-records-at-the-apex' into 'master'
Resolve "Reject master zones with DS records at the apex."

Closes #1798

See merge request isc-projects/bind9!3435
2020-06-04 14:01:14 +00:00
Mark Andrews
8b05e6f710 Add release note for #1798 2020-06-04 16:00:33 +02:00
Mark Andrews
06e714df0d Add CHANGES entry for #1798 2020-06-04 16:00:33 +02:00
Mark Andrews
ae55fbbe9c Ignore attempts to add DS records at zone apex
DS records belong in the parent zone at a zone cut and
are not retrievable with modern recursive servers.
2020-06-04 16:00:33 +02:00
Mark Andrews
35a58d30c9 Reject primary zones with an DS record at the zone apex.
DS records only belong at delegation points and if present
at the zone apex are invariably the result of administrative
errors.  Additionally they can't be queried for with modern
resolvers as the parent servers will be queried.
2020-06-04 16:00:33 +02:00
Ondřej Surý
2d6f379935 Merge branch '1782-ipv6-docs' into 'master'
Documentation update wrt IPv6 listening.

Closes #1782

See merge request isc-projects/bind9!3642
2020-06-04 13:53:17 +00:00
Witold Kręcicki
d3ea1caf5a Add release notes for #1782 2020-06-04 15:50:40 +02:00
Witold Kręcicki
6a2100034b Documentation update wrt IPv6 listening.
With netmgr we're creating separate socket for each IPv6 interface,
just as with IPv4 - update documentation accordingly.
2020-06-04 15:50:29 +02:00
Ondřej Surý
7bf3636160 Merge branch 'marka-pass-path-in-env' into 'master'
Preserve PATH when calling make

See merge request isc-projects/bind9!3605
2020-06-04 13:45:41 +00:00
Mark Andrews
d9b29fcd9d Preserve PATH and LD_LIBRARY_PATH when calling make
When ./run.sh <test> is invoked, it acts as a wrapper around
`env - TESTS="<test>" make -e check` to preserve the ability to build
files defined only in the `check` target.  Unfortunately, cleaning the
full environment had a side-effect of some tests failing due to missing
binaries and libraries.  We now preserve the two most important
variables - PATH and LD_LIBRARY_PATH.
2020-06-04 15:20:08 +02:00
Michal Nowak
8a93a63356 Merge branch '1902-bind-build-problems-on-netbsd-9' into 'master'
Fix "array subscript is of type 'char'"

Closes #1902

See merge request isc-projects/bind9!3626
2020-06-04 12:33:55 +00:00
Michal Nowak
035bbc5f8f Fix "array subscript is of type 'char'" 2020-06-04 14:33:06 +02:00
Michał Kępień
b19fed3c05 Merge branch '1841-test-multiple-softhsm-versions-in-gitlab-ci' into 'master'
Test multiple SoftHSM versions in GitLab CI

Closes #1841

See merge request isc-projects/bind9!3533
2020-06-04 12:12:40 +00:00
Michał Kępień
c7169c4ab0 Embed SoftHSM version in CI job names
To indicate the SoftHSM version used in each CI job while avoiding the
need to add another token to job names, replace "pkcs11" with
"softhsm2.4" and "fedora31:amd64" with "softhsm2.6".
2020-06-04 14:11:46 +02:00
Michał Kępień
3ecb202ba3 Make Fedora CI jobs PKCS#11-enabled
Various SoftHSM versions differ in algorithm support.  Since Fedora
tends to have the latest SoftHSM version available in its stock package
repositories, enable PKCS#11 support in Fedora jobs to test multiple
SoftHSM versions in GitLab CI.
2020-06-04 14:11:46 +02:00
Michał Kępień
8aa864d042 Fix & unify Debian job comments in .gitlab-ci.yml 2020-06-04 14:11:46 +02:00
Ondřej Surý
db12531bb4 Merge branch '1877-reduce-default-for-max-stale-ttl-release-notes-update' into 'master'
Update release note for #1877

Closes #1877

See merge request isc-projects/bind9!3653
2020-06-04 12:07:51 +00:00
Ondřej Surý
bee9ed84f4 Update release note for #1877 2020-06-04 14:06:30 +02:00
Michal Nowak
8569cf4d25 Merge branch 'mnowak/sbindir' into 'master'
Revise installation locations for BIND binaries

Closes #1724

See merge request isc-projects/bind9!3592
2020-06-04 11:49:03 +00:00
Michal Nowak
172392a98a Add release note for #1724 2020-06-04 13:20:14 +02:00
Michal Nowak
f079cb2471 Add CHANGES for #1724 2020-06-04 13:19:23 +02:00
Michal Nowak
4419606c9d Revise installation locations for BIND binaries
Move BIND binaries which are neither daemons nor administrative programs
to $bindir.  This results in only the following binaries being left in
$sbindir:

  - ddns-confgen
  - named
  - rndc
  - rndc-confgen
  - tsig-confgen
2020-06-04 13:19:23 +02:00