[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Sep 4 06:06:03 MDT 2012


The branch, master has been updated
       via  4def1c1 file_server: Remove explicit set of passdb backend in fileserver.conf
       via  7afd476 build: sync the waf ACL checks with configure.in
       via  a566404 build: Remove references to charset modules - we no longer have these
       via  cac1ebf build: vfs_fake_acls does not need the acl lib
       via  73932a3 file_server: Run task_server_terminate when smbd exists
       via  8d3e193 file_server: use 'subreq' as variable instead of 'req'
       via  2c9c589 build: remove unused HAVE_NO_ACLS define
      from  4437547 s4-selftest: Try a more complex ACL - this example from a GPO

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


- Log -----------------------------------------------------------------
commit 4def1c1780c98d6595b778a6647818b79dea797a
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Sep 4 20:31:03 2012 +1000

    file_server: Remove explicit set of passdb backend in fileserver.conf
    
    The default is now set during smb.conf loading based on the server role
    or during provision.
    
    Andrew Bartlett
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Tue Sep  4 14:05:34 CEST 2012 on sn-devel-104

commit 7afd476fe412a3cacad4671673f8cb05592bbb94
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Sep 4 20:15:28 2012 +1000

    build: sync the waf ACL checks with configure.in
    
    This should give us full ACLs on the same set of hosts that the autoconf build supports.
    
    Andrew Bartlett

commit a566404362cc7e45b5ce619db81175b55c55c288
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Sep 4 20:06:12 2012 +1000

    build: Remove references to charset modules - we no longer have these

commit cac1ebfff6c83bfe6cec3a740dface97f706f9ff
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Sep 4 19:41:38 2012 +1000

    build: vfs_fake_acls does not need the acl lib

commit 73932a3aa40bb4b2c2bd22f1be3abc546ab83481
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Sep 4 11:06:15 2012 +0200

    file_server: Run task_server_terminate when smbd exists
    
    This will help us shut down when smbd cannot bind to ports or perform
    some other critical startup operation.
    
    Based on a patch by Stefan Metzmacher <metze at samba.org>
    
    Andrew Bartlett

commit 8d3e193fa153eb0c219953707db5ac4cb93cc853
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Sep 4 11:04:16 2012 +0200

    file_server: use 'subreq' as variable instead of 'req'
    
    This matches the style of all other tevent_req users.
    
    metze

commit 2c9c58993cf36bc959d3bf1ca634fbaf9bb3a08f
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Sep 4 18:58:53 2012 +1000

    build: remove unused HAVE_NO_ACLS define

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

Summary of changes:
 file_server/file_server.c     |   13 ++++++----
 source3/configure.in          |    3 --
 source3/modules/wscript_build |    3 +-
 source3/wscript               |   52 +++++++++++++++++++++++++++-------------
 4 files changed, 45 insertions(+), 26 deletions(-)


Changeset truncated at 500 lines:

diff --git a/file_server/file_server.c b/file_server/file_server.c
index e1560c2..0777de5 100644
--- a/file_server/file_server.c
+++ b/file_server/file_server.c
@@ -51,7 +51,6 @@ static const char *generate_smb_conf(struct task_server *task)
 	fdprintf(fd, "[globals]\n");
 	fdprintf(fd, "# auto-generated config for fileserver\n");
 	fdprintf(fd, "server role check:inhibit=yes\n");
-	fdprintf(fd, "passdb backend = samba4\n");
         fdprintf(fd, "rpc_server:default = external\n");
 	fdprintf(fd, "rpc_server:svcctl = embedded\n");
 	fdprintf(fd, "rpc_server:srvsvc = embedded\n");
@@ -78,6 +77,9 @@ static const char *generate_smb_conf(struct task_server *task)
  */
 static void file_server_smbd_done(struct tevent_req *subreq)
 {
+	struct task_server *task =
+		tevent_req_callback_data(subreq,
+		struct task_server);
 	int sys_errno;
 	int ret;
 
@@ -87,6 +89,7 @@ static void file_server_smbd_done(struct tevent_req *subreq)
 	} else {
 		DEBUG(0,("file_server smbd daemon exited normally\n"));
 	}
+	task_server_terminate(task, "smbd child process exited", true);
 }
 
 
