]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
7 years agoMerge branch '884-patches-to-review-6' into 'master'
Mark Andrews [Tue, 4 Jun 2019 23:19:22 +0000 (19:19 -0400)] 
Merge branch '884-patches-to-review-6' into 'master'

Check all RSA algorithms for weak keys.

Closes #884

See merge request isc-projects/bind9!1535

7 years agocheck all RSA algorithms for weak keys
Mark Andrews [Mon, 18 Feb 2019 01:34:44 +0000 (12:34 +1100)] 
check all RSA algorithms for weak keys

7 years agoMerge branch '1066-macports-uses-opt-local-as-its-openssl-location' into 'master'
Mark Andrews [Tue, 4 Jun 2019 08:13:29 +0000 (04:13 -0400)] 
Merge branch '1066-macports-uses-opt-local-as-its-openssl-location' into 'master'

Resolve "MacPorts uses /opt/local as its OpenSSL location"

Closes #1066

See merge request isc-projects/bind9!2005

7 years agoadd /opt/local to list of locations for OpenSSL
Mark Andrews [Tue, 4 Jun 2019 05:35:47 +0000 (15:35 +1000)] 
add /opt/local to list of locations for OpenSSL

7 years agoMerge branch '1063-pkcs11_test-is-not-being-expanded' into 'master'
Mark Andrews [Tue, 4 Jun 2019 07:57:43 +0000 (03:57 -0400)] 
Merge branch '1063-pkcs11_test-is-not-being-expanded' into 'master'

Resolve "@PKCS11_TEST@ is not being expanded"

Closes #1063

See merge request isc-projects/bind9!2000

7 years agomake PKCS11_TEST unix only
Mark Andrews [Tue, 4 Jun 2019 05:31:26 +0000 (15:31 +1000)] 
make PKCS11_TEST unix only

7 years agoMerge branch '1017-remove-dead-stores' into 'master'
Mark Andrews [Tue, 4 Jun 2019 05:39:24 +0000 (01:39 -0400)] 
Merge branch '1017-remove-dead-stores' into 'master'

Resolve "remove dead stores"

Closes #1017

See merge request isc-projects/bind9!1926

7 years agoPOST(optlen)
Mark Andrews [Tue, 4 Jun 2019 03:15:46 +0000 (13:15 +1000)] 
POST(optlen)

7 years agoMerge branch 'cppcheck-and-cmocka-false-positive' into 'master'
Mark Andrews [Tue, 4 Jun 2019 03:24:23 +0000 (23:24 -0400)] 
Merge branch 'cppcheck-and-cmocka-false-positive' into 'master'

teach clang analyser that _assert_int_equal and _assert_int_not_equal don't return on failure

See merge request isc-projects/bind9!1807

7 years agoteach cppcheck that _assert_int_equal and _assert_int_not_equal don't return on failure
Mark Andrews [Tue, 16 Apr 2019 05:03:18 +0000 (15:03 +1000)] 
teach cppcheck that _assert_int_equal and _assert_int_not_equal don't return on failure

7 years agoMerge branch '1048-make-isc-endian.h-more-portable' into 'master'
Michał Kępień [Mon, 3 Jun 2019 12:27:06 +0000 (08:27 -0400)] 
Merge branch '1048-make-isc-endian.h-more-portable' into 'master'

Make <isc/endian.h> more portable

Closes #1049, #1048, and #856

See merge request isc-projects/bind9!2001

7 years agoMake ifconfig.sh work on DragonFly BSD
Michał Kępień [Mon, 3 Jun 2019 12:13:23 +0000 (14:13 +0200)] 
Make ifconfig.sh work on DragonFly BSD

On DragonFly BSD, use the same commands for configuring network
interfaces used during system tests as on NetBSD and OpenBSD.

7 years agoRevise the Windows section of <isc/endian.h>
Ondřej Surý [Mon, 3 Jun 2019 12:13:23 +0000 (14:13 +0200)] 
Revise the Windows section of <isc/endian.h>

Add a comment and remove redundant definitions.

