Commit Graph
10135 Commits
Author SHA1 Message Date
Michał KępieńandEvan Hunt 8b0f7f1b8d Apply raw zone deltas to yet unsigned secure zones
When inline signing is enabled for a zone without creating signing keys
for it, changes subsequently applied to the raw zone will not be
reflected in the secure zone due to the dns_update_signaturesinc() call
inside receive_secure_serial() failing.  Given that an inline zone will
be served (without any signatures) even with no associated signing keys
being present, keep applying raw zone deltas to the secure zone until
keys become available in an attempt to follow the principle of least
astonishment.

(cherry picked from commit 6acf326969)
(cherry picked from commit 8a58a60772)
(cherry picked from commit fcbdeed802)
2018-04-25 12:24:36 -07:00
Michał KępieńandEvan Hunt 0d4750a8e9 Only log bumped signed serial after a successful secure zone update
If a raw zone is modified, but the dns_update_signaturesinc() call in
receive_secure_serial() fails, the corresponding secure zone's database
will not be modified, even though by that time a message containing the
bumped signed serial will already have been logged.  This creates
confusion, because a different secure zone version will be served than
the one announced in the logs.  Move the relevant dns_zone_log() call so
that it is only performed if the secure zone's database is modified.

(cherry picked from commit cfbc8e264d)
(cherry picked from commit cdc7ab42b1)
(cherry picked from commit c042ec70d2)
2018-04-25 12:19:30 -07:00
Evan Hunt 0795311bce remove unnecessary comparison
(cherry picked from commit 8b1baa10ee)
(cherry picked from commit f9da5a735e)
2018-04-22 13:01:08 -07:00
Evan Hunt d0410a0783 silence warnings about unnecessary comparisons
- these are cases where result has been explicitly set, so
  if (result != ISC_R_SUCCESS) is unnecessary

(cherry picked from commit e00eb55cd2)
(cherry picked from commit 0dcff8f93c)
2018-04-22 13:01:08 -07:00
Evan Hunt d5456e7318 add header guards in files that were missing them
(cherry picked from commit 4247477b61)
(cherry picked from commit 7f61e9d50e)
2018-04-22 13:01:07 -07:00
Evan Hunt 54f07c3b1a fix shadowed global variables
(cherry picked from commit 9ca3ab1168)
(cherry picked from commit 694a1486ca)
2018-04-22 12:59:06 -07:00
Evan Hunt a3c1b18794 fix duplicate include guard in dnsconf.h
- IMHO we should consider removing dnsconf.c and deprecating the
  /etc/dns.conf file, though, as I don't think it's likely anyone
  is using it

(cherry picked from commit a08ba418ef)
(cherry picked from commit b9db91aa64)
2018-04-22 12:59:06 -07:00
Ondřej SurýandMark Andrews 3c2f6922f5 A couple of more cleanups after free in opensslrsa_generate()
(cherry picked from commit d2b3188c61)
2018-04-06 14:27:23 +10:00
Petr MensikandMark Andrews fcb5795560 Do not assign NULL conditionally in OpenSSL < 1.1, make it always explicit.
(cherry picked from commit edaafacf36)
2018-04-06 14:27:23 +10:00
Petr MensikandMark Andrews 3bce97740f Fix double free on RSA_generate_key_ex failure
(cherry picked from commit 01cc622e7b)
2018-04-06 14:27:22 +10:00
Mukund SivaramanandMark Andrews eb98f2759e Check return value of isc_mem_get()
(cherry picked from commit de3a4af1bf)
2018-03-20 09:56:09 +11:00
Evan Hunt ce137d2380 update file headers 2018-03-15 18:56:10 -07:00
Evan Hunt edb2282379 add an 'untested' case when none of the atomic operations are available
- this fixes a build failure introduced in change 4913 when
  compiling with ATF and --disable-atomic

(cherry picked from commit 1b3eac926e)
2018-03-15 12:09:45 -07:00
Evan Hunt 5a21193fdd update file headers 2018-03-15 11:30:37 -07:00
Ondřej Surý 9f830be501 update file headers to remove copyright years 2018-03-15 09:09:15 +01:00
Ondřej Surý b6fa2721d5 Fix whitespace 2018-03-14 12:46:56 +01:00
Evan Hunt 1beabb5bcb Fix compiler warnings and test failures when building without threads
(cherry picked from commit 56353aaf42)
2018-03-10 10:37:26 -08:00
Evan Hunt a6e5d9a2ca Merge branch 'clean-bin-tests-v9_9' into 'v9_9'
clean up bin/tests, convert unit tests to ATF

Closes #115

See merge request isc-projects/bind9!93
2018-03-09 23:52:26 -08:00
Evan Hunt e6c446bfba final cleanup
- update Kyuafiles to match Atffiles
- copyrights
- CHANGES note