@@ -96,7 +99,7 @@ static void file_server_smbd_done(struct tevent_req *subreq)
 static void s3fs_task_init(struct task_server *task)
 {
 	const char *fileserver_conf;
-	struct tevent_req *req;
+	struct tevent_req *subreq;
 	const char *smbd_path;
 	const char *smbd_cmd[2] = { NULL, NULL };
 
@@ -109,19 +112,19 @@ static void s3fs_task_init(struct task_server *task)
 	smbd_cmd[0] = smbd_path;
 
 	/* start it as a child process */
-	req = samba_runcmd_send(task, task->event_ctx, timeval_zero(), 1, 0,
+	subreq = samba_runcmd_send(task, task->event_ctx, timeval_zero(), 1, 0,
 				smbd_cmd,
 				"--configfile", fileserver_conf,
 				"--foreground",
 				debug_get_output_is_stdout()?"--log-stdout":NULL,
 				NULL);
-	if (req == NULL) {
+	if (subreq == NULL) {
 		DEBUG(0, ("Failed to start smbd as child daemon\n"));
 		task_server_terminate(task, "Failed to startup s3fs smb task", true);
 		return;
 	}
 
-	tevent_req_set_callback(req, file_server_smbd_done, task);
+	tevent_req_set_callback(subreq, file_server_smbd_done, task);
 
 	DEBUG(1,("Started file server smbd with config %s\n", fileserver_conf));
 }
diff --git a/source3/configure.in b/source3/configure.in
index e11f434..324d03a 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -5365,7 +5365,6 @@ AC_MSG_RESULT($with_acl_support)
 
 if test x"$with_acl_support" = x"no"; then
 	AC_MSG_RESULT(Disabling ACL support)
-	AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support should be built in])
 else
 	AC_MSG_NOTICE(checking whether ACL support is available:)
 	case "$host_os" in
@@ -5403,7 +5402,6 @@ else
 		;;
 	*darwin*)
 		AC_MSG_NOTICE(ACLs on Darwin currently not supported)
-		AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support is available])
 		;;
 	*)
 		AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
@@ -5452,7 +5450,6 @@ else
    			default_static_modules="$default_static_modules vfs_posixacl"
 		else
 			AC_MSG_NOTICE(ACL support is not avaliable)
-			AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support is available])
 		fi
 		;;
         esac