7 years agoRevise the macOS section of <isc/endian.h>
Ondřej Surý [Mon, 3 Jun 2019 12:13:23 +0000 (14:13 +0200)] 
Revise the macOS section of <isc/endian.h>

Move the macOS section of <isc/endian.h> to a lower spot as it is
believed not to be the most popular platform for running BIND.  Add a
comment and remove redundant definitions.

7 years agoMake <isc/endian.h> detect GNU rather than Linux
Ondřej Surý [Mon, 3 Jun 2019 12:13:23 +0000 (14:13 +0200)] 
Make <isc/endian.h> detect GNU rather than Linux

Instead of only supporting Linux, try making <isc/endian.h> support
other GNU platforms as well.  Since some compilers define __GNUC__ on
BSDs (e.g. Clang on FreeBSD), move the relevant section to the bottom of
the platform-specific part of <isc/endian.h>, so that it only gets
evaluated when more specific platform determination criteria are not
met.  Also include <byteswap.h> so that any byte-swapping macros which
may be defined in that file on older platforms are used in the fallback
definitions of the nonstandard hto[bl]e{16,32,64}() and
[bl]e{16,32,64}toh() conversion functions.

7 years agoAdd Solaris support for <isc/endian.h>
Ondřej Surý [Mon, 3 Jun 2019 12:13:23 +0000 (14:13 +0200)] 
Add Solaris support for <isc/endian.h>

While Solaris does not support the nonstandard hto[bl]e{16,32,64}() and
[bl]e{16,32,64}toh() conversion functions, it does have some
byte-swapping macros available in <sys/byteorder.h>.  Ensure these
macros are used in the fallback definitions of the aforementioned
nonstandard functions.

7 years agoAdd fallback definitions to <isc/endian.h>
Ondřej Surý [Mon, 3 Jun 2019 12:13:23 +0000 (14:13 +0200)] 
Add fallback definitions to <isc/endian.h>

Since the hto[bl]e{16,32,64}() and [bl]e{16,32,64}toh() conversion
functions are nonstandard, add fallback definitions of these functions
to <isc/endian.h>, so that their unavailability does not prevent
compilation from succeeding.

7 years agoFix <isc/endian.h> on BSD systems
Michał Kępień [Mon, 3 Jun 2019 12:13:23 +0000 (14:13 +0200)] 
Fix <isc/endian.h> on BSD systems

Current versions of DragonFly BSD, FreeBSD, NetBSD, and OpenBSD all
support the modern variants of functions converting values between host
and big-endian/little-endian byte order while older ones might not.
Ensure <isc/endian.h> works properly in both cases.

7 years agoMerge branch 'michal/smartsign-system-test-properly-detect-presence-of-cds-cdnskey...
Michał Kępień [Mon, 3 Jun 2019 11:59:08 +0000 (07:59 -0400)] 
Merge branch 'michal/smartsign-system-test-properly-detect-presence-of-cds-cdnskey-records' into 'master'

"smartsign" system test: properly detect presence of CDS/CDNSKEY records

See merge request isc-projects/bind9!1988

7 years agoProperly detect presence of CDS/CDNSKEY records
Michał Kępień [Mon, 3 Jun 2019 11:43:29 +0000 (13:43 +0200)] 
Properly detect presence of CDS/CDNSKEY records

Replace grep calls with awk scripts to more precisely detect presence of
CDS and CDNSKEY records in a signed zone file, in order to prevent rare
false positives for the "smartsign" system test triggered by the strings
"CDS" and/or "CDNSKEY" being accidentally present in the Base64 form of
DNSSEC-related data in the zone file being checked.

7 years agoMerge branch '1009-isc-support-13911-ixfr-requests-sometimes-have-ending-logged-but...
Mark Andrews [Mon, 3 Jun 2019 05:32:29 +0000 (01:32 -0400)] 
Merge branch '1009-isc-support-13911-ixfr-requests-sometimes-have-ending-logged-but-not-start' into 'master'

Resolve "[ISC-support #13911] IXFR requests sometimes have ending logged but not start"

