diff --git a/CHANGES b/CHANGES index 7b3d25a400..b362fd5f02 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +5862. [bug] dig returned a 0 exit status on UDP connection failure. + [GL #3235] + 5861. [func] Implement support for catalog zones change of ownership (coo) mechanism described in the DNS catalog zones draft version 5 document. [GL #3223] diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index b63738ceb3..ef16a727d8 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -2940,6 +2940,10 @@ udp_ready(isc_nmhandle_t *handle, isc_result_t eresult, void *arg) { dig_lookup_t *l = query->lookup; debug("udp setup failed: %s", isc_result_totext(eresult)); + + if (exitcode < 9) { + exitcode = 9; + } query_detach(&query); cancel_lookup(l); lookup_detach(&l); @@ -3789,6 +3793,8 @@ recv_done(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t *region, if (eresult == ISC_R_EOF) { requeue_or_update_exitcode(l); + } else if (exitcode < 9) { + exitcode = 9; } goto cancel_lookup;