diff options
author | Tim Potter <tpot@samba.org> | 2003-10-21 04:45:33 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2003-10-21 04:45:33 +0000 |
commit | 8838f54497d5cab4f1120cfc87f611b3e7e42698 (patch) | |
tree | bc975318b6017fd14f19138fba09047080967216 | |
parent | 043be81ec79ca5b4939577146a93813250cac96e (diff) | |
download | samba-8838f54497d5cab4f1120cfc87f611b3e7e42698.tar.gz samba-8838f54497d5cab4f1120cfc87f611b3e7e42698.tar.bz2 samba-8838f54497d5cab4f1120cfc87f611b3e7e42698.zip |
Merge of krb5_keytab entry key vs keyblock member check from HEAD.
(This used to be commit 720f5e5629c54e851c3e9026dc88676795e44c8e)
-rw-r--r-- | source3/configure.in | 9 | ||||
-rw-r--r-- | source3/libads/kerberos_verify.c | 16 |
2 files changed, 21 insertions, 4 deletions
diff --git a/source3/configure.in b/source3/configure.in index f3b3f9272b..16b0760802 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -2654,6 +2654,15 @@ if test x"$with_ads_support" != x"no"; then [Whether in-memory keytabs are supported]) fi + AC_CHECK_MEMBER(krb5_keytab_entry.key, + AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEY, 1, + [Whether krb5_keytab_entry has key member]), [], + [#include <krb5.h>]) + + AC_CHECK_MEMBER(krb5_keytab_entry.keyblock, + AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK, 1, + [Whether krb5_keytab_entry has keyblock member]), [], + [#include <krb5.h>]) if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" = x"yes"; then AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support]) diff --git a/source3/libads/kerberos_verify.c b/source3/libads/kerberos_verify.c index 4ae89aa01f..cdea5a2fe4 100644 --- a/source3/libads/kerberos_verify.c +++ b/source3/libads/kerberos_verify.c @@ -71,10 +71,18 @@ static krb5_error_code create_keytab(krb5_context context, entry.principal = host_princ; entry.vno = kvno; - /* this will have to be detected in configure...heimdal - calls it keyblock, MIT calls it key, but it does not - matter we are creating keytabs with MIT */ - entry.keyblock = *key; + +#if !defined(HAVE_KRB5_KEYTAB_ENTRY_KEY) && !defined(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK) +#error krb5_keytab_entry has no key or keyblock member +#endif + +#ifdef HAVE_KRB5_KEYTAB_ENTRY_KEY /* MIT */ + entry.key = *key; +#endif + +#ifdef HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK /* Heimdal */ + entry.keyblock = *key; +#endif DEBUG(10,("adding keytab-entry for (%s) with encryption type (%d)\n", host_princ_s, enctypes[i])); |