]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
6 years agoupdated Bv9ARM.xml ch five Update-ARM-RT-16201
peterd [Thu, 23 Apr 2020 10:38:34 +0000 (10:38 +0000)] 
updated Bv9ARM.xml ch five

6 years agoupdated Bv9ARM.xml ch five
peterd [Thu, 23 Apr 2020 10:18:15 +0000 (10:18 +0000)] 
updated Bv9ARM.xml ch five

6 years agoupdated Arm ch05
peterd [Thu, 23 Apr 2020 09:33:05 +0000 (09:33 +0000)] 
updated Arm ch05

6 years agoMerge branch 'mnowak/1751-abi-check-does-not-know-which-source-is-older-newer' into...
Michal Nowak [Thu, 23 Apr 2020 06:52:05 +0000 (06:52 +0000)] 
Merge branch 'mnowak/1751-abi-check-does-not-know-which-source-is-older-newer' into 'master'

abi-check does not know which source is older, newer

Closes #1751

See merge request isc-projects/bind9!3374

6 years agoEnsure proper comparison order in "abi-check" jobs
Michal Nowak [Wed, 15 Apr 2020 09:06:22 +0000 (11:06 +0200)] 
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.

'-nosymtbl' versions of libraries are not produced in Automake builds.

6 years agoMerge branch 'ondrej/make-merge_copyrights-ignore-hidden-files' into 'master'
Ondřej Surý [Thu, 23 Apr 2020 05:58:36 +0000 (05:58 +0000)] 
Merge branch 'ondrej/make-merge_copyrights-ignore-hidden-files' into 'master'

Make merge_copyrights ignore hidden files

See merge request isc-projects/bind9!3417

6 years agoMake merge_copyrights ignore hidden files
Ondřej Surý [Thu, 23 Apr 2020 05:57:29 +0000 (07:57 +0200)] 
Make merge_copyrights ignore hidden files

6 years agoMerge branch 'ondrej/update-lgtm.com-configuration' into 'master'
Ondřej Surý [Wed, 22 Apr 2020 14:57:40 +0000 (14:57 +0000)] 
Merge branch 'ondrej/update-lgtm.com-configuration' into 'master'

Add configuration for LGTM.com static code analyzer

See merge request isc-projects/bind9!3415

6 years agoAdd configuration for LGTM.com static code analyzer
Ondřej Surý [Wed, 22 Apr 2020 13:56:17 +0000 (15:56 +0200)] 
Add configuration for LGTM.com static code analyzer

6 years agoMerge branch '1779-lock-rpzs' into 'master'
Evan Hunt [Tue, 21 Apr 2020 23:59:37 +0000 (23:59 +0000)] 
Merge branch '1779-lock-rpzs' into 'master'

acquire maintenance lock when running incremental RPZ updates

Closes #1779

See merge request isc-projects/bind9!3411

6 years agoCHANGES
Evan Hunt [Tue, 21 Apr 2020 23:59:02 +0000 (16:59 -0700)] 
CHANGES

6 years agoacquire maintenance lock when running incremental RPZ updates
Evan Hunt [Tue, 21 Apr 2020 17:42:23 +0000 (10:42 -0700)] 
acquire maintenance lock when running incremental RPZ updates

this addresses a race that could occur during shutdown or when
reconfiguring to remove RPZ zones.

this change should ensure that the rpzs structure and the incremental
updates don't interfere with each other: rpzs->zones entries cannot
be set to NULL while an update quantum is running, and the
task should be destroyed and its queue purged so that no subsequent
quanta will run.

6 years agoMerge branch '4-add-changes-and-release-notes' into 'master'
Ondřej Surý [Tue, 21 Apr 2020 13:38:21 +0000 (13:38 +0000)] 
Merge branch '4-add-changes-and-release-notes' into 'master'

Add CHANGES and Release Notes for "Convert to modern autotools (autoconf + automake + libtool)"

See merge request isc-projects/bind9!3410

6 years agoAdd release notes for #4
Ondřej Surý [Tue, 21 Apr 2020 13:36:47 +0000 (15:36 +0200)] 
Add release notes for #4

6 years agoAdd CHANGES for GL #4
Ondřej Surý [Tue, 21 Apr 2020 13:25:41 +0000 (15:25 +0200)] 
Add CHANGES for GL #4

6 years agoMerge branch '4-convert-to-modern-autotools-autoconf-automake-libtool' into 'master'
Ondřej Surý [Tue, 21 Apr 2020 13:06:22 +0000 (13:06 +0000)] 
Merge branch '4-convert-to-modern-autotools-autoconf-automake-libtool' into 'master'

