diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2011-12-20 16:13:59 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-12-22 10:37:50 -0500 |
commit | 768591607fc89d3a14fa00c9c8f78e83f3f6b565 (patch) | |
tree | f9c362e381a38c67631764b66156ef2d57169fe9 /src/providers/krb5/krb5_utils.c | |
parent | 85ecf49fdacd910f804caab1be7bf68d23702dc9 (diff) | |
download | sssd-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.c | 10 |
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")); |