From: Greg Hudson Date: Fri, 27 Oct 2023 04:44:53 +0000 (-0400) Subject: End connection on KDC_ERR_SVC_UNAVAILABLE X-Git-Tag: krb5-1.22-beta1~132 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ca80f64c786341d5871ae1de18142e62af64f7b9;p=thirdparty%2Fkrb5.git End connection on KDC_ERR_SVC_UNAVAILABLE In sendto_kdc.c:service_fds(), if a message handler indicates that a message should be discarded, kill the connection so we don't continue waiting on it for more data. ticket: 7899 --- diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c index b1dc66a70f..0f198c3987 100644 --- a/src/lib/krb5/os/sendto_kdc.c +++ b/src/lib/krb5/os/sendto_kdc.c @@ -1442,7 +1442,10 @@ service_fds(krb5_context context, struct select_state *selstate, if (msg_handler != NULL) { krb5_data reply = make_data(state->in.buf, state->in.pos); - stop = (msg_handler(context, &reply, msg_handler_data) != 0); + if (!msg_handler(context, &reply, msg_handler_data)) { + kill_conn(context, state, selstate); + stop = 0; + } } if (stop) {