Closes #1009

See merge request isc-projects/bind9!1887

7 years agoCHANGES
Evan Hunt [Sat, 1 Jun 2019 07:44:21 +0000 (00:44 -0700)] 
CHANGES

7 years agochange mnemonic for IXFR poll response
Mark Andrews [Wed, 29 May 2019 06:50:44 +0000 (16:50 +1000)] 
change mnemonic for IXFR poll response

7 years agolower ixfr stop messages log level to debug(1) for poll style responses
Mark Andrews [Thu, 2 May 2019 06:48:35 +0000 (16:48 +1000)] 
lower ixfr stop messages log level to debug(1) for poll style responses

7 years agoMerge branch 'placeholder' into 'master'
Evan Hunt [Sat, 1 Jun 2019 07:50:27 +0000 (03:50 -0400)] 
Merge branch 'placeholder' into 'master'

placeholder

See merge request isc-projects/bind9!1999

7 years agoplaceholder
Evan Hunt [Sat, 1 Jun 2019 07:49:41 +0000 (00:49 -0700)] 
placeholder

7 years agoMerge branch 'each-fix-typo' into 'master'
Evan Hunt [Fri, 31 May 2019 23:26:48 +0000 (19:26 -0400)] 
Merge branch 'each-fix-typo' into 'master'

fix typo

See merge request isc-projects/bind9!1997

7 years agofix typo
Evan Hunt [Fri, 31 May 2019 23:26:03 +0000 (16:26 -0700)] 
fix typo

7 years agoMerge branch '1061-update-supported-rfc-list' into 'master'
Evan Hunt [Fri, 31 May 2019 23:18:48 +0000 (19:18 -0400)] 
Merge branch '1061-update-supported-rfc-list' into 'master'

Resolve "update supported RFC list"

Closes #1061

See merge request isc-projects/bind9!1972

7 years agoadd RFC6944
Mark Andrews [Wed, 29 May 2019 06:15:24 +0000 (16:15 +1000)] 
add RFC6944

7 years agoupdate RFC compliance document
Mark Andrews [Wed, 29 May 2019 05:51:15 +0000 (15:51 +1000)] 
update RFC compliance document

7 years agoMerge branch '943-race-in-dispatcher-socket' into 'master'
Evan Hunt [Fri, 31 May 2019 19:31:58 +0000 (15:31 -0400)] 
Merge branch '943-race-in-dispatcher-socket' into 'master'

Fix a possible race between udp dispatch and socket code

Closes #943

See merge request isc-projects/bind9!1992

7 years agoCHANGES
Witold Kręcicki [Fri, 31 May 2019 18:16:58 +0000 (20:16 +0200)] 
CHANGES

7 years agoFix a possible race between udp dispatch and socket code
Witold Kręcicki [Fri, 31 May 2019 08:40:52 +0000 (10:40 +0200)] 
Fix a possible race between udp dispatch and socket code

There's a small possibility of race between udp dispatcher and
socket code - socket code can still hold internal reference to a
socket while dispatcher calls isc_socket_open, which can cause
an assertion failure. Fix it by relaxing the assertion test, and
instead simply locking the socket in isc_socket_open.

7 years agoMerge branch '1055-qname-minimization-relaxed-lame' into 'master'
Witold Krecicki [Fri, 31 May 2019 07:11:27 +0000 (03:11 -0400)] 
Merge branch '1055-qname-minimization-relaxed-lame' into 'master'

Don't SERVFAIL on lame delegations when doing qname minimization in relaxed mode

Closes #1055

See merge request isc-projects/bind9!1962

7 years agofixup! Use experimental "_ A" minimization in relaxed mode.
Evan Hunt [Thu, 30 May 2019 19:45:32 +0000 (12:45 -0700)] 
fixup! Use experimental "_ A" minimization in relaxed mode.

7 years agoCHANGES
Evan Hunt [Thu, 30 May 2019 19:40:04 +0000 (12:40 -0700)] 
CHANGES

