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-27 14:30:06 +10:00
committed by Mark Andrews
parent 6021b95451
commit 5cc841fa53
+1
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);