From fd0d5b4e0fc2dccc8fbdde4de276db4aa66fb32f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 18 Dec 2006 13:03:45 +0000 Subject: [PATCH] Check that the KDC seem to there and answering us, we can't do better then that wen checking if we will accept the credential. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19400 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/ntlm/acquire_cred.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/gssapi/ntlm/acquire_cred.c b/lib/gssapi/ntlm/acquire_cred.c index 70207f5be..a6c8447a5 100644 --- a/lib/gssapi/ntlm/acquire_cred.c +++ b/lib/gssapi/ntlm/acquire_cred.c @@ -46,6 +46,11 @@ OM_uint32 _gss_ntlm_acquire_cred OM_uint32 * time_rec ) { + OM_uint32 major_status; + krb5_error_code ret; + ntlm_ctx ctx; + ntlm_name name = (ntlm_name)desired_name; + *minor_status = 0; if (output_cred_handle) *output_cred_handle = GSS_C_NO_CREDENTIAL; @@ -53,5 +58,28 @@ OM_uint32 _gss_ntlm_acquire_cred *actual_mechs = GSS_C_NO_OID_SET; if (time_rec) *time_rec = GSS_C_INDEFINITE; + + major_status = _gss_ntlm_allocate_ctx(minor_status, &ctx); + if (major_status != GSS_S_COMPLETE) + return GSS_S_FAILURE; + + ret = krb5_ntlm_init_request(ctx->context, + ctx->ntlm, + NULL, + ctx->id, + NTLM_NEG_UNICODE|NTLM_NEG_NTLM, + name->domain, + NULL); + if (ret) { + *minor_status = ret; + return GSS_S_FAILURE; + } + + { + gss_ctx_id_t context = (gss_ctx_id_t)ctx; + _gss_ntlm_delete_sec_context(minor_status, &context, NULL); + *minor_status = 0; + } + return (GSS_S_COMPLETE); }