7 years agoUse experimental "_ A" minimization in relaxed mode.
Witold Kręcicki [Tue, 28 May 2019 12:03:13 +0000 (14:03 +0200)] 
Use experimental "_ A" minimization in relaxed mode.

qname minimization, even in relaxed mode, can fail on
some very broken domains. In relaxed mode, instead of
asking for "foo.bar NS" ask for "_.foo.bar A" to either
get a delegation or NXDOMAIN. It will require more queries
than regular mode for proper NXDOMAINs.

7 years agoDon't SERVFAIL on lame delegations when doing minimization in relaxed mode.
Witold Kręcicki [Fri, 24 May 2019 12:03:16 +0000 (14:03 +0200)] 
Don't SERVFAIL on lame delegations when doing minimization in relaxed mode.

qname minimization in relaxed mode should fall back to regular
resolution in case of failure.

7 years agoMerge branch 'wpk-pthread-rwlock-optional' into 'master'
Ondřej Surý [Thu, 30 May 2019 14:28:43 +0000 (10:28 -0400)] 
Merge branch 'wpk-pthread-rwlock-optional' into 'master'

configure option to use pthread_rwlock instead of internal implementation

See merge request isc-projects/bind9!1397

7 years agoAdd --enable-pthread-rwlock option
Witold Kręcicki [Fri, 25 Jan 2019 11:29:52 +0000 (12:29 +0100)] 
Add --enable-pthread-rwlock option

7 years agoImplement isc_rwlock_downgrade using pthreads and single atomic_bool
Ondřej Surý [Thu, 22 Nov 2018 10:42:12 +0000 (11:42 +0100)] 
Implement isc_rwlock_downgrade using pthreads and single atomic_bool

7 years agoUse simple pthread_rwlock in place of our custom adaptive rwlock
Ondřej Surý [Thu, 16 Aug 2018 13:03:42 +0000 (15:03 +0200)] 
Use simple pthread_rwlock in place of our custom adaptive rwlock

7 years agoMerge branch 'ondrej/enable-nolibtool-build-in-CI' into 'master'
Ondřej Surý [Thu, 30 May 2019 13:12:27 +0000 (09:12 -0400)] 
Merge branch 'ondrej/enable-nolibtool-build-in-CI' into 'master'

Enable nolibtool build in CI

See merge request isc-projects/bind9!1953

7 years agobin/named/main.c: clean possibly uninitalized variable in save_command_line()
Ondřej Surý [Tue, 21 May 2019 12:05:44 +0000 (12:05 +0000)] 
bin/named/main.c: clean possibly uninitalized variable in save_command_line()

7 years agoFix uninitialized variable warning in restore_nsec3param()
Ondřej Surý [Tue, 21 May 2019 11:41:38 +0000 (11:41 +0000)] 
Fix uninitialized variable warning in restore_nsec3param()

7 years agoAdd nolibtool CI job
Ondřej Surý [Tue, 21 May 2019 09:58:10 +0000 (09:58 +0000)] 
Add nolibtool CI job

7 years agoMerge branch '225-ed448-broken-with-openssl-1-1-1-pre6' into 'master'
Mark Andrews [Thu, 30 May 2019 12:39:39 +0000 (08:39 -0400)] 
Merge branch '225-ed448-broken-with-openssl-1-1-1-pre6' into 'master'

Fix ASN.1 length values in Ed448 public and private key prefix blobs.

Closes #225

See merge request isc-projects/bind9!1971

7 years agoadd CHANGES note
Mark Andrews [Thu, 30 May 2019 08:03:10 +0000 (18:03 +1000)] 
add CHANGES note

7 years agotest Ed448 against test vectors
Mark Andrews [Wed, 29 May 2019 05:32:16 +0000 (15:32 +1000)] 
test Ed448 against test vectors

7 years agofix Ed448 length values for precomputed ASN.1 prefix blobs
Mark Andrews [Wed, 29 May 2019 03:22:02 +0000 (13:22 +1000)] 
fix Ed448 length values for precomputed ASN.1 prefix blobs

