summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-01-05 10:46:24 +1100
committerAndrew Bartlett <abartlet@samba.org>2012-01-10 21:50:07 +0100
commit17e61e4290d7d95b0bdd2accda24e526484a1c51 (patch)
tree789cfc106f27a21e8ee9c6bf5dd13a3aea69efc2 /source3
parent803dc389d1ade89708a3fedc91dd2c271f4a495b (diff)
downloadsamba-17e61e4290d7d95b0bdd2accda24e526484a1c51.tar.gz
samba-17e61e4290d7d95b0bdd2accda24e526484a1c51.tar.bz2
samba-17e61e4290d7d95b0bdd2accda24e526484a1c51.zip
krb5: Require krb5_c_enctype_compare is available to build with krb5
Diffstat (limited to 'source3')
-rw-r--r--source3/configure.in6
-rw-r--r--source3/libsmb/clikrb5.c4
-rw-r--r--source3/wscript5
3 files changed, 9 insertions, 6 deletions
diff --git a/source3/configure.in b/source3/configure.in
index c671a42dcb..1847ad2181 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3869,7 +3869,6 @@ if test x"$with_ads_support" != x"no"; then
AC_CHECK_FUNC_EXT(krb5_krbhst_init, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_krbhst_get_addrinfo, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_c_enctype_compare, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_enctypes_compatible_keys, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_crypto_init, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_crypto_destroy, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_decode_ap_req, $KRB5_LIBS)
@@ -4419,6 +4418,11 @@ if test x"$with_ads_support" != x"no"; then
use_ads=no
fi
+ if test x"$ac_cv_func_ext_krb5_c_enctype_compare" != x"yes"; then
+ AC_MSG_WARN(krb5_c_enctype_compare not found in -lkrb5)
+ use_ads=no
+ fi
+
if test x"$ac_cv_func_ext_krb5_principal2salt" != x"yes" -a \
x"$ac_cv_func_ext_krb5_get_pw_salt" != x"yes"
then
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index 6a11def19c..1bd3cede97 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -471,14 +471,10 @@ bool unwrap_pac(TALLOC_CTX *mem_ctx, DATA_BLOB *auth_data, DATA_BLOB *unwrapped_
krb5_enctype enctype1,
krb5_enctype enctype2)
{
-#if defined(HAVE_KRB5_C_ENCTYPE_COMPARE)
krb5_boolean similar = 0;
krb5_c_enctype_compare(context, enctype1, enctype2, &similar);
return similar ? True : False;
-#elif defined(HAVE_KRB5_ENCTYPES_COMPATIBLE_KEYS)
- return krb5_enctypes_compatible_keys(context, enctype1, enctype2) ? True : False;
-#endif
}
static bool ads_cleanup_expired_creds(krb5_context context,
diff --git a/source3/wscript b/source3/wscript
index 1592ccbdca..903061db9d 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -580,7 +580,7 @@ krb5_auth_con_setuseruserkey krb5_locate_kdc krb5_get_permitted_enctypes
krb5_get_default_in_tkt_etypes krb5_free_data_contents
krb5_principal_get_comp_string krb5_free_unparsed_name
krb5_free_keytab_entry_contents krb5_kt_free_entry krb5_krbhst_init
-krb5_krbhst_get_addrinfo krb5_c_enctype_compare krb5_enctypes_compatible_keys
+krb5_krbhst_get_addrinfo krb5_c_enctype_compare
krb5_crypto_init krb5_crypto_destroy krb5_decode_ap_req free_AP_REQ
krb5_verify_checksum krb5_c_verify_checksum krb5_principal_compare_any_realm
krb5_parse_name_norealm krb5_princ_size krb5_get_init_creds_opt_set_pac_request
@@ -755,6 +755,9 @@ return krb5_kt_resolve(context, "WRFILE:api", &keytab);
if not conf.CONFIG_SET('HAVE_KRB5_MK_REQ_EXTENDED'):
Logs.warn("krb5_mk_req_extended not found in -lkrb5")
use_ads=False
+ if not conf.CONFIG_SET('HAVE_KRB5_C_ENCTYPE_COMPARE'):
+ Logs.warn("krb5_c_enctype_compare not found in -lkrb5")
+ use_ads=False
if not conf.CONFIG_SET('HAVE_KRB5_PRINCIPAL2SALT') and \
not conf.CONFIG_SET('HAVE_KRB5_GET_PW_SALT'):
Logs.warn("no CREATE_KEY_FUNCTIONS detected")