Commit Graph
8466 Commits
Author SHA1 Message Date
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
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
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 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 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
Tony FinchandMark Andrews 81408256d3 cleanup: alphabetize rndc command dispatch 2019-01-14 13:02:02 +11: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 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
Mark AndrewsandEvan Hunt 24f7bc252d wait longer for dump to complete
(cherry picked from commit 8a8d378def)
2019-01-08 20:18:26 -08: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ń 3db9f56718 Track forwarder timeouts in fetch contexts
Since following a delegation resets most fetch context state, address
marks (FCTX_ADDRINFO_MARK) set inside lib/dns/resolver.c are not
preserved when a delegation is followed.  This is fine for full
recursive resolution but when named is configured with "forward first;"
and one of the specified forwarders times out, triggering a fallback to
full recursive resolution, that forwarder should no longer be consulted
at each delegation point subsequently reached within a given fetch
context.

Add a new badnstype_t enum value, badns_forwarder, and use it to mark a
forwarder as bad when it times out in a "forward first;" configuration.
Since the bad server list is not cleaned when a fetch context follows a
delegation, this prevents a forwarder from being queried again after
falling back to full recursive resolution.  Yet, as each fetch context
maintains its own list of bad servers, this change does not cause a
forwarder timeout to prevent that forwarder from being used by other
fetch contexts.

(cherry picked from commit 33350626f9)
2019-01-08 08:34:37 +01:00
Mark Andrews cc9ece19e3 indenting
(cherry picked from commit c69ad95238)
2019-01-02 11:51:52 +11:00
Mark Andrews 84527eb4d5 update copyrights 2019-01-02 10:26:49 +11:00
Ondřej Surý c116fb963a Fix ECC algorithms unused constants in PKCS#11 build 2018-12-21 09:29:47 +01:00
Matthijs Mekking bb2c242c39 Remove dig_with_opts 2018-12-20 15:23:07 +01:00
Matthijs MekkingandOndřej Surý 0e9a8da68c Replace DSA with Reserved algorithm
(cherry picked from commit 17cdde1e56)
2018-12-20 04:50:08 -05:00
Matthijs MekkingandOndřej Surý 9f81119c02 Add dnssec-signzone tests with unsupported alg
dnssec-signzone should sign a zonefile that contains a DNSKEY record
with an unsupported algorithm.