7 years agoMerge branch '1011-use-proper-linker-config-on-hp-ux' into 'master'
Mark Andrews [Thu, 30 May 2019 00:30:00 +0000 (20:30 -0400)] 
Merge branch '1011-use-proper-linker-config-on-hp-ux' into 'master'

Resolve "Use proper linker (config) on HP-UX"

Closes #1011

See merge request isc-projects/bind9!1940

7 years agoregen
Mark Andrews [Tue, 14 May 2019 03:25:43 +0000 (13:25 +1000)] 
regen

7 years agoadd link flags for ia64-hp-hpux
Mark Andrews [Tue, 14 May 2019 03:24:43 +0000 (13:24 +1000)] 
add link flags for ia64-hp-hpux

7 years agoMerge branch '996-revert-wrong-key-id-is-displayed-for-rsamd5-keys' into 'master'
Ondřej Surý [Wed, 29 May 2019 14:14:21 +0000 (10:14 -0400)] 
Merge branch '996-revert-wrong-key-id-is-displayed-for-rsamd5-keys' into 'master'

Revert "Merge branch '996-wrong-key-id-is-displayed-for-rsamd5-keys' into 'master'"

Closes #996

See merge request isc-projects/bind9!1981

7 years agoRevert "Merge branch '996-wrong-key-id-is-displayed-for-rsamd5-keys' into 'master'"
Ondřej Surý [Wed, 29 May 2019 13:17:04 +0000 (15:17 +0200)] 
Revert "Merge branch '996-wrong-key-id-is-displayed-for-rsamd5-keys' into 'master'"

This reverts commit ea131d2e6a937964b65b9ccc4cd3f18de9f6d09f, reversing
changes made to e79dd268b6fb36b897a3258cdf959d87f60e55e0.

7 years agoMerge branch '855-json-c-library-detection-in-autoconf' into 'master'
Ondřej Surý [Wed, 29 May 2019 13:23:29 +0000 (09:23 -0400)] 
Merge branch '855-json-c-library-detection-in-autoconf' into 'master'

Cleanup the way we detect json-c library to use only pkg-config

Closes #855

See merge request isc-projects/bind9!1473

7 years agoAdd CHANGES and release notes
Ondřej Surý [Fri, 26 Apr 2019 11:18:35 +0000 (13:18 +0200)] 
Add CHANGES and release notes

7 years agoCleanup the way we detect json-c library to use only pkg-config
Ondřej Surý [Wed, 6 Feb 2019 10:56:42 +0000 (11:56 +0100)] 
Cleanup the way we detect json-c library to use only pkg-config

7 years agoMerge branch '1044-fix-LFS-flags-on-BSDs' into 'master'
Ondřej Surý [Wed, 29 May 2019 10:03:34 +0000 (06:03 -0400)] 
Merge branch '1044-fix-LFS-flags-on-BSDs' into 'master'

Pull the values for LFS_{CFLAGS,LDFLAGS,LIBS} from autoconf instead using them directly in make

Closes #1044

See merge request isc-projects/bind9!1978

7 years agoPull the values for LFS_{CFLAGS,LDFLAGS,LIBS} from autoconf instead using them direct...
Ondřej Surý [Wed, 29 May 2019 09:19:34 +0000 (11:19 +0200)] 
Pull the values for LFS_{CFLAGS,LDFLAGS,LIBS} from autoconf instead using them directly in make

7 years agoMerge branch 'michal/legacy-system-test-fixes' into 'master'
Michał Kępień [Wed, 29 May 2019 09:33:50 +0000 (05:33 -0400)] 
Merge branch 'michal/legacy-system-test-fixes' into 'master'

"legacy" system test fixes

See merge request isc-projects/bind9!1968

7 years agoOptimize dig parameters to decrease test run time
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Optimize dig parameters to decrease test run time

Performing server setup checks using "+tries=3 +time=5" is redundant as
a single query is arguably good enough for determining whether a given
named instance was set up properly.  Only use multiple queries with a
long timeout for resolution checks in the "legacy" system test, in order
to significantly reduce its run time (on a contemporary machine, from
about 1m45s to 0m40s).

