clikrb5: Prefer krb5_free_keytab_entry_contents to krb5_kt_free_entry.
authorJelmer Vernooij <jelmer@samba.org>
Thu, 4 Jun 2009 21:43:31 +0000 (23:43 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Thu, 4 Jun 2009 21:43:31 +0000 (23:43 +0200)
Both functions exist in MIT Kerberos >= 1.7, but only
krb5_free_keytab_entry_contents has a prototype.

source3/libsmb/clikrb5.c

index aa98d7668f1894e6533e8dc6587c1298cad43414..8a567dc751f03d8a2a373e941f251b5826ae01da 100644 (file)
@@ -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