The branch, master has been updated via 45cb14ac808 waf: re-add missing readlink test via e225ab70db0 readlink test: inverse return code via 89e903985b6 wscript: s/default/required/ _static_modules for the acl modules via 396c17160c1 vfs_aixacl: add proper header file via 183ab5ced83 acl: fix function arguments for AIX' and Solaris' sys_acl_get_fd() from 408be543238 s3: smbd: Fix our leases code to return the correct error in the non-dynamic share case.
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 45cb14ac80889ac913f7f76dbfaebcb4d5ee14fd Author: Björn Jacke <b...@sernet.de> Date: Wed Dec 26 01:03:29 2018 +0100 waf: re-add missing readlink test this was another portability regression that came with the moving to waf BUG: https://bugzilla.samba.org/show_bug.cgi?id=13631 Signed-off-by: Bjoern Jacke <b...@sernet.de> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Fri Feb 18 23:12:51 UTC 2022 on sn-devel-184 commit e225ab70db0cc01454d319eaca5265d7e33f396c Author: Björn Jacke <b...@sernet.de> Date: Wed Dec 26 01:01:14 2018 +0100 readlink test: inverse return code We need to return 0 in case readlink is *broken* here - this is because our waf CHECK_CODE function does only allow generating defines in case the test succeeds BUG: https://bugzilla.samba.org/show_bug.cgi?id=13631 Signed-off-by: Bjoern Jacke <b...@sernet.de> Reviewed-by: Jeremy Allison <j...@samba.org> commit 89e903985b6968c5becc69b757b23144b1aba66e Author: Björn Jacke <b...@sernet.de> Date: Tue Feb 15 14:25:41 2022 +0100 wscript: s/default/required/ _static_modules for the acl modules BUG: https://bugzilla.samba.org/show_bug.cgi?id=14974 Signed-off-by: Bjoern Jacke <bja...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 396c17160c19c6df43123074bf62268c6ed0f9e4 Author: Bjoern Jacke <b...@sernet.de> Date: Fri Feb 11 00:45:00 2022 +0000 vfs_aixacl: add proper header file BUG: https://bugzilla.samba.org/show_bug.cgi?id=7239 Signed-off-by: Bjoern Jacke <bja...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 183ab5ced8377b63ad07d2e810396d3b414f4a7d Author: Björn Jacke <b...@sernet.de> Date: Fri Feb 11 03:38:31 2022 +0100 acl: fix function arguments for AIX' and Solaris' sys_acl_get_fd() BUG: https://bugzilla.samba.org/show_bug.cgi?id=14974 Signed-off-by: Bjoern Jacke <bja...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> ----------------------------------------------------------------------- Summary of changes: source3/lib/sysacls.c | 8 ++++++-- lib/util/select.h => source3/modules/vfs_aixacl.h | 21 +++++++++++++-------- source3/modules/vfs_solarisacl.h | 1 + source3/wscript | 12 +++++++++--- tests/readlink.c | 11 +++++++---- 5 files changed, 36 insertions(+), 17 deletions(-) copy lib/util/select.h => source3/modules/vfs_aixacl.h (54%) Changeset truncated at 500 lines: diff --git a/source3/lib/sysacls.c b/source3/lib/sysacls.c index d42337190c3..a7ab5836536 100644 --- a/source3/lib/sysacls.c +++ b/source3/lib/sysacls.c @@ -34,6 +34,10 @@ #include "modules/vfs_hpuxacl.h" #endif +#if defined(HAVE_AIX_ACLS) +#include "modules/vfs_aixacl.h" +#endif + #undef DBGC_CLASS #define DBGC_CLASS DBGC_ACLS @@ -387,7 +391,7 @@ SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, SMB_ACL_TYPE_T type, TALLOC_CTX *mem_ctx) { - return aixacl_sys_acl_get_fd(handle, fsp, mem_ctx); + return aixacl_sys_acl_get_fd(handle, fsp, type, mem_ctx); } int sys_acl_set_fd(vfs_handle_struct *handle, @@ -410,7 +414,7 @@ SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, SMB_ACL_TYPE_T type, TALLOC_CTX *mem_ctx) { - return solarisacl_sys_acl_get_fd(handle, fsp, + return solarisacl_sys_acl_get_fd(handle, fsp, type, mem_ctx); } diff --git a/lib/util/select.h b/source3/modules/vfs_aixacl.h similarity index 54% copy from lib/util/select.h copy to source3/modules/vfs_aixacl.h index fa1970ec016..f9fe3f85dc6 100644 --- a/lib/util/select.h +++ b/source3/modules/vfs_aixacl.h @@ -1,7 +1,5 @@ /* - Unix SMB/Netbios implementation. - Samba select/poll implementation - Copyright (C) Andrew Tridgell 1992-1998 + Copyright (C) Bjoern Jacke <bja...@samba.org> 2022 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,13 +15,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef _select_h_ -#define _select_h_ +#ifndef __VFS_AIXACL_H__ +#define __VFS_AIXACL_H__ -#include "system/select.h" +SMB_ACL_T aixacl_sys_acl_get_fd(vfs_handle_struct *handle, + files_struct *fsp, + SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx); -/* The following definitions come from lib/util/select.c */ +int aixacl_sys_acl_set_fd(vfs_handle_struct *handle, + files_struct *fsp, + SMB_ACL_TYPE_T type, + SMB_ACL_T acl_d); -int sys_poll_intr(struct pollfd *fds, int num_fds, int timeout); +int aixacl_sys_acl_delete_def_fd(vfs_handle_struct *handle, + files_struct *fsp); #endif diff --git a/source3/modules/vfs_solarisacl.h b/source3/modules/vfs_solarisacl.h index f914304fd24..54d538c25a8 100644 --- a/source3/modules/vfs_solarisacl.h +++ b/source3/modules/vfs_solarisacl.h @@ -27,6 +27,7 @@ SMB_ACL_T solarisacl_sys_acl_get_file(vfs_handle_struct *handle, SMB_ACL_T solarisacl_sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, + SMB_ACL_TYPE_T type, TALLOC_CTX *mem_ctx); int solarisacl_sys_acl_set_fd(vfs_handle_struct *handle, diff --git a/source3/wscript b/source3/wscript index 8eb4b0e04ca..412f315c662 100644 --- a/source3/wscript +++ b/source3/wscript @@ -485,11 +485,11 @@ vsyslog Logs.info('Using HPUX ACLs') conf.DEFINE('HAVE_HPUX_ACLS',1) conf.DEFINE('POSIX_ACL_NEEDS_MASK',1) - default_static_modules.extend(['vfs_hpuxacl']) + required_static_modules.extend(['vfs_hpuxacl']) elif (host_os.rfind('aix') > -1): Logs.info('Using AIX ACLs') conf.DEFINE('HAVE_AIX_ACLS',1) - default_static_modules.extend(['vfs_aixacl', 'vfs_aixacl2']) + required_static_modules.extend(['vfs_aixacl', 'vfs_aixacl2']) elif (host_os.rfind('darwin') > -1): Logs.warn('ACLs on Darwin currently not supported') conf.fatal("ACL support not available on Darwin/MacOS. " @@ -522,7 +522,7 @@ return acl_get_perm_np(permset_d, perm); elif conf.CHECK_FUNCS_IN(['facl'], 'sec'): Logs.info('Using solaris or UnixWare ACLs') conf.DEFINE('HAVE_SOLARIS_UNIXWARE_ACLS',1) - default_static_modules.extend(['vfs_solarisacl']) + required_static_modules.extend(['vfs_solarisacl']) else: conf.fatal("ACL support not found. Try installing libacl1-dev " "or libacl-devel. " @@ -1374,6 +1374,12 @@ main() { addmain=False, execute=True) + conf.CHECK_CODE('''#include "../tests/readlink.c"''', + 'HAVE_BROKEN_READLINK', + msg='Checking for readlink breakage', + addmain=False, + execute=True) + conf.SET_TARGET_TYPE('sendfile', 'EMPTY') conf.CHECK_LIB('sendfile') if not Options.options.with_sendfile_support == False: diff --git a/tests/readlink.c b/tests/readlink.c index 65311c2ff79..a09eba4af2b 100644 --- a/tests/readlink.c +++ b/tests/readlink.c @@ -1,4 +1,7 @@ -/* test whether readlink returns a short buffer correctly. */ +/* test whether readlink returns a short buffer incorrectly. + We need to return 0 in case readlink is *broken* here - this is because our waf + CHECK_CODE function does only allow generating defines in case the test succeeds +*/ #if defined(HAVE_UNISTD_H) #include <unistd.h> @@ -20,14 +23,14 @@ int main(void) unlink(FNAME); ret = symlink(DATA, FNAME); if (ret == -1) { - exit(1); + exit(0); } rl_ret = readlink(FNAME, buf, sizeof(buf)); if (rl_ret == -1) { unlink(FNAME); - exit(1); + exit(0); } unlink(FNAME); - exit(0); + exit(1); } -- Samba Shared Repository