From: Jelmer Vernooij Date: Thu, 4 Jun 2009 21:43:31 +0000 (+0200) Subject: clikrb5: Prefer krb5_free_keytab_entry_contents to krb5_kt_free_entry. X-Git-Tag: tdb-1.1.5~288 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b65ba0e26c781647e097f3f6fa279c7f3f7f4bd2;p=thirdparty%2Fsamba.git 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. --- diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c index aa98d7668f1..8a567dc751f 100644 --- a/source3/libsmb/clikrb5.c +++ b/source3/libsmb/clikrb5.c @@ -924,10 +924,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