Commit Graph
27099 Commits
Author SHA1 Message Date
Ondřej SurýandMichał Kępień 1d92178bec When --with-python is given to configure, use default search list for python binaries instead of 'yes'
(cherry picked from commit 3951cb053b)
2019-01-18 15:15:02 +01:00
Evan Hunt 235e6e481c Merge branch '752-disable-forwarders-when-priming-v9_12-v9_11' into 'v9_11'
If possible don't use forwarders when priming the resolver.

See merge request isc-projects/bind9!1357
2019-01-17 01:49:18 -05:00
Witold KręcickiandEvan Hunt aa9866c390 If possible don't use forwarders when priming the resolver.
If we try to fetch a record from cache and need to look into
hints database we assume that the resolver is not primed and
start dns_resolver_prime(). Priming query is supposed to return
NSes for "." in ANSWER section and glue records for them in
ADDITIONAL section, so that we can fill that info in 'regular'
cache and not use hints db anymore.
However, if we're using a forwarder the priming query goes through
it, and if it's configured to return minimal answers we won't get
the addresses of root servers in ADDITIONAL section. Since the
only records for root servers we have are in hints database we'll
try to prime the resolver with every single query.

This patch adds a DNS_FETCHOPT_NOFORWARD flag which avoids using
forwarders if possible (that is if we have forward-first policy).
Using this flag on priming fetch fixes the problem as we get the
proper glue. With forward-only policy the problem is non-existent,
as we'll never ask for root server addresses because we'll never
have a need to query them.

Also added a test to confirm priming queries are not forwarded.

(cherry picked from commit b49310ac06)
(cherry picked from commit f8963ad70e)
2019-01-16 22:27:52 -08:00
Mark Andrews 5fd2cc8472 Merge branch 'v9_11-normalize-files' into 'v9_11'
V9 11 normalize files

See merge request isc-projects/bind9!1352
2019-01-16 20:06:45 -05:00
Petr MenšíkandMark Andrews 2e8a927912 Normalize windows files and shell scripts
Commands used:
git add --chmod=+x bin/tests/system/ifconfig.sh mkinstalldirs
git add --renormalize 'win32utils/**.txt' '**.dsw'
2019-01-16 19:04:50 -05:00
Petr MenšíkandMark Andrews 631cb464c1 Change eol of windows files
Release tarballs have different eol of windows only files. Change them
also in git, so checkout matches archvies as much as possible.
2019-01-16 19:04:50 -05:00
Mark Andrews c8e7c8c928 Merge branch 'pkcs11-pubattr-check-v9_11' into 'v9_11'
Make sure null atributes are never used

See merge request isc-projects/bind9!1355
2019-01-16 17:20:53 -05:00
Petr MenšíkandMark Andrews 3442c69911 Make sure null atributes are never used
Add INSIST to pubattr fetching where null might occur in therory. Make
sure null is never dereferenced.

(cherry picked from commit fe9ef0d9f5)
2019-01-17 09:00:42 +11:00
Evan Hunt 5bae3985a3 Merge branch '792-bind9-doesn-t-tcp-retransmit-v9_11' into 'v9_11'
Resolve "bind9 doesn't tcp retransmit"

See merge request isc-projects/bind9!1349
2019-01-15 20:48:14 -05:00
Mark AndrewsandEvan Hunt bf6133ea61 adjust timeout to allow for ECN negotiation failures
(cherry picked from commit dadb924be7)
2019-01-15 17:30:20 -08:00
Ondřej Surý 7663d07513 Merge branch 'ondrej/fix-race-condition-in-dnstap-v9_11' into 'v9_11'
(v9_11) Fix race condition in cleanup part of dns_dt_create()

