Commit graph

10900 commits

Author SHA1 Message Date
Michał Kępień
8e3c16175a Make dns_dt_reopen() request task-exclusive mode on its own
Instead of relying on the caller to set up task-exclusive mode, make
dns_dt_reopen() enforce task-exclusive mode itself, using the task
specified at dnstap environment creation time.
2018-02-16 09:39:24 +01:00
Michał Kępień
f199a5a9ae Add dns_dt_create2()
Implement a new variant of dns_dt_create() to enable a dnstap
environment structure to hold the task in the context of which
dns_dt_reopen() will be executed.
2018-02-16 09:39:24 +01:00
Mark Andrews
f181b30918 add POST(len); 2018-02-16 10:20:39 +11:00
Mark Andrews
2e83674170 conditionally declare stacksize 2018-02-16 10:20:39 +11:00
Mark Andrews
801cef9684 add POST(len); 2018-02-16 10:20:39 +11:00
Mark Andrews
99d02c6531 Clarify calculation precedence for '&' and '?' 2018-02-16 10:20:39 +11:00
Mark Andrews
a46e90b2b7 add POST(tl) 2018-02-16 10:20:39 +11:00
Mark Andrews
acdecd4636 test for == 0 rather than <= as value is unsigned 2018-02-16 10:20:39 +11:00
Mark Andrews
a7eb3b3b76 use %u instead of %d 2018-02-16 10:20:39 +11:00
Mark Andrews
4528297486 use %u instead of %d 2018-02-16 10:20:39 +11:00
Mark Andrews
8f8ce953ce use %u instead of %d 2018-02-16 10:20:39 +11:00
Mark Andrews
fc38731c85 use %u instead of %d 2018-02-16 10:20:39 +11:00
Mark Andrews
1eb1eaac94 use %u instead of %d 2018-02-16 10:20:39 +11:00
Mark Andrews
b492700759 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
54275e8f5c use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
c7e848ce54 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
1cdb19eaae use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
5bc9ede092 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
e632696a6d case to unsigned; reorder expression 2018-02-16 10:20:38 +11:00
Mark Andrews
500248b6c1 simplify expression 2018-02-16 10:20:38 +11:00
Mark Andrews
97d4a1eaf5 use %u and preserve unsigned property 2018-02-16 10:20:38 +11:00
Mark Andrews
b5167607ef make declaration and use of setnocookie fully conditional 2018-02-16 10:20:38 +11:00
Mark Andrews
6bd6bd6d62 cast to unsigned 2018-02-16 10:20:38 +11:00
Mark Andrews
78ad353491 preserve unsigned property 2018-02-16 10:20:38 +11:00
Mark Andrews
c23eef5ff1 make both arguments of & unsigned 2018-02-16 10:20:38 +11:00
Mark Andrews
b513bbe9ff use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
34a4d241c6 shift unsigned (~0U) rather than signed (~0) contant 2018-02-16 10:20:38 +11:00
Mark Andrews
75a291e541 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
dc3951c800 unsigned constants 2018-02-16 10:20:38 +11:00
Mark Andrews
9520cf8559 unsigned constants 2018-02-16 10:20:38 +11:00
Mark Andrews
0f8b0dc5d4 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
eaddb0c686 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
b234797536 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
2b803b3463 prevent implict conversion to signed 2018-02-16 10:20:38 +11:00
Mark Andrews
4a3c1fb45e use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
7d375efaea INSIST ipnum6 != NULL 2018-02-16 10:20:38 +11:00
Mark Andrews
898d7e99a9 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
a8fa4a9e42 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
b1b9257c8f test for >= 0 and use %d instead of %u 2018-02-16 10:20:38 +11:00
Mark Andrews
17d971a405 formally cast to int; use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
8aff92c150 formally cast to int 2018-02-16 10:20:38 +11:00
Michał Kępień
3abc7bf264 Merge branch 'fix-loadpending-handling' into 'master'
Fix DNS_ZONEFLG_LOADPENDING handling

