kerberos: add KRB5_KT_KEY abstraction macro.
authorGünther Deschner <gd@samba.org>
Fri, 22 Aug 2008 12:52:10 +0000 (14:52 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 29 Aug 2008 09:01:34 +0000 (11:01 +0200)
Guenther
(This used to be commit be846d5383ef31136cca6b11eb6181736fb2e29d)

source3/include/ads.h

index a31141cb25ed9e8730681654d9f4b8d71761373f..ebe8be08b65626988d16899578c96f9b7b6058fa 100644 (file)
@@ -382,12 +382,20 @@ typedef struct {
 #define KRB5_KEY_DATA(k)       ((k)->keyvalue.data)
 #define KRB5_KEY_DATA_CAST     void
 #else /* MIT */
-#define        KRB5_KEY_TYPE(k)        ((k)->enctype)
+#define KRB5_KEY_TYPE(k)       ((k)->enctype)
 #define KRB5_KEY_LENGTH(k)     ((k)->length)
 #define KRB5_KEY_DATA(k)       ((k)->contents)
 #define KRB5_KEY_DATA_CAST     krb5_octet
 #endif /* HAVE_KRB5_KEYBLOCK_KEYVALUE */
 
+#ifdef HAVE_KRB5_KEYTAB_ENTRY_KEY               /* MIT */
+#define KRB5_KT_KEY(k)         (&(k)->key)
+#elif HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK          /* Heimdal */
+#define KRB5_KT_KEY(k)         (&(k)->keyblock)
+#else
+#error krb5_keytab_entry has no key or keyblock member
+#endif
+
 enum ads_extended_dn_flags {
        ADS_EXTENDED_DN_HEX_STRING      = 0,
        ADS_EXTENDED_DN_STRING          = 1 /* not supported on win2k */