See merge request isc-projects/bind9!1345
2019-01-15 04:04:04 -05:00
Witold KręcickiandOndřej Surý 8cdad8fec2 Add CHANGES entry for GL!1323
(cherry picked from commit 4b5337e06b)
2019-01-15 09:51:45 +01:00
Ondřej Surý 5c73b97715 Fix race condition in cleanup part of dns_dt_create()
(cherry picked from commit 482dd7eed3)
2019-01-15 09:51:25 +01:00
Mark Andrews cf306bf345 Merge branch '590-win32-sample-gai-c-should-call-wsastartup-v9_11' into 'v9_11'
Resolve "[Win32] sample-gai.c should call WSAStartup()"

See merge request isc-projects/bind9!1343
2019-01-15 00:51:32 -05:00
Mark Andrews 032ede1165 add CHANGES
(cherry picked from commit 4500d9e91a)
2019-01-15 16:29:26 +11:00
Mark Andrews 34cf4336ac ensure that WSAStartup is called before getservbyname
(cherry picked from commit ac01359871)
2019-01-15 16:29:25 +11:00
Evan Hunt 631bb6bfea Merge branch 'u/fanf2/rndc-managed-keys-v9_12-v9_11' into 'v9_11'
Fix a few cosmetic issues with `rndc managed-keys`

See merge request isc-projects/bind9!1341
2019-01-14 21:41:29 -05:00
Mark AndrewsandEvan Hunt 06eb0a4367 add multi-view server and tests
(cherry picked from commit 7122b5786d)
(cherry picked from commit 22b77f45b7)
2019-01-14 18:31:02 -08:00
Mark AndrewsandEvan Hunt fb255668fa add CHANGES note
(cherry picked from commit 2d3f159707)
2019-01-14 18:19:27 -08:00
Tony FinchandEvan Hunt f72c687fa2 Fix a few cosmetic issues with rndc managed-keys
The handling of class and view arguments was broken, because the code
didn't realise that next_token() would overwrite the class name when
it parsed the view name. The code was trying to implement a syntax
like `refresh [[class] view]`, but it was documented to have a syntax
like `refresh [class [view]]`. The latter is consistent with other rndc
commands, so that is how I have fixed it.

Before:

$ rndc managed-keys refresh in rec
rndc: 'managed-keys' failed: unknown class/type
unknown class 'rec'

After:

$ rndc managed-keys refresh in rec
refreshing managed keys for 'rec'

There were missing newlines in the output from `rndc managed-keys
refresh` and `rndc managed-keys destroy`.

Before:

$ rndc managed-keys refresh
refreshing managed keys for 'rec'refreshing managed keys for 'auth'

After:

$ rndc managed-keys refresh
refreshing managed keys for 'rec'
refreshing managed keys for 'auth'

(cherry picked from commit 6a3b851f72)
(cherry picked from commit bc984ace12)
2019-01-14 18:19:22 -08:00
Evan Hunt 5b84b2cd0b Merge branch 'fix-dnssec-test-v9_12-v9_11' into 'v9_11'
b/t/s/dnssec/tests.sh: Cleanup showprivate() function

See merge request isc-projects/bind9!1337
2019-01-14 16:39:10 -05:00
Evan Hunt 3b367ef3cb b/t/s/dnssec/tests.sh: Cleanup showprivate() function
(cherry picked from commit b241dc58ec)
2019-01-14 13:23:36 -08:00
Evan Hunt 0c6592ab4d Merge branch 'each-fix-dnssec-test-error-v9_11' into 'v9_11'
DNSSEC test error

See merge request isc-projects/bind9!1334
2019-01-13 21:52:19 -05:00
Evan Hunt d653989a1e fix testing errors
- the checkprivate function in the dnssec test set ret=0, erasing
  results from previous tests and making the test appear to have passed
  when it shouldn't have
- checkprivate needed a delay loop to ensure there was time for all
  private signing records to be updated before the test

(cherry picked from commit 82e83d5dc7)
2019-01-13 21:34:35 -05:00
Mark Andrews dffc58208f Merge branch 'u/fanf2/rndc-alphabetize-v9_11' into 'v9_11'
cleanup: alphabetize rndc command dispatch

