[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Fri Jun 1 03:24:03 MDT 2012


The branch, master has been updated
       via  6e9aca7 waf: check for krb5_create_checksum and krb5_creds.flags for some Heimdal versions
       via  f8c447b waf-mitkrb5: enable dcerpc_server library to support OpenChange client code
      from  ae0a234 .gitignore: remove already-gone gen-8bit-gap.sh

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6e9aca7d4100e3c0f3a9b0ffe21fb3b4a8a5c87f
Author: Alexander Bokovoy <ab at samba.org>
Date:   Thu May 31 12:44:50 2012 +0300

    waf: check for krb5_create_checksum and krb5_creds.flags for some Heimdal versions
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User: Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date: Fri Jun  1 11:23:21 CEST 2012 on sn-devel-104

commit f8c447b1a48eaf12dcf70b92fd7525c4ad26c246
Author: Alexander Bokovoy <ab at samba.org>
Date:   Thu May 31 10:32:01 2012 +0300

    waf-mitkrb5: enable dcerpc_server library to support OpenChange client code
    
    Signed-off-by: Andreas Schneider <asn at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 lib/krb5_wrap/krb5_samba.c              |    4 ++
 source3/configure.in                    |   12 ++++++
 source4/heimdal_build/wscript_configure |    1 +
 source4/rpc_server/wscript_build        |   57 ++++++++++++++++++++-----------
 source4/smbd/wscript_build              |    4 +-
 source4/wrepl_server/wscript_build      |    3 +-
 wscript_configure_system_mitkrb5        |   15 ++++++--
 7 files changed, 70 insertions(+), 26 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c
index 572d39e..dc90f19 100644
--- a/lib/krb5_wrap/krb5_samba.c
+++ b/lib/krb5_wrap/krb5_samba.c
@@ -2162,7 +2162,11 @@ krb5_error_code smb_krb5_cc_get_lifetime(krb5_context context,
 	}
 
 	while ((kerr = krb5_cc_next_cred(context, id, &cursor, &cred)) == 0) {
+#ifndef HAVE_FLAGS_IN_KRB5_CREDS
 		if (cred.ticket_flags & TKT_FLG_INITIAL) {
+#else
+		if (cred.flags.b.initial) {
+#endif
 			if (now < cred.times.endtime) {
 				*t = (time_t) (cred.times.endtime - now);
 			}
diff --git a/source3/configure.in b/source3/configure.in
index ea89fa2..06b51db 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3596,6 +3596,7 @@ if test x"$with_ads_support" != x"no"; then
   AC_CHECK_FUNC_EXT(krb5_cc_get_lifetime, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(krb5_cc_retrieve_cred, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(krb5_free_checksum_contents, $KRB5_LIBS)
+  AC_CHECK_FUNC_EXT(krb5_create_checksum, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(krb5_c_make_checksum, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(gss_krb5_import_cred, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(gss_get_name_attribute, $KRB5_LIBS)
@@ -4006,6 +4007,17 @@ if test x"$with_ads_support" != x"no"; then
 
   AC_HAVE_DECL(KRB5_PDU_NONE,[#include <krb5.h>])
 
+  AC_CACHE_CHECK([for flags in krb5_creds],
+                samba_cv_HAVE_FLAGS_IN_KRB5_CREDS,[
+    AC_TRY_COMPILE([#include <krb5.h>],
+      [krb5_creds creds; creds.flags.b.initial = 0;],
+      samba_cv_HAVE_FLAGS_IN_KRB5_CREDS=yes,
+      samba_cv_HAVE_FLAGS_IN_KRB5_CREDS=no)])
+
+  if test x"$samba_cv_HAVE_FLAGS_IN_KRB5_CREDS" = x"yes"; then
+    AC_DEFINE(HAVE_FLAGS_IN_KRB5_CREDS,1,
+               [Whether the krb5_creds struct has a flags property])
+  fi
   #
   #
   # Now the decisions whether we can support krb5
diff --git a/source4/heimdal_build/wscript_configure b/source4/heimdal_build/wscript_configure
index e8dab68..ea854f2 100755
--- a/source4/heimdal_build/wscript_configure
+++ b/source4/heimdal_build/wscript_configure
@@ -156,6 +156,7 @@ conf.define('HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96', 1)
 conf.define('HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96', 1)
 conf.define('HAVE_KRB5_PRINCIPAL_GET_NUM_COMP', 1)
 conf.define('HAVE_GSSAPI_GSSAPI_SPNEGO_H', 1)
+conf.define('HAVE_FLAGS_IN_KRB5_CREDS', 1)
 
 heimdal_includedirs = []
 heimdal_libdirs = []
diff --git a/source4/rpc_server/wscript_build b/source4/rpc_server/wscript_build
index e3a863a..84df78b 100755
--- a/source4/rpc_server/wscript_build
+++ b/source4/rpc_server/wscript_build
@@ -11,25 +11,26 @@ bld.SAMBA_SUBSYSTEM('DCERPC_COMMON',
 	source='common/forward.c common/reply.c dcesrv_auth.c common/loadparm.c',
 	autoproto='common/proto.h',
 	deps='ldb DCERPC_SHARE samba_server_gensec',
-	enabled=bld.AD_DC_BUILD_IS_ENABLED()
+	enabled=True
 	)
 
 bld.SAMBA_LIBRARY('dcerpc_server',
 	source='dcerpc_server.c dcesrv_mgmt.c handles.c',
 	pc_files='dcerpc_server.pc',
-	deps='LIBCLI_AUTH ndr samba_server_gensec dcerpc_remote service',
+	deps='LIBCLI_AUTH DCERPC_COMMON ndr samba_server_gensec dcerpc_remote service',
 	public_deps='dcerpc',
 	autoproto='dcerpc_server_proto.h',
 	public_headers='dcerpc_server.h',
 	vnum='0.0.1',
-	enabled=bld.AD_DC_BUILD_IS_ENABLED()
+	enabled=True
 	)
 
 bld.SAMBA_MODULE('dcerpc_rpcecho',
 	source='echo/rpc_echo.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_rpcecho_init',
-	deps='ndr-standard events'
+	deps='ndr-standard events',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -37,7 +38,8 @@ bld.SAMBA_MODULE('dcerpc_epmapper',
 	source='epmapper/rpc_epmapper.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_epmapper_init',
-	deps='NDR_EPMAPPER'
+	deps='NDR_EPMAPPER',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -45,7 +47,8 @@ bld.SAMBA_MODULE('dcerpc_remote',
 	source='remote/dcesrv_remote.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_remote_init',
-	deps='LIBCLI_SMB ndr-table'
+	deps='LIBCLI_SMB ndr-table',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -54,7 +57,8 @@ bld.SAMBA_MODULE('dcerpc_srvsvc',
 	autoproto='srvsvc/proto.h',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_srvsvc_init',
-	deps='DCERPC_COMMON NDR_SRVSVC share ntvfs'
+	deps='DCERPC_COMMON NDR_SRVSVC share ntvfs',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -62,7 +66,8 @@ bld.SAMBA_MODULE('dcerpc_wkssvc',
 	source='wkssvc/dcesrv_wkssvc.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_wkssvc_init',
-	deps='DCERPC_COMMON ndr-standard'
+	deps='DCERPC_COMMON ndr-standard',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -70,7 +75,8 @@ bld.SAMBA_MODULE('dcerpc_unixinfo',
 	source='unixinfo/dcesrv_unixinfo.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_unixinfo_init',
-	deps='DCERPC_COMMON samdb NDR_UNIXINFO LIBWBCLIENT_OLD'
+	deps='DCERPC_COMMON samdb NDR_UNIXINFO LIBWBCLIENT_OLD',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -79,7 +85,8 @@ bld.SAMBA_MODULE('dcesrv_samr',
 	autoproto='samr/proto.h',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_samr_init',
-	deps='samdb DCERPC_COMMON ndr-standard'
+	deps='samdb DCERPC_COMMON ndr-standard',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -88,7 +95,8 @@ bld.SAMBA_MODULE('dcerpc_winreg',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_winreg_init',
 	deps='registry ndr-standard',
-	internal_module=True
+	internal_module=True,
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -96,7 +104,8 @@ bld.SAMBA_MODULE('dcerpc_netlogon',
 	source='netlogon/dcerpc_netlogon.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_netlogon_init',
-	deps='DCERPC_COMMON RPC_NDR_IRPC COMMON_SCHANNEL ndr-standard auth4_sam samba-hostconfig CLDAPD'
+	deps='DCERPC_COMMON RPC_NDR_IRPC COMMON_SCHANNEL ndr-standard auth4_sam samba-hostconfig CLDAPD',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -105,7 +114,8 @@ bld.SAMBA_MODULE('dcerpc_lsarpc',
 	autoproto='lsa/proto.h',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_lsa_init',
-	deps='samdb DCERPC_COMMON ndr-standard LIBCLI_AUTH NDR_DSSETUP com_err security UTIL_LSARPC'
+	deps='samdb DCERPC_COMMON ndr-standard LIBCLI_AUTH NDR_DSSETUP com_err security UTIL_LSARPC',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -114,7 +124,8 @@ bld.SAMBA_MODULE('dcerpc_backupkey',
 	autoproto='backupkey/proto.h',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_backupkey_init',
-	deps='samdb DCERPC_COMMON NDR_BACKUPKEY RPC_NDR_BACKUPKEY krb5 hx509 hcrypto'
+	deps='samdb DCERPC_COMMON NDR_BACKUPKEY RPC_NDR_BACKUPKEY krb5 hx509 hcrypto',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -123,7 +134,8 @@ bld.SAMBA_MODULE('dcerpc_spoolss',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_spoolss_init',
 	deps='DCERPC_COMMON NDR_SPOOLSS ntptr RPC_NDR_SPOOLSS',
-	internal_module=True
+	internal_module=True,
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -131,7 +143,8 @@ bld.SAMBA_MODULE('dcerpc_drsuapi',
 	source='drsuapi/dcesrv_drsuapi.c drsuapi/updaterefs.c drsuapi/getncchanges.c drsuapi/addentry.c drsuapi/writespn.c drsuapi/drsutil.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_drsuapi_init',
-	deps='samdb DCERPC_COMMON NDR_DRSUAPI security'
+	deps='samdb DCERPC_COMMON NDR_DRSUAPI security',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 
@@ -139,21 +152,24 @@ bld.SAMBA_MODULE('dcerpc_browser',
 	source='browser/dcesrv_browser.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_browser_init',
-	deps='DCERPC_COMMON NDR_BROWSER'
+	deps='DCERPC_COMMON NDR_BROWSER',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 bld.SAMBA_MODULE('dcerpc_eventlog',
 	source='eventlog/dcesrv_eventlog6.c',
 	subsystem='dcerpc_server',
 	init_function='dcerpc_server_eventlog6_init',
-	deps='DCERPC_COMMON'
+	deps='DCERPC_COMMON',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
 bld.SAMBA_MODULE('dcerpc_dnsserver',
     source='dnsserver/dcerpc_dnsserver.c dnsserver/dnsutils.c dnsserver/dnsdata.c dnsserver/dnsdb.c',
     subsystem='dcerpc_server',
     init_function='dcerpc_server_dnsserver_init',
-    deps='DCERPC_COMMON'
+    deps='DCERPC_COMMON',
+    enabled=bld.AD_DC_BUILD_IS_ENABLED()
     )
 
 
@@ -163,6 +179,7 @@ bld.SAMBA_MODULE('service_dcerpc',
 	subsystem='service',
 	init_function='server_service_rpc_init',
 	internal_module=False,
-	deps='dcerpc_server'
+	deps='dcerpc_server',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
diff --git a/source4/smbd/wscript_build b/source4/smbd/wscript_build
index 97877fc..f86cd51 100644
--- a/source4/smbd/wscript_build
+++ b/source4/smbd/wscript_build
@@ -5,7 +5,7 @@ bld.SAMBA_LIBRARY('service',
 	autoproto='service_proto.h',
 	deps='tevent MESSAGING samba_socket RPC_NDR_IRPC NDR_NAMED_PIPE_AUTH npa_tstream gssapi samba-credentials LIBTSOCKET LIBSAMBA_TSOCKET process_model',
 	private_library=True,
-	enabled=bld.AD_DC_BUILD_IS_ENABLED()
+	enabled=True
 	)
 
 
@@ -20,7 +20,7 @@ bld.SAMBA_LIBRARY('process_model',
                   autoproto='process_model_proto.h',
                   deps='samba-util samba-hostconfig samba-modules',
                   private_library=True,
-                  enabled=bld.AD_DC_BUILD_IS_ENABLED()
+                  enabled=True
                   )
 
 bld.SAMBA_BINARY('samba',
diff --git a/source4/wrepl_server/wscript_build b/source4/wrepl_server/wscript_build
index 79b1a8c..434c8d7 100644
--- a/source4/wrepl_server/wscript_build
+++ b/source4/wrepl_server/wscript_build
@@ -6,6 +6,7 @@ bld.SAMBA_MODULE('service_wrepl',
 	subsystem='service',
 	init_function='server_service_wrepl_init',
 	internal_module=False,
-	deps='LIBCLI_WREPL WINSDB process_model RPC_NDR_IRPC'
+	deps='LIBCLI_WREPL WINSDB process_model RPC_NDR_IRPC',
+	enabled=bld.AD_DC_BUILD_IS_ENABLED()
 	)
 
diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5
index 0f7e404..1ad6d20 100644
--- a/wscript_configure_system_mitkrb5
+++ b/wscript_configure_system_mitkrb5
@@ -60,8 +60,9 @@ if conf.CHECK_FUNCS_IN('gss_display_status', 'gssapi gssapi_krb5'):
     have_gssapi=True
 
 if not have_gssapi:
-    Logs.error("ERROR: WAF build with MIT Krb5 requires working GSSAPI implementation")
-    sys.exit(1)
+    if conf.env.KRB5_CONFIG and conf.env.KRB5_CONFIG != 'heimdal':
+        Logs.error("ERROR: WAF build with MIT Krb5 requires working GSSAPI implementation")
+        sys.exit(1)
 
 conf.CHECK_FUNCS_IN('''
        gss_wrap_iov
@@ -96,7 +97,7 @@ conf.CHECK_FUNCS('''
        krb5_get_init_creds_keyblock krb5_get_init_creds_keytab
        krb5_make_principal krb5_build_principal_alloc_va
        krb5_cc_get_lifetime krb5_cc_retrieve_cred
-       krb5_free_checksum_contents krb5_c_make_checksum''',
+       krb5_free_checksum_contents krb5_c_make_checksum krb5_create_checksum''',
      lib='krb5 k5crypto')
 conf.CHECK_DECLS('''krb5_get_credentials_for_user
                     krb5_auth_con_set_req_cksumtype''',
@@ -240,3 +241,11 @@ conf.CHECK_CODE('''#define KRB5_DEPRECATED 1
    'HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER', addmain=False,
     link=False,
     msg="Checking for KRB5_DEPRECATED define taking an identifier")
+
+conf.CHECK_CODE('''
+       krb5_creds creds;
+       creds.flags.b.initial = 0;
+       ''',
+    'HAVE_FLAGS_IN_KRB5_CREDS',
+    headers='krb5.h', lib='krb5', execute=False,
+    msg="Checking whether krb5_creds have flags property")


-- 
Samba Shared Repository


More information about the samba-cvs mailing list