From cfe68f2d5fbd749c3dce7a1a5fa67d2d0a631bf2 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 5 Jan 2012 11:34:12 +1100 Subject: krb5: Require krb5_set_real_time is available to build with krb5 --- source3/configure.in | 11 +++++++++++ source3/include/krb5_protos.h | 4 ---- source3/libsmb/clikrb5.c | 20 -------------------- source3/wscript | 2 +- source4/auth/kerberos/kerberos.h | 4 ---- 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 -- cgit