diff --git a/source3/modules/wscript_build b/source3/modules/wscript_build
index eccbfad..dee7ea3 100644
--- a/source3/modules/wscript_build
+++ b/source3/modules/wscript_build
@@ -107,7 +107,7 @@ bld.SAMBA3_MODULE('vfs_fake_perms',
 bld.SAMBA3_MODULE('vfs_fake_acls',
                  subsystem='vfs',
                  source=VFS_FAKE_ACLS_SRC,
-                 deps='acl attr samba-util',
+                 deps='attr samba-util',
                  init_function='',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_acls'),
                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'))
@@ -228,6 +228,7 @@ bld.SAMBA3_MODULE('vfs_solarisacl',
                  subsystem='vfs',
                  source=VFS_SOLARISACL_SRC,
                  init_function='',
+                 deps='sec',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_solarisacl'),
                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_solarisacl'))
 
diff --git a/source3/wscript b/source3/wscript
index a4ad79b..39a9b92 100755
--- a/source3/wscript
+++ b/source3/wscript
@@ -58,6 +58,9 @@ def set_options(opt):
 def configure(conf):
     from samba_utils import TO_LIST
 
+    default_static_modules = []
+    default_shared_modules = []
+
     if Options.options.developer:
         conf.ADD_CFLAGS('-DDEVELOPER -DDEBUG_PASSWORD')
         conf.env.developer = True
@@ -300,11 +303,33 @@ utimensat vsyslog _write __write __xstat
     else:
         Logs.warn("Unknown host_os '%s', please report this to samba-technical at samba.org" % host_os)
 
-    #FIXME: add more checks
     if Options.options.with_acl_support:
-        if (host_os.rfind('darwin') > -1):
-            conf.DEFINE('HAVE_NO_ACLS', 1)
-            conf.SET_TARGET_TYPE('acl', 'EMPTY')
+	if (host_os.rfind('sysv5') > -1) and conf.CHECK_FUNCS_IN('sec', 'facl', checklibc=True):
+		Logs.info('Using UnixWare ACLs')
+                conf.DEFINE('HAVE_UNIXWARE_ACLS',1)
+                default_static_modules.extend(TO_LIST('vfs_solarisacl'))
+	elif (host_os.rfind('solaris') > -1) and conf.CHECK_FUNCS_IN('sec', 'facl'):
+		Logs.info('Using solaris ACLs')
+                conf.DEFINE('HAVE_SOLARIS_ACLS',1)
+                default_static_modules.extend(TO_LIST('vfs_solarisacl'))
+	elif (host_os.rfind('hpux') > -1):
+		Logs.info('Using HPUX ACLs')
+                conf.DEFINE('HAVE_HPUX_ACLS',1)
+                default_static_modules.extend(TO_LIST('vfs_hpuxacl'))
+	elif (host_os.rfind('irix') > -1):
+		Logs.info('Using IRIX ACLs')
+                conf.DEFINE('HAVE_IRIX_ACLS',1)
+                default_static_modules.extend(TO_LIST('vfs_irixacl'))
+	elif (host_os.rfind('aix') > -1):
+		Logs.info('Using AIX ACLs')
+                conf.DEFINE('HAVE_AIX_ACLS',1)
+                default_static_modules.extend(TO_LIST('vfs_aixacl'))
+	elif (host_os.rfind('osf') > -1) and conf.CHECK_FUNCS_IN('pacl', 'acl_get_fd'):
+		Logs.info('Using Tru64 ACLs')
+                conf.DEFINE('HAVE_TRU64_ACLS',1)
+                default_static_modules.extend(TO_LIST('vfs_tru64acl'))
+        elif (host_os.rfind('darwin') > -1):
+            Logs.warn('ACLs on Dwarwin currently not supported')
         else:
             conf.CHECK_FUNCS_IN('acl_get_file', 'acl')
             if conf.CHECK_CODE('''
@@ -324,9 +349,8 @@ return acl_get_perm_np(permset_d, perm);
                         'HAVE_ACL_GET_PERM_NP',
                         headers='sys/types.h sys/acl.h', link=True,
                         msg="Checking whether acl_get_perm_np() is available")
-    else:
-        conf.DEFINE('HAVE_NO_ACLS', 1)
-        conf.SET_TARGET_TYPE('acl', 'EMPTY')
+                default_static_modules.extend(TO_LIST('vfs_posixacl'))
+
 
     if conf.CHECK_FUNCS('dirfd'):
         conf.DEFINE('HAVE_DIRFD_DECL', 1)
@@ -1442,16 +1466,13 @@ main() {
     if conf.CHECK_HEADERS('gpfs_gpl.h'):
         conf.DEFINE('HAVE_GPFS', '1')
 
-    # Note that all charset 'modules' must actually be static, due to dependency loop issues 
-    # if we include the module loader in iconv
-
-    default_static_modules=TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam
+    default_static_modules.extend(TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam
                                       auth_sam auth_unix auth_winbind auth_wbc
                                       auth_domain auth_builtin vfs_default
                                       nss_info_template idmap_tdb idmap_passdb
-                                      idmap_nss''')
+                                      idmap_nss'''))
 
-    default_shared_modules=TO_LIST('''vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk
+    default_shared_modules.extend(TO_LIST('''vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk
                                       vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap
                                       vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 
                                       auth_script vfs_readahead vfs_xattr_tdb vfs_posix_eadb
@@ -1460,7 +1481,7 @@ main() {
 				      vfs_media_harmony
                                       vfs_crossrename vfs_linux_xfs_sgid
                                       vfs_time_audit idmap_autorid idmap_tdb2
-                                      idmap_rid idmap_hash''')
+                                      idmap_rid idmap_hash'''))
 
     if Options.options.developer:
         default_static_modules.extend(TO_LIST('charset_weird'))
@@ -1475,9 +1496,6 @@ main() {
     if conf.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
         default_static_modules.extend(TO_LIST('pdb_samba_dsdb auth_samba4 vfs_dfs_samba4'))
 
-    if Options.options.with_acl_support and conf.CONFIG_SET('HAVE_POSIX_ACLS'):
-        default_static_modules.extend(TO_LIST('vfs_posixacl'))
-
     if conf.CONFIG_SET('HAVE_FREEBSD_SUNACL_H'):
         default_shared_modules.extend(TO_LIST('vfs_zfsacl'))
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list