(cherry picked from commit 6d976b37c1)
(cherry picked from commit 8619318a1e6207e487438a93bd7a620967091347)
2018-12-20 04:50:08 -05:00
Ondřej Surý c1c10ca2b9 Properly detect msys/msys2 environment in the stop.pl script.
(cherry picked from commit 808dac0760)
2018-12-19 21:31:41 +01:00
Ondřej Surý 11cce88a41 gcc defines __SANITIZE_ADDRESS__ and not __ADDRESS_SANITIZER__, use the correct #define
(cherry picked from commit 8903d68d69)
2018-12-19 12:46:05 +01:00
Ondřej Surý 8fbd61343a Disable RTLD_DEEPBIND when compiled under AddressSanitizer
(cherry picked from commit cad6b39cab)
2018-12-19 10:51:09 +01:00
Ondřej Surý b9e16f3475 Revert "Merge branch '782-cygwin-grep-CRLF-issue-v9_12-v9_11' into 'v9_11'"
This reverts commit b644eb672b, reversing
changes made to 3b302c58e2.
2018-12-17 12:44:24 +01:00
Curtis BlackburnandEvan Hunt 5641664f91 minor fixes to dns64 and rndc CRLF fix. rpzrecurse failure will be addressed in a separate issue 2018-12-14 19:45:42 -08:00
Curtis BlackburnandEvan Hunt d9fe816644 more CRLF fixes (dns64) 2018-12-14 19:45:38 -08:00
Curtis BlackburnandEvan Hunt 99fcbcf904 digdelv test fixed for CRLF issue 2018-12-14 19:45:37 -08:00
Curtis BlackburnandEvan Hunt ddee74194c windows CRLF issues fixed in builtin test 2018-12-14 19:45:34 -08:00
Mark Andrews 7aecb8b1fd pass the correct object to cfg_obj_log
(cherry picked from commit 53a33f7365)
2018-12-15 09:38:42 +11:00
Mark Andrews 637e3c4c4b check that DNSKEY and other occluded data are excluded from the delegating bitmap
(cherry picked from commit 7e4b82103b)
2018-12-14 14:44:18 +11:00
Mark Andrews 587c81ac99 create dns_rdatatype_atcname to split records that can appear along side CNAME from DNSSEC; dns_rdatatype_iszonecutauth allowed too many types
(cherry picked from commit f4ceb12b69)
2018-12-14 14:29:46 +11:00
Mark Andrews c5f85f808c check that the time between notify messages is not too small
(cherry picked from commit 47a4e0eeaa)
2018-12-12 10:24:23 +11:00
Mark AndrewsandOndřej Surý e5e1957a8f use typebuf and classbuf 2018-12-11 12:26:25 +01:00
Mark AndrewsandOndřej Surý 1d33b62405 update rpzrecurse for RPZ_LOG_QTYPE_QCLASS 2018-12-11 12:26:25 +01:00
Mark AndrewsandOndřej Surý dc49ce1cd0 log RPZ type and class
(cherry picked from commit 28442f11f0)
2018-12-11 06:24:08 -05:00
Evan Hunt c47a301c0c add missing -r $RANDFILE 2018-12-11 01:23:33 -05:00
Mark AndrewsandEvan Hunt 940a0f2003 allow a small about of time for the syncptr event to be processed
(cherry picked from commit 3bca52ca07)
2018-12-10 09:07:59 -08:00
Michał KępieńandMark Andrews f0004e120d Check that DNAME is not treated as a delegation when signing
(cherry picked from commit adbca54079)
2018-12-10 17:48:17 +11:00
Mark Andrews ccac107ded verify that auto-dnssec maintain generates and signs NSEC3 records with DNAME at the apex
(cherry picked from commit 6b470bbf42)
2018-12-10 17:48:17 +11:00
Mark Andrews 4731ee6ae1 verify that dnssec-signzone generates NSEC3 records with DNAME at the apex
(cherry picked from commit 06e218c421)
2018-12-10 17:29:29 +11:00
Mark Andrews f8dc30d18b Properly detect bottom of zone when sign_a_node() is not called
(cherry picked from commit 9eec02a81f)
2018-12-07 12:20:09 +11:00
Andreas HasenackandMark Andrews ab80e26381 add -U to preparse and usage
(cherry picked from commit 665618698e)
2018-12-07 08:40:36 +11:00
Mark Andrews e1f49ba977 add more error logging; add event processing logging
(cherry picked from commit 6a5c8ec2ea)
2018-12-06 11:33:36 +11:00
Ondřej Surý ca391cd085 Change the default algorithm to RSASHA256 and the alternative algorithm to RSASHA1 as those are always supported 2018-12-05 21:56:15 +01:00
Ondřej Surý 28560fd280 Add DNSKEY and CDNSKEY with unknown algorithm number (PRIVATEDNS) and \0 as content
(cherry picked from commit 00cc0b236a)
2018-12-05 20:45:57 +01:00
Ondřej Surý f492efe680 Refactor masterformat to be shellcheck clean and don't use RSAMD5 algorithm in the tests
(cherry picked from commit b13c7ca402)
2018-12-05 20:45:50 +01:00
Ondřej Surý fc9e2a1a75 Make the start.pl and stop.pl more Cygwin friendly
(cherry picked from commit 835bad2c5c)
2018-12-04 15:31:50 +01:00
Ondřej Surý 948104ee5a Replace realpath with cd&pwd shell magic 2018-12-03 20:45:16 +01:00
Ondřej Surý 337c87faad Add extra .gitignore to lwresd test 2018-12-03 20:45:16 +01:00
Ondřej Surý 4344a7e599 Make run.sh and runall.sh executable 2018-12-03 20:45:16 +01:00
Ondřej Surý 08fa20bf54 Re-add functionality to handle lwresd from {start,stop}.pl 2018-12-03 20:45:16 +01:00