Convert to modern autotools (autoconf + automake + libtool)

Closes #4

See merge request isc-projects/bind9!985

6 years agoComplete rewrite the BIND 9 build system
Ondřej Surý [Tue, 7 Aug 2018 14:46:53 +0000 (16:46 +0200)] 
Complete rewrite the BIND 9 build system

The rewrite of BIND 9 build system is a large work and cannot be reasonable
split into separate merge requests.  Addition of the automake has a positive
effect on the readability and maintainability of the build system as it is more
declarative, it allows conditional and we are able to drop all of the custom
make code that BIND 9 developed over the years to overcome the deficiencies of
autoconf + custom Makefile.in files.

This squashed commit contains following changes:

- conversion (or rather fresh rewrite) of all Makefile.in files to Makefile.am
  by using automake

- the libtool is now properly integrated with automake (the way we used it
  was rather hackish as the only official way how to use libtool is via
  automake

- the dynamic module loading was rewritten from a custom patchwork to libtool's
  libltdl (which includes the patchwork to support module loading on different
  systems internally)

- conversion of the unit test executor from kyua to automake parallel driver

- conversion of the system test executor from custom make/shell to automake
  parallel driver

- The GSSAPI has been refactored, the custom SPNEGO on the basis that
  all major KRB5/GSSAPI (mit-krb5, heimdal and Windows) implementations
  support SPNEGO mechanism.

- The various defunct tests from bin/tests have been removed:
  bin/tests/optional and bin/tests/pkcs11

- The text files generated from the MD files have been removed, the
  MarkDown has been designed to be readable by both humans and computers

- The xsl header is now generated by a simple sed command instead of
  perl helper

- The <irs/platform.h> header has been removed

- cleanups of configure.ac script to make it more simpler, addition of multiple
  macros (there's still work to be done though)

- the tarball can now be prepared with `make dist`

- the system tests are partially able to run in oot build

Here's a list of unfinished work that needs to be completed in subsequent merge
requests:

- `make distcheck` doesn't yet work (because of system tests oot run is not yet
  finished)

- documentation is not yet built, there's a different merge request with docbook
  to sphinx-build rst conversion that needs to be rebased and adapted on top of
  the automake

- msvc build is non functional yet and we need to decide whether we will just
  cross-compile bind9 using mingw-w64 or fix the msvc build

- contributed dlz modules are not included neither in the autoconf nor automake

6 years agoRemove files generated by autotools
Ondřej Surý [Tue, 23 Oct 2018 08:28:47 +0000 (10:28 +0200)] 
Remove files generated by autotools

6 years agoRemove python based tools (dnssec-keymgr, dnssec-coverage, dnssec-checkds)
Ondřej Surý [Wed, 12 Feb 2020 11:14:00 +0000 (12:14 +0100)] 
Remove python based tools (dnssec-keymgr, dnssec-coverage, dnssec-checkds)

With the introduction of dnssec-policy, the aforementioned tools were
either rendered obsolete, or they will be replaced with dnssec-policy
based tools.  Remove the tools and the requirement to have Python
installed.  Python 3 is still being used for tests, so keep the autoconf
test, but make it much simpler.

6 years agoMerge branch 'ondrej/enable-quota-test-in-Kyuatest' into 'master'
Ondřej Surý [Tue, 21 Apr 2020 12:18:07 +0000 (12:18 +0000)] 
Merge branch 'ondrej/enable-quota-test-in-Kyuatest' into 'master'

Enable quota_test in Kyuafile

See merge request isc-projects/bind9!3408

6 years agoFix detaching the extra quotas in the quota_test
Witold Kręcicki [Tue, 21 Apr 2020 11:33:42 +0000 (13:33 +0200)] 
Fix detaching the extra quotas in the quota_test

6 years agoEnable quota_test in Kyuafile
Ondřej Surý [Tue, 21 Apr 2020 10:30:11 +0000 (12:30 +0200)] 
Enable quota_test in Kyuafile

6 years agoMerge branch 'marka-placeholer' into 'master'
Mark Andrews [Mon, 20 Apr 2020 23:59:50 +0000 (23:59 +0000)] 
Merge branch 'marka-placeholer' into 'master'

Marka placeholer

See merge request isc-projects/bind9!3407

6 years agoplaceholder
Mark Andrews [Mon, 20 Apr 2020 23:57:42 +0000 (09:57 +1000)] 
placeholder

6 years agoMerge branch '1763-pkcs11-code-cleanups' into 'master'
Ondřej Surý [Mon, 20 Apr 2020 09:55:51 +0000 (09:55 +0000)] 
Merge branch '1763-pkcs11-code-cleanups' into 'master'

Update to PKCS#11 v3.0 EdDSA macros and cleanup the PKCS#11 code

See merge request isc-projects/bind9!3391

6 years agoAdd CHANGES
Ondřej Surý [Mon, 20 Apr 2020 09:48:45 +0000 (11:48 +0200)] 
Add CHANGES

6 years agoUse switch instead of if when evaluating curves
Ondřej Surý [Mon, 20 Apr 2020 08:30:54 +0000 (10:30 +0200)] 
Use switch instead of if when evaluating curves

Previously, the code would do:

    REQUIRE(alg == CURVE1 || alg == CURVE2);

    [...]

    if (alg == CURVE1) { /* code for CURVE1 */ }
    else { /* code for CURVE2 */ }

This approach is less extensible and also more prone to errors in case
the initial REQUIRE() is forgotten.  The code has been refactored to
use:

    REQUIRE(alg == CURVE1 || alg == CURVE2);

    [...]

    switch (alg) {
    case CURVE1: /* code for CURVE1 */; break;
    case CURVE2: /* code for CURVE2 */; break;
    default: INSIST(0);
    }

6 years agoRefactor the code using the pk11 ECC constants.
Ondřej Surý [Mon, 20 Apr 2020 08:31:15 +0000 (10:31 +0200)] 
Refactor the code using the pk11 ECC constants.

The pk11/constants.h header contained static CK_BYTE arrays and
we had to use #defines to pull only those we need.  This commit
changes the constants to only define byte arrays with the content
and either use them directly or define the CK_BYTE arrays locally
where used.

6 years agoOnly print warning when PKCS#11 dnssec-keygen fails from Edwards curves
Ondřej Surý [Fri, 17 Apr 2020 08:58:46 +0000 (10:58 +0200)] 
Only print warning when PKCS#11 dnssec-keygen fails from Edwards curves

6 years agoFix a segfault when a PKCS#11 token is not found.
Aaron Thompson [Fri, 3 Apr 2020 05:42:26 +0000 (05:42 +0000)] 
Fix a segfault when a PKCS#11 token is not found.

6 years agoFix bad syntax in pkcs11eddsa_link.c.
Aaron Thompson [Sun, 29 Mar 2020 22:08:13 +0000 (22:08 +0000)] 
Fix bad syntax in pkcs11eddsa_link.c.

Introduced in 994e656977b88516d76519c437b623ddb32b0769.

6 years agoUpdate to PKCS#11 v3.0 EdDSA macros.
Aaron Thompson [Sun, 29 Mar 2020 21:41:00 +0000 (21:41 +0000)] 
Update to PKCS#11 v3.0 EdDSA macros.

6 years agoFix compiler warnings about unused pk11 constants.
Aaron Thompson [Tue, 31 Mar 2020 08:00:30 +0000 (08:00 +0000)] 
Fix compiler warnings about unused pk11 constants.

6 years agoRemove remaining PKCS#11 DH references.
Aaron Thompson [Sat, 28 Mar 2020 21:14:46 +0000 (21:14 +0000)] 
Remove remaining PKCS#11 DH references.

Missed in 0a73c9f13799aec6bfe14beec908d81240e3326f and 8efd394c80449dc7a7e6cbe171d8f42ff957ebf3.

6 years agoRemove unnecessary forward declarations.
Aaron Thompson [Tue, 31 Mar 2020 02:26:21 +0000 (02:26 +0000)] 
Remove unnecessary forward declarations.

6 years agoFinish refactoring pkcs11eddsa_link.c after isc_buffer_allocate change.
Aaron Thompson [Mon, 30 Mar 2020 00:36:27 +0000 (00:36 +0000)] 
Finish refactoring pkcs11eddsa_link.c after isc_buffer_allocate change.

Left over after c73e5866c479c71b2fb61e882c249cc2c3de3af0.

6 years agoRemove unreachable label in pkcs11eddsa_link.c.
Aaron Thompson [Mon, 30 Mar 2020 00:20:21 +0000 (00:20 +0000)] 
Remove unreachable label in pkcs11eddsa_link.c.

Missed in ae83801e2b8e87260dea59a445f3c41bb5eb9944.

6 years agoFinish refactoring after the removal of --with-ecdsa and --with-eddsa.
Aaron Thompson [Sun, 29 Mar 2020 05:50:25 +0000 (05:50 +0000)] 
Finish refactoring after the removal of --with-ecdsa and --with-eddsa.

Missed in c3b8130fe8267185e786e9c12527df7c53b37589.

6 years agoRemove old comment.
Aaron Thompson [Mon, 30 Mar 2020 01:30:55 +0000 (01:30 +0000)] 
Remove old comment.

Missed in 6aae193ded53d7ea7b2686aca1d33b264103be5c.

6 years agoFinish replacing OP_EC with OP_ECDSA/OP_EDDSA.
Aaron Thompson [Sun, 29 Mar 2020 21:47:09 +0000 (21:47 +0000)] 
Finish replacing OP_EC with OP_ECDSA/OP_EDDSA.

Missed in c3b8130fe8267185e786e9c12527df7c53b37589.

6 years agoFix incorrect PKCS11 macro in dnssec-revoke.
Aaron Thompson [Sat, 28 Mar 2020 18:51:20 +0000 (18:51 +0000)] 
Fix incorrect PKCS11 macro in dnssec-revoke.

Missed in c3b8130fe8267185e786e9c12527df7c53b37589.

6 years agoMerge branch '1768-move-dns_peer_t-into-peer-c' into 'master'
Mark Andrews [Mon, 20 Apr 2020 09:39:36 +0000 (09:39 +0000)] 
Merge branch '1768-move-dns_peer_t-into-peer-c' into 'master'

Resolve "move dns_peer_t into peer.c"

Closes #1768

See merge request isc-projects/bind9!3400

6 years agoMove structure declarations from dns/peer.h into peer.c
Mark Andrews [Thu, 19 Mar 2020 22:53:32 +0000 (09:53 +1100)] 
Move structure declarations from dns/peer.h into peer.c

6 years agoMerge branch '1674-reject-axfr-streams-with-bad-id' into 'master'
Mark Andrews [Mon, 20 Apr 2020 08:58:27 +0000 (08:58 +0000)] 
Merge branch '1674-reject-axfr-streams-with-bad-id' into 'master'

Reject AXFR streams with bad message id

Closes #1674

See merge request isc-projects/bind9!3382

6 years agoCheck that bad message id's are caught by named
Mark Andrews [Thu, 19 Mar 2020 01:26:37 +0000 (12:26 +1100)] 
Check that bad message id's are caught by named

6 years agoConvert to using retry_quiet and nextpart
Mark Andrews [Thu, 26 Mar 2020 02:32:14 +0000 (13:32 +1100)] 
Convert to using retry_quiet and nextpart

6 years agoReject AXFR streams where the message id is not consistent.
Mark Andrews [Thu, 16 Apr 2020 06:59:33 +0000 (16:59 +1000)] 
Reject AXFR streams where the message id is not consistent.

6 years agoMerge branch '1737-coverity-dst_key_gettime' into 'master'
Matthijs Mekking [Mon, 20 Apr 2020 07:42:27 +0000 (07:42 +0000)] 
Merge branch '1737-coverity-dst_key_gettime' into 'master'

Address Coverity warnings in keymgr.c

Closes #1737

See merge request isc-projects/bind9!3335

6 years agoAddress Coverity warnings in keymgr.c
Matthijs Mekking [Mon, 6 Apr 2020 07:59:18 +0000 (09:59 +0200)] 
Address Coverity warnings in keymgr.c

Coverity showed that the return value of `dst_key_gettime` was
unchecked in INITIALIZE_STATE. If DST_TIME_CREATED was not set we
would set the state to be initialized to a weird last changed time.

This would normally not happen because DST_TIME_CREATED is always
set. However, we would rather set the time to now (as the comment
also indicates) not match the creation time.

The comment on INITIALIZE_STATE also needs updating as we no
longer always initialize to HIDDEN.

6 years agoMerge branch '1753-make-isc-rwlock-implementation-the-default-again' into 'master'
Michał Kępień [Fri, 17 Apr 2020 06:39:06 +0000 (06:39 +0000)] 
Merge branch '1753-make-isc-rwlock-implementation-the-default-again' into 'master'

Make ISC rwlock implementation the default again

Closes #1753

See merge request isc-projects/bind9!3375

6 years agoAdd CHANGES entry
Michał Kępień [Fri, 17 Apr 2020 06:36:24 +0000 (08:36 +0200)] 
Add CHANGES entry

5385. [func] Make ISC rwlock implementation the default again.
[GL #1753]

6 years agoAdd a release note
Michał Kępień [Fri, 17 Apr 2020 06:36:24 +0000 (08:36 +0200)] 
Add a release note

6 years agoMake ISC rwlock implementation the default again
Michał Kępień [Fri, 17 Apr 2020 06:36:24 +0000 (08:36 +0200)] 
Make ISC rwlock implementation the default again

Revert the change from ad03c22e976411cad743bc02746b803a2f119df7 as
further testing has shown that with hyper-threading disabled, named with
ISC rwlocks outperforms named with pthread rwlocks in cold cache testing
scenarios.  Since building named with pthread rwlocks might still be a
better choice for some workloads, keep the compile-time option which
enables that.

6 years agoMerge branch '1765-create-empty-release-notes-for-for-9-17-2-9-16-9-11' into 'master'
Michał Kępień [Fri, 17 Apr 2020 06:30:36 +0000 (06:30 +0000)] 
Merge branch '1765-create-empty-release-notes-for-for-9-17-2-9-16-9-11' into 'master'

create empty release notes for 9.17.2

Closes #1765

See merge request isc-projects/bind9!3395

6 years agoAdd empty relase notes for 9.17.2
Michał Kępień [Thu, 16 Apr 2020 21:37:52 +0000 (23:37 +0200)] 
Add empty relase notes for 9.17.2

6 years agoMerge branch 'mnowak/abi-tracker-helper-v9_17_1' into 'master'
Michał Kępień [Thu, 16 Apr 2020 21:21:51 +0000 (21:21 +0000)] 
Merge branch 'mnowak/abi-tracker-helper-v9_17_1' into 'master'

abi-check: Update BIND_BASELINE_VERSION to v9_17_1

See merge request isc-projects/bind9!3384

6 years agoabi-check: Update BIND_BASELINE_VERSION to v9_17_1
Michal Nowak [Thu, 16 Apr 2020 07:56:22 +0000 (09:56 +0200)] 
abi-check: Update BIND_BASELINE_VERSION to v9_17_1

6 years agoMerge branch 'v9_17_1-release' into 'master'
Michał Kępień [Thu, 16 Apr 2020 21:05:31 +0000 (21:05 +0000)] 
Merge branch 'v9_17_1-release' into 'master'

Merge 9.17.1 release branch

See merge request isc-projects/bind9!3392

6 years agoregen master
Tinderbox User [Thu, 9 Apr 2020 11:22:03 +0000 (11:22 +0000)] 
regen master

6 years agoprep 9.17.1
Tinderbox User [Thu, 9 Apr 2020 11:14:01 +0000 (11:14 +0000)] 
prep 9.17.1

6 years agoMerge branch '1763-improve-isc_buffer-API-documentation' into 'master'
Ondřej Surý [Thu, 16 Apr 2020 13:57:54 +0000 (13:57 +0000)] 
Merge branch '1763-improve-isc_buffer-API-documentation' into 'master'

Fix/improve some comments in buffer.h.

Closes #1763

See merge request isc-projects/bind9!3388

6 years agoFix/improve some comments in buffer.h.
Aaron Thompson [Sat, 28 Mar 2020 20:41:48 +0000 (20:41 +0000)] 
Fix/improve some comments in buffer.h.

isc_buffer_dup now cannot fail as a result of c73e5866c479c71b2fb61e882c249cc2c3de3af0.

6 years agoMerge branch '1709-dnssec-policy-inlinesigning' into 'master'
Matthijs Mekking [Thu, 16 Apr 2020 13:01:35 +0000 (13:01 +0000)] 
Merge branch '1709-dnssec-policy-inlinesigning' into 'master'

Resolve "dnssec-policy implicitly enables inline-signing"

Closes #1709

See merge request isc-projects/bind9!3362

6 years agoUpdate changes
Matthijs Mekking [Thu, 16 Apr 2020 12:24:25 +0000 (14:24 +0200)] 
Update changes

6 years agoAdd kasp tests dyn update zone
Matthijs Mekking [Thu, 9 Apr 2020 06:46:37 +0000 (08:46 +0200)] 
Add kasp tests dyn update zone

Add two tests that checks that dynamic zones
can be updated and will be signed appropriately.
One zone covers an update with freeze/thaw, the
other covers an update through nsupdate.

6 years agodnssec-policy: to sign inline or not
Matthijs Mekking [Wed, 8 Apr 2020 11:08:20 +0000 (13:08 +0200)] 
dnssec-policy: to sign inline or not

When dnssec-policy was introduced, it implicitly set inline-signing.
But DNSSEC maintenance required either inline-signing to be enabled,
or a dynamic zone.  In other words, not in all cases you want to
DNSSEC maintain your zone with inline-signing.

Change the behavior and determine whether inline-signing is
required: if the zone is dynamic, don't use inline-signing,
otherwise implicitly set it.

You can also explicitly set inline-signing to yes with dnssec-policy,
the restriction that both inline-signing and dnssec-policy cannot
be set at the same time is now lifted.

However, 'inline-signing no;' on a non-dynamic zone with a
dnssec-policy is not possible.

6 years agoMerge branch 'matthijs-fix-digdelv-yamlget' into 'master'
Matthijs Mekking [Thu, 16 Apr 2020 12:16:40 +0000 (12:16 +0000)] 
Merge branch 'matthijs-fix-digdelv-yamlget' into 'master'

Fix digdelv test

See merge request isc-projects/bind9!3383

6 years agoFix digdelv test
Matthijs Mekking [Thu, 16 Apr 2020 06:56:02 +0000 (08:56 +0200)] 
Fix digdelv test

The yamlget.py file was changed in !3311 as part of making the
python code pylint and flake8 compliant.  This omitted setting
'item' to 'item[key]' which caused the digdelv yaml tests to fail.

Also, the pretty printing is not really necessary, so remove
the "if key not in item; print error" logic.

6 years agoMerge branch 'matthijs-dnssec-keys-trust-anchors-leftovers' into 'master'
Matthijs Mekking [Thu, 16 Apr 2020 08:49:46 +0000 (08:49 +0000)] 
Merge branch 'matthijs-dnssec-keys-trust-anchors-leftovers' into 'master'

Replace dnssec-keys leftovers with trust-anchors

See merge request isc-projects/bind9!3363

6 years agoReplace leftover DNSSEC-KEYS with TRUST-ANCHORS
Matthijs Mekking [Tue, 14 Apr 2020 07:03:33 +0000 (09:03 +0200)] 
Replace leftover DNSSEC-KEYS with TRUST-ANCHORS

Change 5332 renamed "dnssec-keys" configuration statement to the
more descriptive "trust-anchors".  Not all occurrences in the
documentation had been updated.

6 years agoMerge branch '1755-tune-the-windows-build-so-we-can-use-wx-equivalent-of-werror'...
Ondřej Surý [Thu, 16 Apr 2020 05:54:34 +0000 (05:54 +0000)] 
Merge branch '1755-tune-the-windows-build-so-we-can-use-wx-equivalent-of-werror' into 'master'

Resolve "Tune the Windows build, so we can use /WX (equivalent of -Werror)"

Closes #1755

See merge request isc-projects/bind9!3369

6 years agoDon't escape spaces in CONFIGARGS, use double backslash with all whitespace
Ondřej Surý [Wed, 15 Apr 2020 12:44:42 +0000 (14:44 +0200)] 
Don't escape spaces in CONFIGARGS, use double backslash with all whitespace

6 years agoAlign the irs_getnameinfo() declaration and definition on Windows
Ondřej Surý [Wed, 15 Apr 2020 11:50:39 +0000 (13:50 +0200)] 
Align the irs_getnameinfo() declaration and definition on Windows

6 years agoDisable MSB8028 warning
Ondřej Surý [Wed, 15 Apr 2020 10:55:21 +0000 (12:55 +0200)] 
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.

6 years agoFix the discrepancy between cfg_pluginlist_foreach declaration and definition
Ondřej Surý [Wed, 15 Apr 2020 10:50:28 +0000 (12:50 +0200)] 
Fix the discrepancy between cfg_pluginlist_foreach declaration and definition

There was a missing indirection for the pluginlist_cb_t *callback in the
declaration of the cfg_pluginlist_foreach function.  Reported by MSVC as:

  lib\isccfg\parser.c(4057): warning C4028: formal parameter 4 different from declaration

6 years agoWorkaround MSVC warning C4477
Ondřej Surý [Wed, 15 Apr 2020 10:36:12 +0000 (12:36 +0200)] 
Workaround MSVC warning C4477

Due to a way the stdatomic.h shim is implemented on Windows, the MSVC
always things that the outside type is the largest - atomic_(u)int_fast64_t.
This can lead to false positives as this one:

  lib\dns\adb.c(3678): warning C4477: 'fprintf' : format string '%u' requires an argument of type 'unsigned int', but variadic argument 2 has type 'unsigned __int64'

We workaround the issue by loading the value in a scoped local variable
with correct type first.

6 years agoDisable C4090 MSVC warning
Ondřej Surý [Wed, 15 Apr 2020 10:28:53 +0000 (12:28 +0200)] 
Disable C4090 MSVC warning

MSVC documentation states: "This warning can be caused when a pointer to
a const or volatile item is assigned to a pointer not declared as
pointing to const or volatile."

Unfortunately, this happens when we dynamically allocate and deallocate
block of atomic variables using isc_mem_get and isc_mem_put.

Couple of examples:

  lib\isc\hp.c(134): warning C4090: 'function': different 'volatile' qualifiers [C:\builds\isc-projects\bind9\lib\isc\win32\libisc.vcxproj]
  lib\isc\hp.c(144): warning C4090: 'function': different 'volatile' qualifiers [C:\builds\isc-projects\bind9\lib\isc\win32\libisc.vcxproj]
  lib\isc\stats.c(55): warning C4090: 'function': different 'volatile' qualifiers [C:\builds\isc-projects\bind9\lib\isc\win32\libisc.vcxproj]
  lib\isc\stats.c(87): warning C4090: 'function': different 'volatile' qualifiers [C:\builds\isc-projects\bind9\lib\isc\win32\libisc.vcxproj]

6 years agoFix invalid cast in win32 stdatomic.h shim
Ondřej Surý [Wed, 15 Apr 2020 10:27:23 +0000 (12:27 +0200)] 
Fix invalid cast in win32 stdatomic.h shim

The InterlockedOr8() and InterlockedAnd8() first argument was cast
to (atomic_int_fast8_t) instead of (atomic_int_fast8_t *), this was
reported by MSVC as:

  warning C4024: '_InterlockedOr8': different types for formal and actual parameter 1
  warning C4024: '_InterlockedAnd8': different types for formal and actual parameter 1

6 years agoRemove the Windows build job dependency on autoreconf job
Ondřej Surý [Wed, 15 Apr 2020 09:56:08 +0000 (11:56 +0200)] 
Remove the Windows build job dependency on autoreconf job

6 years agoDisable MSVC C4133 when using stdatomic.h win32 shim
Ondřej Surý [Wed, 8 Apr 2020 13:42:47 +0000 (15:42 +0200)] 
Disable MSVC C4133 when using stdatomic.h win32 shim

6 years agoappend_file() should return void as it doesn't return anything and we don't check...
Ondřej Surý [Wed, 8 Apr 2020 13:46:33 +0000 (15:46 +0200)] 
append_file() should return void as it doesn't return anything and we don't check for return value

6 years agoDon't return from void function
Ondřej Surý [Wed, 8 Apr 2020 13:43:02 +0000 (15:43 +0200)] 
Don't return from void function

6 years agoSet WarningLevel to Level1 for Release, treat warnings as errors
Ondřej Surý [Wed, 8 Apr 2020 08:58:45 +0000 (10:58 +0200)] 
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

6 years agoMerge branch 'michal/fix-srcid-on-windows' into 'master'
Michał Kępień [Wed, 15 Apr 2020 09:41:25 +0000 (09:41 +0000)] 
Merge branch 'michal/fix-srcid-on-windows' into 'master'

Fix "srcid" on Windows

See merge request isc-projects/bind9!3364

6 years agoFix "srcid" on Windows
Michał Kępień [Wed, 15 Apr 2020 09:38:40 +0000 (11:38 +0200)] 
Fix "srcid" on Windows

Windows BIND releases produced by GitLab CI are built from Git
repositories, not from release tarballs, which means the "srcid" file is
not present in the top source directory when MSBuild is invoked.  This
causes the Git commit hash for such builds to be set to "unset_id".
Enable win32utils/Configure to try determining the commit hash for a
build by invoking Git on the build host if the "srcid" file is not
present (which is what its Unix counterpart does).

6 years agoMerge branch 'ondrej/add-missing-time.h-on-win32' into 'master'
Ondřej Surý [Wed, 15 Apr 2020 08:17:59 +0000 (08:17 +0000)] 
Merge branch 'ondrej/add-missing-time.h-on-win32' into 'master'

Add missing time.h header in windows isc/time.h for missing prototypes

See merge request isc-projects/bind9!3368

6 years agoAdd missing time.h header in windows isc/time.h for missing prototypes
Ondřej Surý [Tue, 7 Apr 2020 13:32:47 +0000 (15:32 +0200)] 
Add missing time.h header in windows isc/time.h for missing prototypes

The win32 isc/time.h was missing <time.h> header leading to:

    lib\isc\win32\include\isc\time.h(29): warning C4013: 'gmtime_s'
    undefined; assuming extern returning int (compiling source file
    ..\app.c) [lib\isc\win32\libisc.vcxproj]

    lib\isc\win32\include\isc\time.h(39): warning C4013: 'localtime_s'
    undefined; assuming extern returning int (compiling source file
    ..\app.c) [lib\isc\win32\libisc.vcxproj]

6 years agoMerge branch 'ondrej/add-python-static-analysis-to-gitlab-ci' into 'master'
Ondřej Surý [Wed, 15 Apr 2020 05:29:06 +0000 (05:29 +0000)] 
Merge branch 'ondrej/add-python-static-analysis-to-gitlab-ci' into 'master'

Add python static analysis to GitLab CI

See merge request isc-projects/bind9!3311

6 years agoMake the python code pylint and flake8 compliant
Ondřej Surý [Mon, 30 Mar 2020 13:05:06 +0000 (15:05 +0200)] 
Make the python code pylint and flake8 compliant

6 years agoAdd pylint and flake8 tests to GitLab CI
Ondřej Surý [Mon, 30 Mar 2020 12:18:01 +0000 (14:18 +0200)] 
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.

6 years agoMerge branch 'michal/misc-doc-fixes' into 'master'
Michał Kępień [Thu, 9 Apr 2020 05:49:58 +0000 (05:49 +0000)] 
Merge branch 'michal/misc-doc-fixes' into 'master'

Miscellaneous documentation fixes

See merge request isc-projects/bind9!3357

6 years agoTweak release notes for BIND 9.17.1
Stephen Morris [Wed, 8 Apr 2020 20:12:57 +0000 (22:12 +0200)] 
Tweak release notes for BIND 9.17.1

6 years agoTweak CHANGES for BIND 9.17.1
Michał Kępień [Wed, 8 Apr 2020 20:12:57 +0000 (22:12 +0200)] 
Tweak CHANGES for BIND 9.17.1

6 years agoMerge branch 'bug/master/libisc-link' into 'master'
Ondřej Surý [Wed, 8 Apr 2020 15:02:59 +0000 (15:02 +0000)] 
Merge branch 'bug/master/libisc-link' into 'master'

Link all dependent libraries to libisc

See merge request isc-projects/bind9!3323

6 years agoLink all required libraries to libisc
Petr Menšík [Wed, 1 Apr 2020 12:28:42 +0000 (14:28 +0200)] 
Link all required libraries to libisc

It would fail to link -lisc without additional libraries, which should
not be required.

6 years agoMerge branch 'ondrej/changes-notes-v9_16' into 'master'
Ondřej Surý [Wed, 8 Apr 2020 13:10:34 +0000 (13:10 +0000)] 
Merge branch 'ondrej/changes-notes-v9_16' into 'master'

Add missing CHANGES notes from v9_16 branch

See merge request isc-projects/bind9!3356

6 years agoAdd missing CHANGES notes from v9_16 branch
Ondřej Surý [Wed, 8 Apr 2020 13:07:56 +0000 (15:07 +0200)] 
Add missing CHANGES notes from v9_16 branch

6 years agoMerge branch 'ondrej/placeholder-it' into 'master'
Ondřej Surý [Wed, 8 Apr 2020 12:52:07 +0000 (12:52 +0000)] 
Merge branch 'ondrej/placeholder-it' into 'master'

CHANGES notes 5379. should have been placeholder

See merge request isc-projects/bind9!3355

6 years agoCHANGES notes 5379. should have been placeholder
Ondřej Surý [Wed, 8 Apr 2020 12:48:55 +0000 (14:48 +0200)] 
CHANGES notes 5379. should have been placeholder

6 years agoMerge branch 'ondrej/missing-changes-v9_11' into 'master'
Ondřej Surý [Wed, 8 Apr 2020 12:44:26 +0000 (12:44 +0000)] 
Merge branch 'ondrej/missing-changes-v9_11' into 'master'

Add missing CHANGES notes from v9_11 branch

See merge request isc-projects/bind9!3352