See merge request isc-projects/bind9!1332
2019-01-13 21:22:29 -05:00
Tony FinchandMark Andrews 81408256d3 cleanup: alphabetize rndc command dispatch 2019-01-14 13:02:02 +11:00
Mark Andrews ed96dc5dcb Merge branch '784-bind-9-12-3-p1-fatal-error-v9_11' into 'v9_11'
Resolve "bind 9.12.3-P1 fatal error"

See merge request isc-projects/bind9!1325
2019-01-09 04:06:00 -05:00
Mark Andrews d075b25b63 add CHANGES
(cherry picked from commit 9dd39d5385)
2019-01-09 19:48:59 +11:00
Mark Andrews 8bb42d7812 update refreshkeytime
(cherry picked from commit ca977e3976)
2019-01-09 19:48:58 +11:00
Mark Andrews aaab84019c Merge branch 'marka-maybe_numeric-and-nul-v9_11' into 'v9_11'
maybe_numeric failed to handle NUL in text region.

See merge request isc-projects/bind9!1322
2019-01-09 03:20:44 -05:00
Mark Andrews 3266d3c4da maybe_numeric failed to handle NUL in text region.
(cherry picked from commit ee23780246)
2019-01-09 19:08:22 +11:00
Mark Andrews dd960811a4 Merge branch 'marka-fail-when-required-field-is-missing-v9_11' into 'v9_11'
Ensure base64/base32/hex fields in DNS records that should be non-empty are.

See merge request isc-projects/bind9!1321
2019-01-09 03:05:41 -05:00
Mark Andrews 58cc1ee718 Ensure base64/base32/hex fields in DNS records that should be non-empty are.
(cherry picked from commit 5e8b772ad1)
2019-01-09 18:52:50 +11:00
Mark Andrews 7632a672b9 Merge branch '804-large-nsec3-responses-cause-failure-in-adding-records-to-ncache-and-eventually-formerr-instead-of-nxdomain-v9_11' into 'v9_11'
Resolve "Large NSEC3 responses cause failure in adding records to ncache and, eventually, FORMERR (instead of NXDOMAIN)"

See merge request isc-projects/bind9!1316
2019-01-09 00:33:45 -05:00
Mark Andrews e9d9790948 add CHANGES entry
(cherry picked from commit 3328116b57)
2019-01-09 16:17:08 +11:00
Mark Andrews 6750780e88 allow for up 100 records or 64K of data to be in a ncache entry
(cherry picked from commit 604889e627)
2019-01-09 16:17:07 +11:00
Evan Hunt bb5648f9d9 Merge branch '804-large-nsec3-responses-cause-failure-in-adding-records-to-ncache-and-eventually-formerr-instead-of-nxdomain-2-v9_11' into 'v9_11'
Resolve "Large NSEC3 responses cause failure in adding records to ncache and, eventually, FORMERR (instead of NXDOMAIN)"

See merge request isc-projects/bind9!1315
2019-01-09 00:09:01 -05:00
Mark AndrewsandEvan Hunt a5b3fc2348 add CHANGES
(cherry picked from commit 188c184381)
2019-01-08 20:51:27 -08:00
Mark AndrewsandEvan Hunt e4f7d6c418 explictly convert ISC_R_NOSPACE from dns_message_parse to DNS_R_FORMERR and remove from dns_result_torcode
(cherry picked from commit 0c42a9c0ab)
2019-01-08 20:51:27 -08:00
Evan Hunt 5a31a22986 Merge branch '812-cookie-test-failed-v9_11' into 'v9_11'
Resolve "cookie test failed."

See merge request isc-projects/bind9!1313
2019-01-08 23:31:36 -05:00
Mark AndrewsandEvan Hunt 24f7bc252d wait longer for dump to complete
(cherry picked from commit 8a8d378def)
2019-01-08 20:18:26 -08:00
Ondřej Surý c2515e8e20 Merge branch 'ondrej/disable-CI-in-release-branches-v9_11' into 'v9_11'
(v9_11) Run the regular pipelines only for merge requests, and run only the Debian sid...

