Commit Graph
10965 Commits
Author SHA1 Message Date
Mark AndrewsandEvan Hunt 7f31e67c16 CHANGES, copyright
(cherry picked from commit f7d346357e)
2018-06-26 09:04:48 -07:00
Mark AndrewsandEvan Hunt 665f9093d2 construct a symtab of valid in-view targets then check that the target exists
(cherry picked from commit e01a4bcb20)
2018-06-26 09:03:47 -07:00
Mukund SivaramanandMark Andrews 82d5a44dfd Patch in trailing nul character to print just the length label (for various cases below)
(cherry picked from commit 6a756ab654)
2018-06-25 17:33:15 +10:00
Mark Andrews 537e3a0a14 fix casecompare return type for ninfo, tkey, txt
(cherry picked from commit 3ba1d1e43b)
2018-06-25 13:08:47 +10:00
Mark Andrews 77496f0b88 the client cookie was being hashed twice when computing the server cookie for sha1 and sha256
(cherry picked from commit 4795f0ca89)
2018-06-22 17:45:02 +10:00
Evan HuntandOndřej Surý 87344e3493 prepare 9.12.1rc1 2018-06-21 18:46:32 +02:00
Mark AndrewsandMichał Kępień d4c55dae8e Declare the 'rdata' argument for dns_rdata_tostruct() to be const
(cherry picked from commit abb2fd1027)
2018-06-15 08:52:28 +02:00
Evan HuntandOndřej Surý be145bc8b6 add a regression test for default allow-recursion settings 2018-06-14 14:45:56 +02:00
Michał Kępień b39edab59b Reimplement all zone logging functions using dns_zone_logv()
In order to decrease code duplication, express the logic contained in
all zone logging functions using dns_zone_logv() calls.

(cherry picked from commit 5c03cd339e)
2018-06-11 12:50:11 +02:00
Michał Kępień 75959cb369 Add dns_zone_logv()
Add a new libdns function, dns_zone_logv(), which takes a single va_list
argument rather than a variable number of arguments and can be used as a
base for implementing more specific zone logging functions.

(cherry picked from commit bb2dfb3f49)
2018-06-11 12:50:11 +02:00
Evan Hunt f7f20b1202 improve readability of radix code
- use RADIX_V4, RADIX_V6, RADIX_V4_ECS, and RADIX_V6_ECS as array
  indices instead of 0 through 3.
- remove some unused macros
2018-06-08 11:55:53 -07:00
Evan Hunt 86787d0ad1 ensure that we attempt to validate glue if it's signed
- incidentally fixed a bug in the dnssec system test where TTLs in the
  answer section rather than the additional section were being checked

(cherry picked from commit 8d923a05a9)
2018-06-08 11:49:34 -07:00
Mark Andrews 323a2edfc2 add cfg_parse_buffer4
(cherry picked from commit b313084af2)
2018-06-08 17:40:16 +10:00
Mukund SivaramanandMark Andrews 2930507357 Add a answer-cookie named config option 2018-06-08 16:34:29 +10:00
Mark Andrews 60a703550e Add support for marking a option as deprecated.
(cherry picked from commit befff9452c)
2018-06-08 15:55:56 +10:00
Witold Kręcicki 2e1a704378 Don't fetch DNSKEY when fuzzing resolver
(cherry picked from commit cb3208aa43)
2018-06-06 15:50:33 +02:00
Mark Andrews 69340b5ac5 add support -T sigvalinsecs
(cherry picked from commit 87a3dc8ab9)
2018-06-06 17:05:43 +10:00
Mark Andrews c1e342cedb only sign with other keys when deleting a key if there are not already existing signature for the deleted algorithm
(cherry picked from commit 0667bf7ae7)
2018-06-06 16:54:03 +10:00
Mukund SivaramanandMark Andrews 8af1d5916f Add NSEC3 fromtext/totext unittests
(cherry picked from commit b0d9198e03)
2018-06-04 13:01:18 +10:00
Mukund SivaramanandMark Andrews ac7c74425e Don't insert 2nd space between NSEC3 nexthash and typemap fields
(cherry picked from commit d4ea1edd2c)
2018-06-04 13:01:18 +10:00
Tony FinchandEvan Hunt c4494458ae Move serve-stale logging to its own category, so that its verbosity can be curtailed.
(cherry picked from commit 4b442c309d)
2018-05-28 17:25:38 -07:00
Mark Andrews 3bbcba405b work around cppcheck false positive
(cherry picked from commit cb5802e854)
2018-05-29 09:44:02 +10:00
Evan Hunt 61de568197 copyrights 2018-05-23 09:52:09 -07:00
Evan Hunt 3de0910bc7 Detect recursion loops during query processing
Interrupt query processing when query_recurse() attempts to ask the same
name servers for the same QNAME/QTYPE tuple for two times in a row as
this indicates that query processing may be stuck for an indeterminate
period of time, e.g. due to interactions between features able to
restart query_lookup().

