From 77e2e6d550ceb47dc01f53fef6bb57c9c4e95401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sat, 26 Jul 2008 18:32:47 +0000 Subject: [PATCH] restore username parsing git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23408 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/ntlm/init_sec_context.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/gssapi/ntlm/init_sec_context.c b/lib/gssapi/ntlm/init_sec_context.c index 5a0046ec2..b580996eb 100644 --- a/lib/gssapi/ntlm/init_sec_context.c +++ b/lib/gssapi/ntlm/init_sec_context.c @@ -99,6 +99,7 @@ static int get_user_ccache(const ntlm_name name, char **username, struct ntlm_buf *key) { krb5_context context = NULL; + krb5_principal client; krb5_ccache id = NULL; krb5_error_code ret; char *confname; @@ -116,10 +117,22 @@ get_user_ccache(const ntlm_name name, char **username, struct ntlm_buf *key) if (ret) goto out; + ret = krb5_cc_get_principal(context, id, &client); + if (ret) + goto out; + + ret = krb5_unparse_name_flags(context, client, + KRB5_PRINCIPAL_UNPARSE_NO_REALM, + username); + krb5_free_principal(context, client); + if (ret) + goto out; + asprintf(&confname, "ntlm-key-%s", name->domain); if (confname == NULL) { krb5_clear_error_string(context); - return ENOMEM; + ret = ENOMEM; + goto out; } ret = krb5_cc_get_config(context, id, confname, &data);