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