(cherry picked from commit 86e00cbb71)
(cherry picked from commit 80834b5b90)
(cherry picked from commit 442c1530a3)
(cherry picked from commit 6fe8188cc3)
2018-03-09 23:35:02 -08:00
Evan Hunt a00618aee5 remove lib/tests as nothing uses it anymore
(cherry picked from commit d132f73497)
(cherry picked from commit d35f62434a)
(cherry picked from commit 941946cf14)
(cherry picked from commit ec55b0136a)
2018-03-09 23:23:18 -08:00
Evan Hunt 2591c077f0 migrate t_dst signature test to lib/dns/tests/dst_test
(cherry picked from commit a4ebe83cdb)
(cherry picked from commit 4439c471d1)
(cherry picked from commit 57a5820dcc)
(cherry picked from commit dbc21e4393)
2018-03-09 23:22:04 -08:00
Evan Hunt a11252dbbc migrate t_db to lib/dns/tests/db_test
(cherry picked from commit f58ac8ada3)
(cherry picked from commit 56da937399)
(cherry picked from commit d3518e57b1)
(cherry picked from commit c5dbc0b727)
2018-03-09 23:20:11 -08:00
Evan Hunt 28d62b0a31 migrate t_names to lib/dns/tests/name_test
(cherry picked from commit 8ecf69ef7b)
(cherry picked from commit aefad99e1e)
(cherry picked from commit b2fef3b438)
(cherry picked from commit 2893e982ed)
2018-03-09 23:19:11 -08:00
Evan Hunt 20da3cd7e7 migrate t_rbt to lib/dns/tests/rbt_test
(cherry picked from commit 109546cbda)
(cherry picked from commit c505afd183)
(cherry picked from commit 42fa3932ab)
(cherry picked from commit 4c6818ff8e)
2018-03-09 23:17:36 -08:00
Evan Hunt a73b843515 migrate t_tasks to lib/isc/tests/task_test
(cherry picked from commit c6c1e99252)
(cherry picked from commit 88bfe56876)
(cherry picked from commit 38f9cddcad)
(cherry picked from commit 430d35e332)
2018-03-09 23:15:10 -08:00
Evan Hunt 48c8aca49b migrate t_resolver to lib/dns/tests/resolver_test
(cherry picked from commit d80825c40b)
(cherry picked from commit 30e157f6e4)
(cherry picked from commit 5dd25f2285)
(cherry picked from commit 29474940ea)
2018-03-09 23:13:44 -08:00
Evan Hunt 6bd3de3615 migrate t_timers to lib/isc/tests/timer_test
(cherry picked from commit e2b8699df9)
(cherry picked from commit efccdad0ea)
(cherry picked from commit 274ee0b425)
(cherry picked from commit 5b477b2aa4)
2018-03-09 23:11:47 -08:00
Evan Hunt a6dcb138b5 migrate t_atomic to lib/isc/tests/atomic_test
(cherry picked from commit 874e2fc70c)
(cherry picked from commit c7fa56e8db)
(cherry picked from commit 492e19d6ec)
(cherry picked from commit 1200d6f072)
2018-03-09 23:09:54 -08:00
Evan Hunt d446bbb815 migrate t_mem to lib/isc/tests/mem_test
(cherry picked from commit 979f054702)
(cherry picked from commit af48544b75)
(cherry picked from commit 814cd21e22)
(cherry picked from commit 7014d0994b)
2018-03-09 23:07:40 -08:00
Evan Hunt 00bc2c2355 migrate t_net to lib/isc/tests
(cherry picked from commit 05b7251d51)
(cherry picked from commit af0c9b2cee)
(cherry picked from commit faedafd2b4)
(cherry picked from commit 67b63a3e10)
2018-03-09 23:03:56 -08:00
Evan Hunt 6b970316c8 migrate t_sockaddr to lib/isc/tests
(cherry picked from commit 62f650078a)
(cherry picked from commit fadb93cf43)
(cherry picked from commit 323e2f7152)
(cherry picked from commit b392c18f6e)
2018-03-09 23:03:11 -08:00
Evan Hunt 93db8ad693 Merge branch 'v9_9_12_patch' into v9_9 2018-03-08 14:30:46 -08:00
Michał Kępień 1ad85ff974 Remove duplicate irs_resconf_load() unit test
The "sortlist-v4.conf" unit test for irs_resconf_load() is always run
twice due to a duplicate entry in the "tests" table.  Remove one of them
to prevent this.

(cherry picked from commit 6c09f305ae)
2018-03-06 09:25:24 +01:00
Michał Kępień ca7cd80dd5 Do not ignore resolv.conf syntax errors
irs_resconf_load() stores the value returned by add_search() into ret
without consulting its current value first.  This causes any previous
errors raised while parsing resolv.conf to be ignored as long as any
"domain" or "search" statement is present in the file.

Prevent this by returning early in case an error is detected while
parsing resolv.conf.  Ensure that "searchlist" and "magic" members of
the created irs_resconf_t structure are always initialized before
isc_resconf_destroy() is called.

