summaryrefslogtreecommitdiffstats
path: root/src/providers/krb5/krb5_utils.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2011-12-20 16:13:59 -0500
committerStephen Gallagher <sgallagh@redhat.com>2011-12-22 10:37:50 -0500
commit768591607fc89d3a14fa00c9c8f78e83f3f6b565 (patch)
treef9c362e381a38c67631764b66156ef2d57169fe9 /src/providers/krb5/krb5_utils.c
parent85ecf49fdacd910f804caab1be7bf68d23702dc9 (diff)
downloadsssd-768591607fc89d3a14fa00c9c8f78e83f3f6b565.tar.gz
sssd-768591607fc89d3a14fa00c9c8f78e83f3f6b565.tar.xz
sssd-768591607fc89d3a14fa00c9c8f78e83f3f6b565.zip
Add compatibility layer for Heimdal Kerberos implementation
Diffstat (limited to 'src/providers/krb5/krb5_utils.c')
-rw-r--r--src/providers/krb5/krb5_utils.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/providers/krb5/krb5_utils.c b/src/providers/krb5/krb5_utils.c
index 2957598cc..c97d58e7c 100644
--- a/src/providers/krb5/krb5_utils.c
+++ b/src/providers/krb5/krb5_utils.c
@@ -431,6 +431,8 @@ errno_t get_ccache_file_data(const char *ccache_file, const char *client_name,
char *server_name;
krb5_creds mcred;
krb5_creds cred;
+ const char *realm_name;
+ int realm_length;
kerr = krb5_init_context(&ctx);
if (kerr != 0) {
@@ -444,11 +446,11 @@ errno_t get_ccache_file_data(const char *ccache_file, const char *client_name,
goto done;
}
+ sss_krb5_princ_realm(ctx, client_princ, &realm_name, &realm_length);
+
server_name = talloc_asprintf(NULL, "krbtgt/%.*s@%.*s",
- krb5_princ_realm(ctx, client_princ)->length,
- krb5_princ_realm(ctx, client_princ)->data,
- krb5_princ_realm(ctx, client_princ)->length,
- krb5_princ_realm(ctx, client_princ)->data);
+ realm_length, realm_name,
+ realm_length, realm_name);
if (server_name == NULL) {
kerr = KRB5_CC_NOMEM;
DEBUG(1, ("talloc_asprintf failed.\n"));