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:43:59 +0200 |
commit | 8a03858d3830bb3b2069cad506290ae831b6699e (patch) | |
tree | b5136381bbdb605c9922c0f2083ccfbffb995b62 | |
parent | cf6b83e71b51cbd3765bfd5589a144e8363bb26d (diff) | |
download | sssd-8a03858d3830bb3b2069cad506290ae831b6699e.tar.gz sssd-8a03858d3830bb3b2069cad506290ae831b6699e.tar.bz2 sssd-8a03858d3830bb3b2069cad506290ae831b6699e.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); |