diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-10-15 12:42:35 +0200 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-10-17 13:17:26 +0200 |
commit | 0740b9ab9acc2ecae9342d2db42c4645ae4104eb (patch) | |
tree | 055790cfeaed6aedc73465f557c6e09cd9f83328 | |
parent | fb26a7edaf0fcee44fd60eabf4aaf38f0680c0ff (diff) | |
download | sssd-0740b9ab9acc2ecae9342d2db42c4645ae4104eb.tar.gz sssd-0740b9ab9acc2ecae9342d2db42c4645ae4104eb.tar.bz2 sssd-0740b9ab9acc2ecae9342d2db42c4645ae4104eb.zip |
heimdal: Add wrapper for krb5_free_string
Uses krb5_free_string for MIT and krb5_xfree for heimdal.
-rw-r--r-- | src/external/krb5.m4 | 4 | ||||
-rw-r--r-- | src/util/sss_krb5.c | 11 | ||||
-rw-r--r-- | src/util/sss_krb5.h | 2 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/external/krb5.m4 b/src/external/krb5.m4 index b9d6ff20..ba92da2a 100644 --- a/src/external/krb5.m4 +++ b/src/external/krb5.m4 @@ -64,7 +64,9 @@ AC_CHECK_FUNCS([krb5_get_init_creds_opt_alloc krb5_get_error_message \ krb5_timestamp_to_sfstring \ krb5_set_trace_callback \ krb5_find_authdata \ - krb5_cc_get_full_name]) + krb5_cc_get_full_name \ + krb5_free_string \ + krb5_xfree]) CFLAGS=$SAVE_CFLAGS LIBS=$SAVE_LIBS diff --git a/src/util/sss_krb5.c b/src/util/sss_krb5.c index f8a7e6f9..5f36f7e9 100644 --- a/src/util/sss_krb5.c +++ b/src/util/sss_krb5.c @@ -545,6 +545,15 @@ void KRB5_CALLCONV sss_krb5_free_unparsed_name(krb5_context context, char *name) #endif } +void KRB5_CALLCONV sss_krb5_free_string(krb5_context ctx, char *val) +{ +/* TODO: ensure at least on is available in krb5.m4 */ +#ifdef HAVE_KRB5_FREE_STRING + krb5_free_string(ctx, val); +#elif HAVE_KRB5_XFREE + (void) krb5_xfree(val); +#endif +} krb5_error_code KRB5_CALLCONV sss_krb5_get_init_creds_opt_set_expire_callback( krb5_context context, @@ -1063,7 +1072,7 @@ done: KRB5_DEBUG(SSSDBG_MINOR_FAILURE, ctx, kerr); } } - krb5_free_string(ctx, tmp_ccname); + sss_krb5_free_string(ctx, tmp_ccname); return ret_ccname; #else diff --git a/src/util/sss_krb5.h b/src/util/sss_krb5.h index db47e0a6..43243735 100644 --- a/src/util/sss_krb5.h +++ b/src/util/sss_krb5.h @@ -70,6 +70,8 @@ void KRB5_CALLCONV sss_krb5_get_init_creds_opt_free (krb5_context context, void KRB5_CALLCONV sss_krb5_free_unparsed_name(krb5_context context, char *name); +void KRB5_CALLCONV sss_krb5_free_string(krb5_context ctx, char *val); + int sss_krb5_verify_keytab_ex(const char *principal, const char *keytab_name, krb5_context context, krb5_keytab keytab); |