add _gss_ntlm_allocate_ctx

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19401 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-12-18 13:04:07 +00:00
parent fd0d5b4e0f
commit ba22a47a93

View File

@@ -242,6 +242,38 @@ out:
return ret;
}
OM_uint32
_gss_ntlm_allocate_ctx(OM_uint32 *minor_status, ntlm_ctx *ctx)
{
krb5_error_code ret;
*ctx = calloc(1, sizeof(**ctx));
ret = krb5_init_context(&(*ctx)->context);
if (ret) {
gss_ctx_id_t context = (gss_ctx_id_t)*ctx;
_gss_ntlm_delete_sec_context(minor_status, &context, NULL);
*minor_status = ret;
return GSS_S_FAILURE;
}
ret = get_ccache((*ctx)->context, &(*ctx)->id);
if (ret) {
gss_ctx_id_t context = (gss_ctx_id_t)*ctx;
_gss_ntlm_delete_sec_context(minor_status, &context, NULL);
*minor_status = ret;
return GSS_S_FAILURE;
}
ret = krb5_ntlm_alloc((*ctx)->context, &(*ctx)->ntlm);
if (ret) {
gss_ctx_id_t context = (gss_ctx_id_t)*ctx;
_gss_ntlm_delete_sec_context(minor_status, &context, NULL);
*minor_status = ret;
return GSS_S_FAILURE;
}
return GSS_S_COMPLETE;
}
/*
*
@@ -292,30 +324,10 @@ _gss_ntlm_accept_sec_context
struct ntlm_type1 type1;
OM_uint32 major_status;
ctx = calloc(1, sizeof(*ctx));
major_status = _gss_ntlm_allocate_ctx(minor_status, &ctx);
if (major_status)
return major_status;
*context_handle = (gss_ctx_id_t)ctx;
ret = krb5_init_context(&ctx->context);
if (ret) {
_gss_ntlm_delete_sec_context(minor_status, context_handle, NULL);
*minor_status = ret;
return GSS_S_FAILURE;
}
ret = get_ccache(ctx->context, &ctx->id);
if (ret) {
_gss_ntlm_delete_sec_context(minor_status, context_handle, NULL);
*minor_status = ret;
return GSS_S_FAILURE;
}
ret = krb5_ntlm_alloc(ctx->context, &ctx->ntlm);
if (ret) {
_gss_ntlm_delete_sec_context(minor_status, context_handle, NULL);
*minor_status = ret;
return GSS_S_FAILURE;
}
data.data = input_token_buffer->value;
data.length = input_token_buffer->length;