(cherry picked from commit d1de99bc587480eb51a38b23c8aaf4d34c0c92d2)
2018-05-21 09:59:41 -07:00
Evan Hunt f6884e0ca5 Prevent check_stale_header() from leaking rdataset headers
check_stale_header() fails to update the pointer to the previous header
while processing rdataset headers eligible for serve-stale, thus
enabling rdataset headers to be leaked (i.e. disassociated from a node
and left on the relevant TTL heap) while iterating through a node.  This
can lead to several different assertion failures.  Add the missing
pointer update.

(cherry picked from commit cf9cb7cd0013610c8978808aab9d6bae9fe57a4b)
2018-05-21 09:58:44 -07:00
Mark Andrews 24bb79f9fc ISC_SOCKEVENTATTR_TRUNC was not be set
(cherry picked from commit 6bff1768cf)
2018-05-18 15:59:14 +10:00
Mukund SivaramanandEvan Hunt 84640d2e04 Fix ARM about min-update-interval default for RPZ zones
Also, use variable names consistent with catz for rpz configuration functions

(cherry picked from commit 975afc508d)
2018-05-17 20:23:08 -07:00
Mark Andrews d03a81c265 look for '\0' 2018-05-18 12:17:31 +10:00
Mark Andrews f5233ba5de add some %f format tests 2018-05-18 12:17:31 +10:00
Mark Andrews de2d23db2a alphabetize and remove ISCPK11LIBS 2018-05-17 16:32:43 +10:00
Mukund SivaramanandOndřej Surý 753d0aee03 Don't validate non-pending glue when adding to the additional section
(cherry picked from commit 31bd3147d1)
2018-05-16 08:29:25 +02:00
Michał Kępień 18824a084b isc_buffer_*(): if source can be NULL, only call memmove() when length is non-zero
Certain isc_buffer_*() functions might call memmove() with the second
argument (source) set to NULL and the third argument (length) set to 0.
While harmless, it triggers an ubsan warning:

    runtime error: null pointer passed as argument 2, which is declared to never be null

Modify all memmove() call sites in lib/isc/include/isc/buffer.h and
lib/isc/buffer.c which may potentially use NULL as the second argument
(source) so that memmove() is only called if the third argument (length)
is non-zero.

(cherry picked from commit 6ddbca6f2b)
2018-05-15 09:28:17 +02:00
Michał Kępień 046f10ae99 dns_rdataslab_merge(): use dns_rdata_compare() instead of compare_rdata()
compare_rdata() was meant to be used as a qsort() callback.  Meanwhile,
dns_rdataslab_merge() calls compare_rdata() for a pair of dns_rdata_t
structures rather than a pair of struct xrdata structures, which is
harmless, but triggers an ubsan warning:

    rdataslab.c:84:33: runtime error: member access within address <address> with insufficient space for an object of type 'const struct xrdata'

Use dns_rdata_compare() instead of compare_rdata() to prevent the
warning from being triggered.

(cherry picked from commit 9bc6ba0be9)
2018-05-15 09:28:17 +02:00
Michał Kępień f26ae1ea9f Extend the list of headers included by lib/dns/tests/sigs_test.c
(cherry picked from commit f98e145c5b)
2018-05-14 09:31:18 +02:00
Mark AndrewsandMichał Kępień 8d93b77c31 return untested if not built with OPENSSL or PKCS11CRYPTO
(cherry picked from commit 2420320b96)
2018-05-14 09:31:18 +02:00
Ondřej Surý c35de9b383 Remove $Id markers, Principal Author and Reviewed tags from the full source tree
(cherry picked from commit 55a10b7acd)
2018-05-11 14:19:35 +02:00
Mark AndrewsandMichał Kępień 438395086c silence cppcheck portability warning
(cherry picked from commit 6aae115d15)
2018-05-11 08:30:13 +02:00
Mukund SivaramanandMark Andrews 224244227c Don't keep around debuglist structs when done
(cherry picked from commit 3adcc033f6)
2018-05-11 11:29:58 +10:00
Mukund SivaramanandMark Andrews 36277f7a63 Reduce number of buckets in tracklines debuglink table
With 1044 res contexts, each with 65536 debuglink structs of 16 bytes
each, the debuglink table itself was consuming 1GB+ of memory.

