Reset dig exit code after a TCP connection is established

The "exitcode" variable is set to 9 if a TCP connection fails, but is
not reset to 0 if a subsequent TCP connection succeeds.  This causes dig
to return a non-zero exit code if it succeeds in getting a TCP response
after a retry.  Fix by resetting "exitcode" to 0 if connect_done()
receives an event with the "result" field set to ISC_R_SUCCESS.

(cherry picked from commit deb3b85cb2)
This commit is contained in:
Michał Kępień 2018-08-24 13:49:45 +02:00 committed by Mark Andrews
parent 6021b95451
commit 5cc841fa53

View file

@ -3244,6 +3244,7 @@ connect_done(isc_task_t *task, isc_event_t *event) {
UNLOCK_LOOKUP;
return;
}
exitcode = 0;
if (keep_open) {
if (keep != NULL)
isc_socket_detach(&keep);