From 1448ad988f051ace24c6aa6d607369162beb2b20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 9 Sep 2003 10:54:09 +0000 Subject: [PATCH] SPNEGO doesn't include gss wrapping on SubsequentContextToken like the Kerberos 5 mech does. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12802 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/accept_sec_context.c | 22 ++++++++++++++++++++++ lib/gssapi/krb5/accept_sec_context.c | 22 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/lib/gssapi/accept_sec_context.c b/lib/gssapi/accept_sec_context.c index d98f49a05..b3dfbca02 100644 --- a/lib/gssapi/accept_sec_context.c +++ b/lib/gssapi/accept_sec_context.c @@ -599,10 +599,21 @@ send_reject (OM_uint32 *minor_status, if (ret) return ret; +#if 0 ret = _gssapi_encapsulate(minor_status, &data, output_token, GSS_SPNEGO_MECHANISM); +#else + output_token->value = malloc(data.length); + if (output_token->value == NULL) { + *minor_status = ENOMEM; + ret = GSS_S_FAILURE; + } else { + output_token->length = data.length; + memcpy(output_token->value, data.data, output_token->length); + } +#endif free(buf); if (ret) return ret; @@ -697,10 +708,21 @@ send_accept (OM_uint32 *minor_status, if (ret) return ret; +#if 0 ret = _gssapi_encapsulate(minor_status, &data, output_token, GSS_SPNEGO_MECHANISM); +#else + output_token->value = malloc(data.length); + if (output_token->value == NULL) { + *minor_status = ENOMEM; + ret = GSS_S_FAILURE; + } else { + output_token->length = data.length; + memcpy(output_token->value, data.data, output_token->length); + } +#endif free(buf); if (ret) return ret; diff --git a/lib/gssapi/krb5/accept_sec_context.c b/lib/gssapi/krb5/accept_sec_context.c index d98f49a05..b3dfbca02 100644 --- a/lib/gssapi/krb5/accept_sec_context.c +++ b/lib/gssapi/krb5/accept_sec_context.c @@ -599,10 +599,21 @@ send_reject (OM_uint32 *minor_status, if (ret) return ret; +#if 0 ret = _gssapi_encapsulate(minor_status, &data, output_token, GSS_SPNEGO_MECHANISM); +#else + output_token->value = malloc(data.length); + if (output_token->value == NULL) { + *minor_status = ENOMEM; + ret = GSS_S_FAILURE; + } else { + output_token->length = data.length; + memcpy(output_token->value, data.data, output_token->length); + } +#endif free(buf); if (ret) return ret; @@ -697,10 +708,21 @@ send_accept (OM_uint32 *minor_status, if (ret) return ret; +#if 0 ret = _gssapi_encapsulate(minor_status, &data, output_token, GSS_SPNEGO_MECHANISM); +#else + output_token->value = malloc(data.length); + if (output_token->value == NULL) { + *minor_status = ENOMEM; + ret = GSS_S_FAILURE; + } else { + output_token->length = data.length; + memcpy(output_token->value, data.data, output_token->length); + } +#endif free(buf); if (ret) return ret;