(cherry picked from commit 1f400b68a8)
2018-03-06 09:25:23 +01:00
Tinderbox User 7af73b918e prep 9.9.12rc2 2018-03-02 21:53:47 +00:00
Evan Hunt ce1114a95a temporarily revert change #4859
(cherry picked from commit 06b52cc939)
2018-03-02 12:18:03 -08:00
Evan Hunt 7e2d361355 temporarily revert change #4859
(cherry picked from commit 84ec07999f)
2018-03-02 12:04:33 -08:00
Mark Andrews 7d459e36be update printf format to match type
(cherry picked from commit 48ca11df5f)
(cherry picked from commit 9a0373b896)
2018-02-26 10:58:11 +11:00
Mark Andrews 6d2ddd3c49 improve the conditional declaration and use of variable to silence cppcheck
(cherry picked from commit a04bb76973)
(cherry picked from commit 8e046acb50)
2018-02-26 10:58:09 +11:00
Mark Andrews e76df9d04f silence unread assignment warning by using POST macro
(cherry picked from commit e8249dcd49)
(cherry picked from commit cdb6c5c106)
2018-02-26 10:54:19 +11:00
Mark Andrews 750467e284 update the sscanf format strings so they match the pointer types
(cherry picked from commit 70d192eb97)
(cherry picked from commit 06b7a4397a)
2018-02-26 10:54:19 +11:00
Mark Andrews d65c60d894 redefine CHECK so cppcheck see the definition
(cherry picked from commit a4186b1867)
(cherry picked from commit d17558a874)
2018-02-26 10:54:18 +11:00
Mark Andrews 7c3734f920 adjust goto target and conditional compilation so that cleanup_spillattimer and cleanup_alglock labels match the element to be cleanup and so that they are always used
(cherry picked from commit 7b27be54ee)
(cherry picked from commit 981d548a66)
2018-02-26 10:54:18 +11:00
Evan Hunt 7677cb277a final cleanup
- add CHANGES note
- update copyrights and license headers
2018-02-25 13:13:26 -08:00
Evan Hunt ae6c141f7b tidying up after backport
(cherry picked from commit 854f7846d8)
(cherry picked from commit 6653dcab3d)
2018-02-25 13:10:00 -08:00
Petr MenšíkandEvan Hunt 3727e6a944 unit/unittest.sh is generated by configure. It will always be
generated into builddir. If out-of-tree build is used, make unit
will always fail. Kyuafiles and testdata still have to be copied
manually into the builddir.

(cherry picked from commit 95cde3608a)
(cherry picked from commit 6d9b38e9fe)
(cherry picked from commit 6f2fd5ccca)
2018-02-23 15:51:50 -08:00
Petr MenšíkandEvan Hunt 07b6ddd178 Reuse new function from rt46864 for similar block elsewhere.
(cherry picked from commit e7a93321f0)
(cherry picked from commit cb98ce8e67)
(cherry picked from commit 6876501605)
(cherry picked from commit 16ea60d8cc)
2018-02-23 13:57:56 -08:00
Michał Kępień 13cc08ea67 Do not recheck DNS_ZONEFLG_LOADPENDING in zone_asyncload()
Remove a block of code which dates back to commit 8a2ab2b920, when
dns_zone_asyncload() did not yet check DNS_ZONEFLG_LOADPENDING.
Currently, no race in accessing DNS_ZONEFLG_LOADPENDING is possible any
more, because:

  - dns_zone_asyncload() is still the only function which may queue
    zone_asyncload(),

  - dns_zone_asyncload() accesses DNS_ZONEFLG_LOADPENDING under a lock
    (and potentially queues an event under the same lock),

  - DNS_ZONEFLG_LOADPENDING is not cleared until the load actually
    completes.

Thus, the rechecking code can be safely removed from zone_asyncload().

Note that this also brings zone_asyncload() to a state in which the
completion callback is always invoked.  This is required to prevent
leaking memory in case something goes wrong in zone_asyncload() and a
zone table the zone belongs to is indefinitely left with a positive
reference count.
2018-02-16 09:03:27 +01:00
Michał Kępień b38c5d2840 Asynchronous zone load events have no way of getting canceled
Code handling cancellation of asynchronous zone load events was likely
copied over from other functions when asynchronous zone loading was
first implemented in commit 8a2ab2b920.  However, unlike those other
functions, asynchronous zone loading events currently have no way of
getting canceled once they get posted, which means the aforementioned
code is effectively dead.  Remove it to prevent confusion.
2018-02-16 09:03:27 +01:00
Michał Kępień ec51b6d3d4 Only clear DNS_ZONEFLG_LOADPENDING in zone_asyncload() if zone loading is completed immediately
zone_load() is not always synchronous, it may only initiate an
asynchronous load and return DNS_R_CONTINUE, which means zone loading
has not yet been completed.  In such a case, zone_asyncload() must not
clear DNS_ZONEFLG_LOADPENDING immediately and leave that up to
zone_postload().
2018-02-16 09:03:27 +01:00