Commit graph

26645 commits

Author SHA1 Message Date
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
4955c45c94 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
64bc122d11 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
Mark Andrews
1af3e7d7d5 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
372fbc06e7 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
e247336199 use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
865115f30c use %u instead of %d 2018-02-16 10:20:38 +11:00
Mark Andrews
bbdd8e17d7 copyrights 2018-02-16 10:20:38 +11:00
Mark Andrews
c4ca99c0d1 use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
5c017fd3f6 use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
af7fd89305 use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
f0981d9682 use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
ee49362e33 make declarations consistent 2018-02-16 10:19:57 +11:00
Mark Andrews
6b74dcca71 report argument error in human form 2018-02-16 10:19:57 +11:00
Mark Andrews
4278230b33 use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
4ec06278cc use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
c8d294470d use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
3034da1ec6 use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
e08b3d3a48 use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
f9a9ff57ce use %u instead of %i 2018-02-16 10:19:57 +11:00
Mark Andrews
3fb7b9827a use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
f5ee6f7292 use %u rather than %d; pass a unsigned int pointer 2018-02-16 10:19:57 +11:00
Mark Andrews
89ff72bea0 clear *logp 2018-02-16 10:19:57 +11:00
Mark Andrews
ea8e149f4d use %u instead of %d 2018-02-16 10:19:57 +11:00
Mark Andrews
b060852a7c signed vs unsigned fixes 2018-02-16 10:19:57 +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ń
801dfe8f5d Add CHANGES entry
4892.	[bug]		named could leak memory when "rndc reload" was invoked
			before all zone loading actions triggered by a previous
			"rndc reload" command were completed. [RT #47076]
2018-02-15 20:32:11 +01: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
2a70eae04f Reduce repeated detection of mysql lib directory.
Use common part once a bit later.
2018-02-15 12:48:56 +01:00
Petr Menšík
e7a93321f0 Reuse new function from rt46864 for similar block elsewhere. 2018-02-15 12:42:33 +01:00