From: Mark Andrews Date: Wed, 3 Feb 2016 03:59:19 +0000 (+1100) Subject: 4313. [bug] Handle ns_client_replace failures in test mode. X-Git-Tag: v9.11.0a1~139 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=d88ba937124b2a4f8a074fc2aef9caf2022308b4;p=thirdparty%2Fbind9.git 4313. [bug] Handle ns_client_replace failures in test mode. [RT #41190] --- diff --git a/CHANGES b/CHANGES index 79aacf233d0..5de23462027 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4313. [bug] Handle ns_client_replace failures in test mode. + [RT #41190] + 4312. [bug] dig's unknown dns and edns flags (MBZ value) logging was not consistent. [RT #41600] diff --git a/bin/named/query.c b/bin/named/query.c index 1ca95c9cfe8..66263bf6086 100644 --- a/bin/named/query.c +++ b/bin/named/query.c @@ -8902,8 +8902,16 @@ ns_query_start(ns_client_t *client) { /* * Test only. */ - if (ns_g_clienttest && !TCP(client)) - RUNTIME_CHECK(ns_client_replace(client) == ISC_R_SUCCESS); + if (ns_g_clienttest && !TCP(client)) { + result = ns_client_replace(client); + if (result == ISC_R_SHUTTINGDOWN) { + ns_client_next(client, result); + return; + } else if (result != ISC_R_SUCCESS) { + query_error(client, result, __LINE__); + return; + } + } /* * Ensure that appropriate cleanups occur.