krb5 commit: Handle empty initial buffer in IAKERB initiator
[email protected] Tue, 28 May 2024 17:25:56 -0400 (EDT)
| Newsgroups | gmane.comp.encryption.kerberos.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://github.com/krb5/krb5/commit/5f0023d5f05e95021a7caa1193f76f86871222ce commit 5f0023d5f05e95021a7caa1193f76f86871222ce Author: Andreas Schneider <[email protected]> Date: Wed May 8 10:10:56 2024 +0200 Handle empty initial buffer in IAKERB initiator Section 5.19 of RFC 2744 (about gss_init_sec_context) states, "Initially, the input_token parameter should be specified either as GSS_C_NO_BUFFER, or as a pointer to a gss_buffer_desc object whose length field contains the value zero." In iakerb_initiator_step(), handle both cases when deciding whether to parse an acceptor message. [[email protected]: edited commit message] ticket: 9126 (new) src/lib/gssapi/krb5/iakerb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c index a0d298c49..3ee926e69 100644 --- a/src/lib/gssapi/krb5/iakerb.c +++ b/src/lib/gssapi/krb5/iakerb.c @@ -523,7 +523,7 @@ iakerb_initiator_step(iakerb_ctx_id_t ctx, output_token->length = 0; output_token->value = NULL; - if (input_token != GSS_C_NO_BUFFER) { + if (input_token != GSS_C_NO_BUFFER && input_token->length > 0) { code = iakerb_parse_token(ctx, 0, input_token, NULL, &cookie, &in); if (code != 0) goto cleanup;