diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2009-06-04 23:43:31 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2010-01-13 14:00:56 +0100 |
commit | 93909d8a4e517a779ea73d9102a3b34e7202d6b5 (patch) | |
tree | b0a3addc5e11aaddc6a85c180303f6515733993b | |
parent | a52476b2beb464ccb33f4ce263ab061885bcc5f4 (diff) | |
download | samba-93909d8a4e517a779ea73d9102a3b34e7202d6b5.tar.gz |
clikrb5: Prefer krb5_free_keytab_entry_contents to krb5_kt_free_entry.
Both functions exist in MIT Kerberos >= 1.7, but only
krb5_free_keytab_entry_contents has a prototype.
Part of a fix for bug #6918 (Build breaks with krb5-client-1.7-6.1.i586).
(cherry picked from commit f7f183aba2c53426620bab7e934ce79b516dc4fc)
-rw-r--r-- | source/libsmb/clikrb5.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source/libsmb/clikrb5.c b/source/libsmb/clikrb5.c index d8fe40bb420..3f995de8990 100644 --- a/source/libsmb/clikrb5.c +++ b/source/libsmb/clikrb5.c @@ -913,10 +913,15 @@ failed: krb5_error_code smb_krb5_kt_free_entry(krb5_context context, krb5_keytab_entry *kt_entry) { -#if defined(HAVE_KRB5_KT_FREE_ENTRY) - return krb5_kt_free_entry(context, kt_entry); -#elif defined(HAVE_KRB5_FREE_KEYTAB_ENTRY_CONTENTS) +/* Try krb5_free_keytab_entry_contents first, since + * MIT Kerberos >= 1.7 has both krb5_free_keytab_entry_contents and + * krb5_kt_free_entry but only has a prototype for the first, while the + * second is considered private. + */ +#if defined(HAVE_KRB5_FREE_KEYTAB_ENTRY_CONTENTS) return krb5_free_keytab_entry_contents(context, kt_entry); +#elif defined(HAVE_KRB5_KT_FREE_ENTRY) + return krb5_kt_free_entry(context, kt_entry); #else #error UNKNOWN_KT_FREE_FUNCTION #endif |