diff --git a/CHANGES b/CHANGES index 8802affb59..ddf2570485 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 0b3a66a5c0..a4c2865509 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -3120,6 +3120,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); @@ -3980,6 +3984,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;