7 years agoMake "plain" server setup checks more similar
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Make "plain" server setup checks more similar

Send a test TCP query to the "plain" server during its setup check to
improve its consistency with the setup check for the "plain + no TCP"
server.

7 years agoAdd more EDNS checks for dig output files
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Add more EDNS checks for dig output files

In the "legacy" system test, in order to make server setup checks more
consistent with each other, add further checks for either presence or
absence of the EDNS OPT pseudo-RR in the responses returned by the
tested named instances.

7 years agoDo not ignore dig exit codes
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Do not ignore dig exit codes

Make sure the "legacy" system test fails if any exit code returned by
dig does not match the expected one.

7 years agoUse helper functions for checking resolution
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Use helper functions for checking resolution

Extract repeated dig and grep calls into two helper shell functions,
resolution_succeeds() and resolution_fails(), in order to reduce code
duplication in the "legacy" system test, emphasize the similarity
between all the resolution checks in that test, and make the conditions
for success and failure uniform for all resolution checks in that test.

7 years agoUse +dnssec instead of separate TXT records
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Use +dnssec instead of separate TXT records

When testing named instances which are configured to drop outgoing UDP
responses larger than 512 bytes, querying with DO=1 may be used instead
of querying for large TXT records as the effect achieved will be
identical: an unsigned response for a SOA query will be below 512 bytes
in size while a signed response for the same query will be over 512
bytes in size.  Doing this makes all resolution checks in the "legacy"
system test more similar.  Add checks for the TC flag being set in UDP
responses which are expected to be truncated to further make sure that
tested named instances behave as expected.

7 years agoFix the name of the file to inspect
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Fix the name of the file to inspect

One of the checks in the "legacy" system test inspects dig.out.1.test$n
instead of dig.out.2.test$n.  Fix the file name used in that check.

7 years agoEnsure queries expected to time out really do
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Ensure queries expected to time out really do

Make sure that the "legacy" system test fails if queries which are
expected to time out do not really time out.

7 years agoProperly test servers with TCP support disabled
Michał Kępień [Wed, 29 May 2019 09:05:01 +0000 (11:05 +0200)] 
Properly test servers with TCP support disabled

Sending TCP queries to test named instances with TCP support disabled
should cause dig output to contain the phrase "connection refused", not
"connection timed out", as such instances never open the relevant
sockets.  Make sure that the "legacy" system test fails if the expected
phrase is not found in any of the relevant files containing dig output.

7 years agoMerge branch '1044-include-config.h-in-gen.c' into 'master'
Ondřej Surý [Wed, 29 May 2019 08:30:11 +0000 (04:30 -0400)] 
Merge branch '1044-include-config.h-in-gen.c' into 'master'

Resolve "gen fails to generate headers on Debian buster"

Closes #1044

See merge request isc-projects/bind9!1954

7 years agoUse getconf LFS_{CFLAGS,LDFLAGS,LIBS} to get flags to compile lib/dns/gen
Ondřej Surý [Mon, 27 May 2019 14:11:11 +0000 (16:11 +0200)] 
Use getconf LFS_{CFLAGS,LDFLAGS,LIBS} to get flags to compile lib/dns/gen

On some systems (namely Debian buster armhf) the readdir() call fails
with `Value too large for defined data type` unless the
_FILE_OFFSET_BITS=64 is defined.  The correct way to fix this is to
get the appropriate compilation parameters from getconf system
interface.

7 years agoExit the ./gen program on failed readdir() call
Ondřej Surý [Tue, 21 May 2019 17:56:58 +0000 (17:56 +0000)] 
Exit the ./gen program on failed readdir() call

7 years agoMerge branch '1056-misleading-error-message-when-trying-to-build-without-python-suppo...
Mark Andrews [Mon, 27 May 2019 03:35:46 +0000 (23:35 -0400)] 
Merge branch '1056-misleading-error-message-when-trying-to-build-without-python-support' into 'master'

Resolve "Misleading error message when trying to build without Python support"

