From ca80f64c786341d5871ae1de18142e62af64f7b9 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Fri, 27 Oct 2023 00:44:53 -0400 Subject: 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 --- src/lib/krb5/os/sendto_kdc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c index b1dc66a..0f198c3 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) { -- cgit v1.1