(cherry picked from commit b9886abd86)
2018-05-11 11:29:58 +10:00
Michał Kępień 6e26fab6b8 Address GCC 8 -Wformat-truncation warnings
(cherry picked from commit 172d0c401e)
2018-05-10 10:52:00 +02:00
Evan Hunt b1ef7d8ecd Merge branch '135-add-basic-unit-tests-for-update_sigs' into 'v9_12'
Add basic unit tests for update_sigs()

Closes #135

See merge request isc-projects/bind9!112
2018-05-10 00:02:06 -07:00
Michał KępieńandEvan Hunt 3e93e4bb62 Define basic test cases for dns__zone_updatesigs()
Add some basic test cases ensuring dns__zone_updatesigs() behaves as
expected.

(cherry picked from commit 8b9d2c27b4)
2018-05-10 00:01:41 -07:00
Michał KępieńandEvan Hunt 3dde7c42db Add a framework for dns__zone_updatesigs() unit tests
Add a new ATF test, sigs_test, containing everything required to start
defining test cases for dns__zone_updatesigs().  The framework is
written in a way which ensures that changes to zone database applied by
any dns__zone_updatesigs() invocation are preserved between subsequent
checks.

(cherry picked from commit 1f10186476)
2018-05-10 00:01:41 -07:00
Michał KępieńandEvan Hunt fc0e99c7d7 Move find_zone_keys() to lib/dns/zone_p.h
Rename find_zone_keys() to dns__zone_findkeys() and move it to
lib/dns/zone_p.h, so that it can be used in unit tests.  Add a comment
describing the purpose of this function.

(cherry picked from commit d7143986b1)
2018-05-10 00:01:41 -07:00
Michał KępieńandEvan Hunt 4d06f50ba8 Move update_sigs() to lib/dns/zone_p.h
Rename update_sigs() to dns__zone_updatesigs() and move it to
lib/dns/zone_p.h, so that it can be unit tested.  Add a comment
describing the purpose of this function.

(cherry picked from commit b1947cee82)
2018-05-10 00:01:38 -07:00
Michał KępieńandEvan Hunt ea15c54d8a Move zonediff_t to lib/dns/zone_p.h
Rename zonediff_t to dns__zonediff_t and move it to lib/dns/zone_p.h, so
that unit tests can be written for functions taking pointers to
structures of this type as arguments.

(cherry picked from commit ace465a9f9)
2018-05-10 00:00:31 -07:00
Michał KępieńandEvan Hunt 2b0add6d1a Add lib/dns/zone_p.h
Add a new private header file, lib/dns/zone_p.h, which will hold type
definitions and function prototypes not meant to be exported by libdns,
but required by zone-related unit tests.

(cherry picked from commit c1bc3be806)
2018-05-10 00:00:31 -07:00
Michał KępieńandEvan Hunt d4c603eb8a Add a helper function to facilitate preparing dns_diff_t structures
Implement dns_test_difffromchanges(), a function which enables preparing
a dns_diff_t structure from a mostly-textual representation of zone
database changes to be applied.  This will improve readability of test
case definitions by allowing contents of a dns_diff_t structure, passed
e.g. to update_sigs(), to be represented in a human-friendly manner.

(cherry picked from commit 3c22af0d35)
2018-05-10 00:00:31 -07:00
Michał KępieńandEvan Hunt 107102d333 Rename dns_test_rdata_fromstring() to dns_test_rdatafromstring()
Remove the underscore from "rdata_fromstring" so that all helper
functions for libdns tests use a common naming covention.

(cherry picked from commit 2980cbd55f)
2018-05-10 00:00:31 -07:00
Michał KępieńandEvan Hunt f70c02d2c2 Rework dns_test_makezone()
The dns_test_makezone() helper function always assigns the created zone
to some view, which is not always necessary and complicates cleanup of
non-managed zones as they are required not to be assigned to any view.

Rework dns_test_makezone() in order to make it easier to use in unit
tests operating on non-managed zones.  Use dns_name_fromstring() instead
of dns_name_fromtext() to simplify code.  Do not use the CHECK() macro
and add comments to make code flow simpler to follow.  Use
dns_test_makeview() instead of dns_view_create().

Adjust existing unit tests using this function so that they still pass.

(cherry picked from commit bfbeef3609)
2018-05-10 00:00:31 -07:00