See merge request isc-projects/bind9!1311
2019-01-08 09:16:59 -05:00
Ondřej Surý 8858947237 Run the regular pipelines only for merge requests, and run only the Debian sid build for release branches
(cherry picked from commit 24961f6068)
2019-01-08 14:58:58 +01:00
Michał Kępień 36e2175bd3 Merge branch '692-dig-fix-cleanup-upon-an-error-before-tcp-socket-creation-v9_11' into 'v9_11'
[v9_11] Fix cleanup upon an error before TCP socket creation

See merge request isc-projects/bind9!1308
2019-01-08 05:57:12 -05:00
Michał Kępień 9b96944bae Add CHANGES entry
5123.	[bug]		dig could hang indefinitely after encountering an error
			before creating a TCP socket. [GL #692]

(cherry picked from commit 3242cb53ec)
2019-01-08 11:24:04 +01:00
Michał Kępień b9f577eb6a Fix cleanup upon an error before TCP socket creation
When a query times out after a socket is created and associated with a
given dig_query_t structure, calling isc_socket_cancel() causes
connect_done() to be run, which in turn takes care of all necessary
cleanups.  However, certain errors (e.g. get_address() returning
ISC_R_FAMILYNOSUPPORT) may prevent a TCP socket from being created in
the first place.  Since force_timeout() may be used in code handling
such errors, connect_timeout() needs to properly clean up a TCP query
which is not associated with any socket.  Call clear_query() from
connect_timeout() after attempting to send a TCP query to the next
available server if the timed out query does not have a socket
associated with it, in order to prevent dig from hanging indefinitely
due to the dig_query_t structure not being detached from its parent
dig_lookup_t structure.

(cherry picked from commit 13975b32c6)
2019-01-08 11:24:03 +01:00
Michał Kępień 11a4845c7d Refactor code sending a query to the next server upon a timeout
When a query times out and another server is available for querying
within the same lookup, the timeout handler - connect_timeout() - is
responsible for sending the query to the next server.  Extract the
relevant part of connect_timeout() to a separate function in order to
improve code readability.

(cherry picked from commit c108fc5c6e)
2019-01-08 11:24:03 +01:00
Michał Kępień d8de90f859 Remove dead code handling address family mismatches for TCP sockets
Before commit c2ec022f57, using the "-b"
command line switch for dig did not disable use of the other address
family than the one to which the address supplied to that option
belonged to.  Thus, bind9_getaddresses() could e.g. prepare an
isc_sockaddr_t structure for an IPv6 address when an IPv4 address has
been passed to the "-b" command line option.  To avoid attempting the
impossible (e.g. querying an IPv6 address from a socket bound to an IPv4
address), a certain code block in send_tcp_connect() checked whether the
address family of the server to be queried was the same as the address
family of the socket set up for sending that query; if there was a
mismatch, that particular server address was skipped.

Commit c2ec022f57 made
bind9_getaddresses() fail upon an address family mismatch between the
address the hostname passed to it resolved to and the address supplied
to the "-b" command line option.  Such failures were fatal to dig back
then.

Commit 7f65860391 made
bind9_getaddresses() failures non-fatal, but also ensured that a
get_address() failure in send_tcp_connect() still causes the given query
address to be skipped (and also made such failures trigger an early
return from send_tcp_connect()).

Summing up, the code block handling address family mismatches in
send_tcp_connect() has been redundant since commit
c2ec022f57.  Remove it.

(cherry picked from commit ef1da8731b)
2019-01-08 11:24:03 +01:00
Michał Kępień 5c9106da2c Merge branch '315-track-forwarder-timeouts-in-fetch-contexts-v9_11' into 'v9_11'
[v9_11] Track forwarder timeouts in fetch contexts

See merge request isc-projects/bind9!1306
2019-01-08 05:00:06 -05:00
Michał Kępień 3ddb8337b3 Add CHANGES entry
5122.	[bug]		In a "forward first;" configuration, a forwarder
			timeout did not prevent that forwarder from being
			queried again after falling back to full recursive
			resolution. [GL #315]

(cherry picked from commit 1df9ca9e6a)
2019-01-08 08:34:37 +01:00