See merge request isc-projects/bind9!22
2018-02-15 16:18:32 -05:00
Evan Hunt
883a9485e9 [master] copyrights 2018-02-15 11:56:13 -08:00
Michał Kępień
f5079bb877 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-15 20:31:54 +01:00
Michał Kępień
b9e9361c7b 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-15 20:31:53 +01:00
Michał Kępień
29b7efdd9f 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-15 20:31:51 +01:00
Michał Kępień
0e4fba2ced Lock zone before checking whether its asynchronous load is already pending
While this is not an issue in named, which only calls
dns_zone_asyncload() from task-exclusive mode, this function is exported
by libdns and thus may in theory be concurrently called for the same
zone by multiple threads.  It also does not hurt to be consistent
locking-wise with other DNS_ZONEFLG_LOADPENDING accesses.
2018-02-15 20:31:49 +01:00
Petr Menšík
e7a93321f0 Reuse new function from rt46864 for similar block elsewhere. 2018-02-15 12:42:33 +01:00
Ondřej Surý
4ff2d36adc Remove whole unused ondestroy callback mechanism 2018-02-12 14:49:32 +01:00
Evan Hunt
b252549e5a [rt43670] more emphatic warning 2018-02-09 12:28:49 +11:00
Mark Andrews
baef0ca988 4889. [func] Warn about the use of old root keys without the new
root key being present.  Warn about dlv.isc.org's
                        key being present. Warn about both managed and
                        trusted root keys being present. [RT #43670]
2018-02-09 12:04:45 +11:00
Tinderbox User
02ce048c91 update copyright notice / whitespace 2018-02-08 23:46:17 +00:00
Mark Andrews
6757dc6488 [master] fix nsupdate test on windows
4888.	[test]		Initialize sockets correctly in sample-update so
			that nsupdate system test will will run on Windows.
			[RT #47097]
2018-02-08 13:34:43 -08:00
Tinderbox User
2fac9b0be6 update copyright notice / whitespace 2018-02-07 23:45:53 +00:00
Mark Andrews
ec771bbdc8 4885. [security] update-policy rules that otherwise ignore the name
field now require that it be set to "." to ensure
                        that any type list present is properly interpreted.
                        [RT #47126]
2018-02-07 13:34:02 +11:00
Tinderbox User
b3fc795f4d update copyright notice / whitespace 2018-02-05 23:46:13 +00:00
Michał Kępień
af1937c35a [master] Prevent crashing due to a race during server shutdown
4884.	[bug]		named could crash on shutdown due to a race between
			shutdown_server() and ns__client_request(). [RT #47120]
2018-02-05 20:24:14 +01:00
Tinderbox User
5fdca0da2f update copyright notice / whitespace 2018-02-01 23:46:26 +00:00
Michał Kępień
a3c2b8831e [master] Silence compiler warnings about comparisons between signed and unsigned integers [RT #46980] 2018-02-01 21:28:47 +01:00
Tinderbox User
ffac31097d update copyright notice / whitespace 2018-01-30 23:45:59 +00:00
Mark Andrews
7817caa3c7 4882. [bug] Address potential memory leak in
dns_update_signaturesinc. [RT #47084]
2018-01-30 15:27:22 +11:00
Mark Andrews
a64503c736 4881. [bug] Only include dst_openssl.h when OpenSSL is required.
[RT #47068]
2018-01-30 15:21:02 +11:00
Mark Andrews
d26f90241d 4880. [bug] Named wasn't returning the target of a cross zone
CNAME between to served zones when recursion was
                        desired and available (RD=1, RA=1). Don't return
                        the CNAME target otherwise to prevent accidental
                        cache poisoning. [RT #47078]
2018-01-30 13:10:06 +11:00
Mark Andrews
3ae586b857 4879. [bug] dns_rdata_caa:value_len is was small. [RT #47086] 2018-01-30 10:58:56 +11:00
Tinderbox User
47d13972e9 update copyright notice / whitespace 2018-01-24 23:46:02 +00:00
Evan Hunt
52043a7204 [master] change uint to isc_uint 2018-01-24 11:03:05 -08:00
Evan Hunt
7dd2d7f329 [master] update 9.11 api range 2018-01-24 10:22:59 -08:00
Mark Andrews
8b440753b6 [master] address overflow in retry backoff
4877.	[bug]		Address integer overflow when exponentially
			backing off retry intervals. [RT #47041]
2018-01-24 09:45:01 -08:00
Mark Andrews
b575c4ec42 4876. [bug] Address deadlock with accessing a keytable. [RT #47000] 2018-01-24 18:55:56 +11:00
Mark Andrews
99178b6329 4875. [bug] Address compile failures on older systems. [RT #47015] 2018-01-24 13:10:14 +11:00
Mark Andrews
83d005de61 4874. [bug] Wrong time display when reporting new keywarntime.
[RT #47042]
2018-01-24 07:59:07 +11:00
Tinderbox User
3fda67b596 update copyright notice / whitespace 2018-01-22 23:46:02 +00:00
Evan Hunt
ebdeea564c [master] fix test failure by sorting "type" to the top of zone clauses 2018-01-22 13:18:50 -08:00
Evan Hunt
0405014c66 [master] silence warning 2018-01-22 13:07:24 -08:00
Evan Hunt
a2a90a71a3 [master] fix unresolved externals for win32 2018-01-22 11:45:33 -08:00
Evan Hunt
129c4414cb [master] automatically generate named.conf grammars for the ARM
4873.	[doc]		Grammars for named.conf included in the ARM are now
			automatically generated by the configuration parser
			itself.  As a side effect of the work needed to
			separate zone type grammars from each other, this
			also makes checking of zone statements in
			named-checkconf more correct and consistent.
			[RT #36957]
2018-01-22 11:06:32 -08:00
Mukund Sivaraman
8a4ce20172 Don't permit loading meta RR types such as TKEY from master files (#47009) 2018-01-22 14:26:04 +05:30
Tinderbox User
38a9d9ba76 update copyright notice / whitespace 2018-01-21 23:45:57 +00:00
Mark Andrews
af034ef188 silence clang static analyser warning. [RT #46881] 2018-01-22 09:47:53 +11:00
Mark Andrews
fdd8838bf9 4869. [bug] Address some cases where NULL with zero length could
be passed to memmove which is undefined behaviour and
                        can lead to bad optimisation. [RT #46888]
2018-01-22 09:36:12 +11:00
Tinderbox User
8b8c2990d6 update copyright notice / whitespace 2018-01-17 23:45:56 +00:00
Francis Dupont
30e96c7709 bcmp -> memcmp 2018-01-17 15:31:33 +01:00
Francis Dupont
614d838acf Merged rt46864 (check MD5 amd SHA1 support) 2018-01-17 14:33:21 +01:00
Tinderbox User
3d2a6c9949 update copyright notice / whitespace 2018-01-16 23:45:57 +00:00
Michał Kępień
73819362d8 [master] Simplify handling isc_socket_sendto2() return values when flags == 0
4865.	[cleanup]	Simplify handling isc_socket_sendto2() return values.
			[RT #46986]
2018-01-16 08:33:30 +01:00
Tinderbox User
ed9fea3a6e update copyright notice / whitespace 2018-01-15 23:46:16 +00:00
Michał Kępień
ae51a676c9 [master] Ensure all master definitions in a catalog zone contain an IP address
4864.	[bug]		named acting as a slave for a catalog zone crashed if
			the latter contained a master definition without an IP
			address. [RT #45999]
2018-01-15 20:50:09 +01:00
Mark Andrews
fa22351a7c silence coverity false positive. [RT #46841] 2018-01-15 12:02:41 +11:00
Tinderbox User
5ce167be2e update copyright notice / whitespace 2018-01-12 23:45:54 +00:00
Mukund Sivaraman
f96133826e Fix various bugs reported by valgrind --tool=memcheck (#46978) 2018-01-13 00:33:35 +05:30
Tinderbox User
1883d11ca2 update copyright notice / whitespace 2018-01-11 23:45:53 +00:00
Mark Andrews
2fca8cbdff memset the remainder of sendcmsgbuf to 0 in a attempt to silence valgrind; msg->msg_control was not being set when it should have been; be consistent when setting msg->msg_control 2018-01-11 16:19:00 +11:00
Tinderbox User
4b48e307e0 update copyright notice / whitespace 2018-01-10 23:46:37 +00:00
Mark Andrews
7befb67af4 4862. [bug] The rdata flags for RRSIG was not being properly set
when constructing a rdataslab. [RT #46978]
2018-01-11 09:51:52 +11:00
Tinderbox User
099a9efd82 update copyright notice / whitespace 2018-01-09 23:45:45 +00:00
Mark Andrews
0ce212b9f5 4861. [bug] The isc_crc64 unit test was not endian independent.
[RT #46973]
2018-01-10 09:46:08 +11:00
Mark Andrews
21f708c88c 4860. [bug] isc_int8_t should be signed char. [RT #46973] 2018-01-10 08:41:26 +11:00
Mark Andrews
67faaa41c9 test devent->sigrdataset rather than devent->rdataset before calling query_putrdataset 2018-01-05 12:36:21 +11:00
Mark Andrews
a922385850 mem.c failed to compile if ISC_MEM_CHECKOVERRUN=0 2018-01-05 12:13:17 +11:00
Tinderbox User
10e49fc83b update copyright notice / whitespace 2018-01-04 23:45:32 +00:00