summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-01-05 11:34:12 +1100
committerAndrew Bartlett <abartlet@samba.org>2012-01-10 21:50:07 +0100
commitcfe68f2d5fbd749c3dce7a1a5fa67d2d0a631bf2 (patch)
tree1634ea90b85f54d9c2f126d716ed2f8505cbbf13
parent0c6af1e2da4619634c3806b5c0ee022bef935bb5 (diff)
downloadsamba-cfe68f2d5fbd749c3dce7a1a5fa67d2d0a631bf2.tar.gz
samba-cfe68f2d5fbd749c3dce7a1a5fa67d2d0a631bf2.tar.bz2
samba-cfe68f2d5fbd749c3dce7a1a5fa67d2d0a631bf2.zip
krb5: Require krb5_set_real_time is available to build with krb5
-rw-r--r--source3/configure.in11
-rw-r--r--source3/include/krb5_protos.h4
-rw-r--r--source3/libsmb/clikrb5.c20
-rw-r--r--source3/wscript2
-rw-r--r--source4/auth/kerberos/kerberos.h4
5 files changed, 12 insertions, 29 deletions
diff --git a/source3/configure.in b/source3/configure.in
index b408b1c1a6..153a610501 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3848,6 +3848,12 @@ if test x"$with_ads_support" != x"no"; then
fi
AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS)
+ ################################################################
+ # test for AD / GSSAPI support being enabled
+ if test x"$have_gssapi" != xyes ; then
+ AC_MSG_WARN([Samba cannot be supported without GSSAPI])
+ fi
+
AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_set_default_tgs_enctypes, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_set_default_tgs_ktypes, $KRB5_LIBS)
@@ -4401,6 +4407,11 @@ if test x"$with_ads_support" != x"no"; then
use_ads=no
fi
+ if test x"$ac_cv_func_ext_krb5_set_real_time" != x"yes"; then
+ AC_MSG_WARN(krb5_set_real_time encryption type not found in -lkrb5)
+ use_ads=no
+ fi
+
if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" != x"yes"; then
AC_MSG_WARN(krb5_mk_req_extended not found in -lkrb5)
use_ads=no
diff --git a/source3/include/krb5_protos.h b/source3/include/krb5_protos.h
index 37fc1c6cd5..32f995cf5d 100644
--- a/source3/include/krb5_protos.h
+++ b/source3/include/krb5_protos.h
@@ -42,10 +42,6 @@ krb5_error_code smb_krb5_unparse_name(TALLOC_CTX *mem_ctx,
krb5_const_principal principal,
char **unix_name);
-#ifndef HAVE_KRB5_SET_REAL_TIME
-krb5_error_code krb5_set_real_time(krb5_context context, int32_t seconds, int32_t microseconds);
-#endif
-
krb5_error_code krb5_set_default_tgs_ktypes(krb5_context ctx, const krb5_enctype *enc);
#if defined(HAVE_KRB5_AUTH_CON_SETKEY) && !defined(HAVE_KRB5_AUTH_CON_SETUSERUSERKEY)
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index c0d822e5da..9af3e49d11 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -50,26 +50,6 @@ krb5_error_code krb5_auth_con_set_req_cksumtype(
krb5_cksumtype cksumtype);
#endif
-#ifndef HAVE_KRB5_SET_REAL_TIME
-/*
- * This function is not in the Heimdal mainline.
- */
- krb5_error_code krb5_set_real_time(krb5_context context, int32_t seconds, int32_t microseconds)
-{
- krb5_error_code ret;
- int32_t sec, usec;
-
- ret = krb5_us_timeofday(context, &sec, &usec);
- if (ret)
- return ret;
-
- context->kdc_sec_offset = seconds - sec;
- context->kdc_usec_offset = microseconds - usec;
-
- return 0;
-}
-#endif
-
#if !defined(HAVE_KRB5_SET_DEFAULT_TGS_KTYPES)
#if defined(HAVE_KRB5_SET_DEFAULT_TGS_ENCTYPES)
diff --git a/source3/wscript b/source3/wscript
index 8734a4f069..00da1948a6 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -573,7 +573,7 @@ msg.msg_acctrightslen = sizeof(fd);
conf.CHECK_FUNCS_IN('gss_wrap_iov gss_krb5_import_cred gss_get_name_attribute gss_mech_krb5 gss_oid_equal gss_inquire_sec_context_by_oid', 'gssapi gssapi_krb5 krb5')
conf.CHECK_FUNCS_IN('krb5_mk_req_extended krb5_kt_compare', 'krb5')
conf.CHECK_FUNCS('''
-krb5_set_real_time krb5_set_default_in_tkt_etypes krb5_set_default_tgs_enctypes
+krb5_set_default_in_tkt_etypes krb5_set_default_tgs_enctypes
krb5_set_default_tgs_ktypes krb5_principal2salt krb5_use_enctype
krb5_string_to_key krb5_get_pw_salt krb5_string_to_key_salt krb5_auth_con_setkey
krb5_auth_con_setuseruserkey krb5_locate_kdc krb5_get_permitted_enctypes
diff --git a/source4/auth/kerberos/kerberos.h b/source4/auth/kerberos/kerberos.h
index a4a3275b2b..5aff56d833 100644
--- a/source4/auth/kerberos/kerberos.h
+++ b/source4/auth/kerberos/kerberos.h
@@ -60,10 +60,6 @@ struct keytab_container {
#define ENC_ALL_TYPES (ENC_CRC32 | ENC_RSA_MD5 | ENC_RC4_HMAC_MD5 | \
ENC_HMAC_SHA1_96_AES128 | ENC_HMAC_SHA1_96_AES256)
-#ifndef HAVE_KRB5_SET_REAL_TIME
-krb5_error_code krb5_set_real_time(krb5_context context, int32_t seconds, int32_t microseconds);
-#endif
-
#ifndef HAVE_KRB5_SET_DEFAULT_TGS_KTYPES
krb5_error_code krb5_set_default_tgs_ktypes(krb5_context ctx, const krb5_enctype *enc);
#endif