Closes #1056

See merge request isc-projects/bind9!1964

7 years agofix configire error message to say --without-python
Mark Andrews [Mon, 27 May 2019 03:19:25 +0000 (13:19 +1000)] 
fix configire error message to say --without-python

7 years agoMerge branch '1046-deadlock-in-tcp-code' into 'master'
Witold Krecicki [Fri, 24 May 2019 07:29:44 +0000 (03:29 -0400)] 
Merge branch '1046-deadlock-in-tcp-code' into 'master'

Fix a possible deadlock in TCP accepting

Closes #1046

See merge request isc-projects/bind9!1958

7 years agoFix a possible deadlock in TCP accepting
Witold Kręcicki [Wed, 22 May 2019 10:37:03 +0000 (12:37 +0200)] 
Fix a possible deadlock in TCP accepting

Each network thread holds an array of locks, indexed by a hash
of fd. When we accept a connection we hold a lock in accepting thread.
We then generate the thread number and lock bucket for the new
connection socket - if we hit the same thread and lock bucket as
accepting socket we get a deadlock. Avoid this by checking if we're
in the same thread/lock bucket and not locking in this case.

7 years agoMerge branch '1050-build-failure-on-windows' into 'master'
Mark Andrews [Fri, 24 May 2019 06:39:13 +0000 (02:39 -0400)] 
Merge branch '1050-build-failure-on-windows' into 'master'

Resolve "Build failure on Windows"

Closes #1050

See merge request isc-projects/bind9!1959

7 years agoinclude <isc/string.h> for isc_string_strerror_r prototype
Mark Andrews [Thu, 23 May 2019 03:14:43 +0000 (13:14 +1000)] 
include <isc/string.h> for isc_string_strerror_r prototype

7 years agouse atomics in lib/isc/win32/app.c
Mark Andrews [Thu, 23 May 2019 02:09:49 +0000 (12:09 +1000)] 
use atomics in lib/isc/win32/app.c

7 years agoMerge branch '1028-dig-trace-should-not-set-rd-0-norecurse-for-the-initial-root-hints...
Mark Andrews [Wed, 22 May 2019 03:13:18 +0000 (23:13 -0400)] 
Merge branch '1028-dig-trace-should-not-set-rd-0-norecurse-for-the-initial-root-hints-query' into 'master'

Resolve "dig +trace should not set RD=0 (+norecurse) for the initial root hints query"

Closes #1028

See merge request isc-projects/bind9!1939

7 years agoRecurse to find the root server list with 'dig +trace'.
Mark Andrews [Tue, 14 May 2019 01:38:13 +0000 (11:38 +1000)] 
Recurse to find the root server list with 'dig +trace'.

7 years agoMerge branch '605-add-siphash24' into 'master'
Ondřej Surý [Tue, 21 May 2019 11:50:25 +0000 (07:50 -0400)] 
Merge branch '605-add-siphash24' into 'master'

Add SipHash24 algorithm and use it in isc_hash function

Closes #360

See merge request isc-projects/bind9!1462

7 years agoAdd CHANGES entry:
Ondřej Surý [Mon, 20 May 2019 17:04:54 +0000 (19:04 +0200)] 
Add CHANGES entry:

