Commit 70862302 authored by Mark Andrews's avatar Mark Andrews
Browse files

4181. [bug] Queued notify messages could be dequeued from the

                        wrong rate limiter queue. [RT #40350]
parent b140aa00
4181. [bug] Queued notify messages could be dequeued from the
wrong rate limiter queue. [RT #40350]
4180. [bug] Error responses in pipelined queries could
cause a crash in client.c. [RT #40289]
......
......@@ -10137,8 +10137,6 @@ notify_isqueued(dns_zone_t *zone, unsigned int flags, dns_name_t *name,
notify = ISC_LIST_NEXT(notify, link)) {
if (notify->request != NULL)
continue;
if ((flags & DNS_NOTIFY_STARTUP) == 0)
notify->flags &= ~DNS_NOTIFY_STARTUP;
if (name != NULL && dns_name_dynamic(&notify->ns) &&
dns_name_equal(name, &notify->ns))
goto requeue;
......@@ -10154,12 +10152,15 @@ requeue:
* not a startup notify, re-enqueue on the normal notify
* ratelimiter.
*/
if (notify->event != NULL && (flags & DNS_NOTIFY_STARTUP) == 0) {
if (notify->event != NULL && (flags & DNS_NOTIFY_STARTUP) == 0 &&
(notify->flags & DNS_NOTIFY_STARTUP) != 0) {
zmgr = notify->zone->zmgr;
result = isc_ratelimiter_dequeue(zmgr->startupnotifyrl,
notify->event);
if (result != ISC_R_SUCCESS)
return (ISC_TRUE);
notify->flags &= ~DNS_NOTIFY_STARTUP;
result = isc_ratelimiter_enqueue(notify->zone->zmgr->notifyrl,
notify->zone->task,
&notify->event);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment