3281. [bug] SOA refresh queries could be treated as cancelled
despite succeeding over the loopback interface.
[RT #27782]
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: request.c,v 1.82.72.4 2011/03/12 04:57:27 tbox Exp $ */
|
||||
/* $Id: request.c,v 1.82.72.5 2012/02/07 19:55:15 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -1129,9 +1129,7 @@ req_render(dns_message_t *message, isc_buffer_t **bufferp,
|
||||
*/
|
||||
static void
|
||||
send_if_done(dns_request_t *request, isc_result_t result) {
|
||||
if (!DNS_REQUEST_CONNECTING(request) &&
|
||||
!DNS_REQUEST_SENDING(request) &&
|
||||
!request->canceling)
|
||||
if (request->event != NULL && !request->canceling)
|
||||
req_sendevent(request, result);
|
||||
}
|
||||
|
||||
@@ -1315,8 +1313,8 @@ req_senddone(isc_task_t *task, isc_event_t *event) {
|
||||
else
|
||||
send_if_done(request, ISC_R_CANCELED);
|
||||
} else if (sevent->result != ISC_R_SUCCESS) {
|
||||
req_cancel(request);
|
||||
send_if_done(request, ISC_R_CANCELED);
|
||||
req_cancel(request);
|
||||
send_if_done(request, ISC_R_CANCELED);
|
||||
}
|
||||
UNLOCK(&request->requestmgr->locks[request->hash]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user