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 <[email protected]>
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 <[email protected]>
    
    Autobuild-User: Andreas Schneider <[email protected]>
    Autobuild-Date: Fri Jun  1 11:23:21 CEST 2012 on sn-devel-104

commit f8c447b1a48eaf12dcf70b92fd7525c4ad26c246
Author: Alexander Bokovoy <[email protected]>
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 <[email protected]>

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

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

Reply via email to