5236.   [func]          Add SipHash 2-4 implementation in lib/isc/siphash.c
                        and switch isc_hash_function() to use SipHash 2-4.
                        [GL #605]

7 years agoRemove isc_hash_reverse function
Ondřej Surý [Thu, 9 May 2019 08:50:57 +0000 (15:50 +0700)] 
Remove isc_hash_reverse function

7 years agoConvert isc_hash functions to use isc_siphash24
Ondřej Surý [Thu, 4 Apr 2019 11:51:09 +0000 (13:51 +0200)] 
Convert isc_hash functions to use isc_siphash24

7 years agoAdd tests for the isc_siphash24 function
Ondřej Surý [Wed, 9 Jan 2019 13:55:40 +0000 (14:55 +0100)] 
Add tests for the isc_siphash24 function

7 years agoAdd reference SipHash 2-4 implementation
Ondřej Surý [Wed, 9 Jan 2019 13:34:36 +0000 (14:34 +0100)] 
Add reference SipHash 2-4 implementation

7 years agoAdd portable <isc/endian.h> header
Ondřej Surý [Wed, 9 Jan 2019 13:34:19 +0000 (14:34 +0100)] 
Add portable <isc/endian.h> header

7 years agoMerge branch '1023-make-app.c-TSAN-clean' into 'master'
Ondřej Surý [Mon, 20 May 2019 17:00:19 +0000 (13:00 -0400)] 
Merge branch '1023-make-app.c-TSAN-clean' into 'master'

Make isc_app_t opaque and thread-safe

Closes #1023

See merge request isc-projects/bind9!1936

7 years agoAdd CHANGES entry:
Ondřej Surý [Mon, 20 May 2019 16:20:55 +0000 (18:20 +0200)] 
Add CHANGES entry:

5235.   [cleanup]       Refactor lib/isc/app.c to be thread-safe, unused
                        parts of the API has been removed and the
                        isc_appctx_t data type has been changed to be
                        fully opaque. [GL #1023]

7 years agoMake lib/isc/app.c opaque and thread-safe
Ondřej Surý [Mon, 13 May 2019 13:58:20 +0000 (20:58 +0700)] 
Make lib/isc/app.c opaque and thread-safe

This work cleans up the API which includes couple of things:

1. Make the isc_appctx_t type fully opaque

2. Protect all access to the isc_app_t members via stdatomics

3. sigwait() is part of POSIX.1, remove dead non-sigwait code

4. Remove unused code: isc_appctx_set{taskmgr,sockmgr,timermgr}

7 years agoMerge branch 'each-document-bug-ids' into 'master'
Evan Hunt [Fri, 17 May 2019 06:43:38 +0000 (02:43 -0400)] 
Merge branch 'each-document-bug-ids' into 'master'

update README to explain gitlab numbers

See merge request isc-projects/bind9!1946

7 years agoupdate README to explain gitlab numbers
Evan Hunt [Thu, 16 May 2019 23:39:24 +0000 (16:39 -0700)] 
update README to explain gitlab numbers

7 years agoMerge branch '1003-SO_REUSEPORT-tweaks' into 'master'
Ondřej Surý [Fri, 17 May 2019 05:37:48 +0000 (01:37 -0400)] 
Merge branch '1003-SO_REUSEPORT-tweaks' into 'master'

Resolve "socket.c error 'SO_REUSEPORT' undeclared"

Closes #1003

See merge request isc-projects/bind9!1884

7 years agoUse SO_REUSEPORT_LB on FreeBSD if available
Ondřej Surý [Mon, 29 Apr 2019 17:29:09 +0000 (19:29 +0200)] 
Use SO_REUSEPORT_LB on FreeBSD if available

7 years agoAdd safeguard against the other usage of SO_REUSEPORT
Ondřej Surý [Mon, 29 Apr 2019 17:28:24 +0000 (19:28 +0200)] 
Add safeguard against the other usage of SO_REUSEPORT

7 years agoMerge branch 'ondrej/add-all-isc-atomic-defines' into 'master' 1942/head
Ondřej Surý [Mon, 13 May 2019 07:03:17 +0000 (03:03 -0400)] 
Merge branch 'ondrej/add-all-isc-atomic-defines' into 'master'

Add most useful relaxed and acquire-relase stdatomic convenience macros

See merge request isc-projects/bind9!1935

7 years agoAdd most useful relaxed and acquire-relase stdatomic convenience macros
Ondřej Surý [Mon, 13 May 2019 05:17:21 +0000 (12:17 +0700)] 
Add most useful relaxed and acquire-relase stdatomic convenience macros

The header file <isc/atomic.h> now contains convenience macros for
most useful explicit memory ordering for C11 stdatomics, only relaxed
and acquire-release semantics is being used.  These macros SHOULD be
used instead of atomic_<func>_explicit functions.