The branch, master has been updated via 10040589581 docs-xml: add missing generic nfs4 parameters in nfs4_xattr man page via 1c2b9625f27 docs_xml: use the nfs4 parameter include file in zfsacl man page via f0d92e8d7fc docs_xml: use the nfs4 parameter include file in gpfs man page via 7011573e13f docs-xml: add nfs4.xml.include documenting the generic NFS4 ACL parameters via 994c262b883 vfs_gpfs: use sys_fstatat() in stat_with_capability() from 9788e92bf12 build: Ensure that SAMBA_GENERATOR() tasks fail on error
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 10040589581894b15217325a8bd320105d2e97e2 Author: Björn Jacke <b...@sernet.de> Date: Mon Jun 20 21:19:36 2022 +0200 docs-xml: add missing generic nfs4 parameters in nfs4_xattr man page Signed-off-by: Bjoern Jacke <bja...@samba.org> Reviewed-by: Christof Schmitt <c...@samba.org> Autobuild-User(master): Christof Schmitt <c...@samba.org> Autobuild-Date(master): Wed Jun 22 18:57:53 UTC 2022 on sn-devel-184 commit 1c2b9625f27830f5f55c76c31154d8a97497d9ca Author: Björn Jacke <b...@sernet.de> Date: Mon Jun 20 21:17:48 2022 +0200 docs_xml: use the nfs4 parameter include file in zfsacl man page Signed-off-by: Bjoern Jacke <bja...@samba.org> Reviewed-by: Christof Schmitt <c...@samba.org> commit f0d92e8d7fcd671aa0568fc1f33da74e2f2bdefa Author: Björn Jacke <b...@sernet.de> Date: Mon Jun 20 21:16:10 2022 +0200 docs_xml: use the nfs4 parameter include file in gpfs man page Signed-off-by: Bjoern Jacke <bja...@samba.org> Reviewed-by: Christof Schmitt <c...@samba.org> commit 7011573e13f246d5ed66ebfc47b08dd1fa0bfc14 Author: Björn Jacke <b...@sernet.de> Date: Mon Jun 20 21:13:32 2022 +0200 docs-xml: add nfs4.xml.include documenting the generic NFS4 ACL parameters Signed-off-by: Bjoern Jacke <bja...@samba.org> Reviewed-by: Christof Schmitt <c...@samba.org> commit 994c262b883740c48ce1fe37eb262b009b9e971f Author: Ralph Boehme <s...@samba.org> Date: Mon Nov 29 23:09:33 2021 +0100 vfs_gpfs: use sys_fstatat() in stat_with_capability() BUG: https://bugzilla.samba.org/show_bug.cgi?id=12421 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Bjoern Jacke <bja...@samba.org> ----------------------------------------------------------------------- Summary of changes: docs-xml/manpages/nfs4.xml.include | 57 +++++++++++++++++++++++++++ docs-xml/manpages/vfs_gpfs.8.xml | 64 ++++--------------------------- docs-xml/manpages/vfs_nfs4acl_xattr.8.xml | 6 +++ docs-xml/manpages/vfs_zfsacl.8.xml | 63 +++--------------------------- source3/modules/vfs_gpfs.c | 15 ++++---- 5 files changed, 84 insertions(+), 121 deletions(-) create mode 100644 docs-xml/manpages/nfs4.xml.include Changeset truncated at 500 lines: diff --git a/docs-xml/manpages/nfs4.xml.include b/docs-xml/manpages/nfs4.xml.include new file mode 100644 index 00000000000..29cad9eb95c --- /dev/null +++ b/docs-xml/manpages/nfs4.xml.include @@ -0,0 +1,57 @@ +<variablelist> + +<varlistentry> + <term>nfs4:mode = [ simple | special ]</term> + <listitem> + <para> + Controls substitution of special IDs (OWNER@ and GROUP@) on NFS4 ACLs. + The use of mode simple is recommended. + In this mode only non inheriting ACL entries for the file owner + and group are mapped to special IDs. + </para> + + <para>The following MODEs are understood by the module:</para> + <itemizedlist> + <listitem><para><command>simple(default)</command> - use OWNER@ and GROUP@ special IDs for non inheriting ACEs only.</para></listitem> + <listitem><para><command>special(deprecated)</command> - use OWNER@ and GROUP@ special IDs in ACEs for all file owner and group ACEs.</para></listitem> + </itemizedlist> + </listitem> + +</varlistentry> + +<varlistentry> + <term>nfs4:acedup = [dontcare|reject|ignore|merge]</term> + <listitem> + <para> + This parameter configures how Samba handles duplicate ACEs encountered in NFS4 ACLs. + They allow creating duplicate ACEs with different bits for same ID, which may confuse the Windows clients. + </para> + + <para>Following is the behaviour of Samba for different values :</para> + <itemizedlist> + <listitem><para><command>dontcare</command> - copy the ACEs as they come</para></listitem> + <listitem><para><command>reject (deprecated)</command> - stop operation and exit with error on ACL set op</para></listitem> + <listitem><para><command>ignore (deprecated)</command> - don't include the second matching ACE</para></listitem> + <listitem><para><command>merge (default)</command> - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE</para></listitem> + </itemizedlist> + </listitem> +</varlistentry> + + +<varlistentry> + <term>nfs4:chown = [yes|no]</term> + <listitem> + <para>This parameter allows enabling or disabling the chown supported + by the underlying filesystem. This parameter should be enabled with + care as it might leave your system insecure.</para> + <para>Some filesystems allow chown as a) giving b) stealing. It is the latter + that is considered a risk.</para> + <para>Following is the behaviour of Samba for different values : </para> + <itemizedlist> + <listitem><para><command>yes</command> - Enable chown if as supported by the under filesystem</para></listitem> + <listitem><para><command>no (default)</command> - Disable chown</para></listitem> + </itemizedlist> + </listitem> +</varlistentry> + +</variablelist> diff --git a/docs-xml/manpages/vfs_gpfs.8.xml b/docs-xml/manpages/vfs_gpfs.8.xml index eb0cc72f8f0..a7168e43b46 100644 --- a/docs-xml/manpages/vfs_gpfs.8.xml +++ b/docs-xml/manpages/vfs_gpfs.8.xml @@ -1,7 +1,11 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc"> +<ns:Root xmlns:xi="http://www.w3.org/2003/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ns="urn:TestNamespace"> <refentry id="vfs_gpfs.8"> + <refmeta> <refentrytitle>vfs_gpfs</refentrytitle> <manvolnum>8</manvolnum> @@ -68,6 +72,8 @@ <refsect1> <title>OPTIONS</title> + <xi:include href="nfs4.xml.include" xpointer="xpointer(*/*)" /> + <variablelist> <varlistentry> @@ -339,62 +345,6 @@ </itemizedlist> </listitem> - </varlistentry> - <varlistentry> - - <term>nfs4:mode = [ simple | special ]</term> - <listitem> - <para> - Controls substitution of special IDs (OWNER@ and GROUP@) on GPFS. - The use of mode simple is recommended. - In this mode only non inheriting ACL entries for the file owner - and group are mapped to special IDs. - </para> - - <para>The following MODEs are understood by the module:</para> - <itemizedlist> - <listitem><para><command>simple(default)</command> - use OWNER@ and GROUP@ special IDs for non inheriting ACEs only.</para></listitem> - <listitem><para><command>special(deprecated)</command> - use OWNER@ and GROUP@ special IDs in ACEs for all file owner and group ACEs.</para></listitem> - </itemizedlist> - </listitem> - - </varlistentry> - - - <varlistentry> - <term>nfs4:acedup = [dontcare|reject|ignore|merge]</term> - <listitem> - <para> - This parameter configures how Samba handles duplicate ACEs encountered in GPFS ACLs. - GPFS allows/creates duplicate ACE for different bits for same ID. - </para> - - <para>Following is the behaviour of Samba for different values :</para> - <itemizedlist> - <listitem><para><command>dontcare</command> - copy the ACEs as they come</para></listitem> - <listitem><para><command>reject (deprecated)</command> - stop operation and exit with error on ACL set op</para></listitem> - <listitem><para><command>ignore (deprecated)</command> - don't include the second matching ACE</para></listitem> - <listitem><para><command>merge (default)</command> - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE</para></listitem> - </itemizedlist> - </listitem> - </varlistentry> - - - <varlistentry> - <term>nfs4:chown = [yes|no]</term> - <listitem> - <para>This parameter allows enabling or disabling the chown supported - by the underlying filesystem. This parameter should be enabled with - care as it might leave your system insecure.</para> - <para>Some filesystems allow chown as a) giving b) stealing. It is the latter - that is considered a risk.</para> - - <para>Following is the behaviour of Samba for different values : </para> - <itemizedlist> - <listitem><para><command>yes</command> - Enable chown if as supported by the under filesystem</para></listitem> - <listitem><para><command>no (default)</command> - Disable chown</para></listitem> - </itemizedlist> - </listitem> </varlistentry> <varlistentry> @@ -418,6 +368,7 @@ </varlistentry> </variablelist> + </refsect1> <refsect1> @@ -475,3 +426,4 @@ </refsect1> </refentry> +</ns:Root> diff --git a/docs-xml/manpages/vfs_nfs4acl_xattr.8.xml b/docs-xml/manpages/vfs_nfs4acl_xattr.8.xml index ec2a1883c68..d4ce40b66a4 100644 --- a/docs-xml/manpages/vfs_nfs4acl_xattr.8.xml +++ b/docs-xml/manpages/vfs_nfs4acl_xattr.8.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc"> +<ns:Root xmlns:xi="http://www.w3.org/2003/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ns="urn:TestNamespace"> <refentry id="vfs_nfs4acl_xattr.8"> <refmeta> @@ -42,6 +45,8 @@ <refsect1> <title>OPTIONS</title> + <xi:include href="nfs4.xml.include" xpointer="xpointer(*/*)" /> + <variablelist> <varlistentry> @@ -164,3 +169,4 @@ </refsect1> </refentry> +</ns:Root> diff --git a/docs-xml/manpages/vfs_zfsacl.8.xml b/docs-xml/manpages/vfs_zfsacl.8.xml index 9b3ba1b6bc7..01e15132b50 100644 --- a/docs-xml/manpages/vfs_zfsacl.8.xml +++ b/docs-xml/manpages/vfs_zfsacl.8.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc"> +<ns:Root xmlns:xi="http://www.w3.org/2003/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ns="urn:TestNamespace"> <refentry id="vfs_zfsacl.8"> <refmeta> @@ -76,64 +79,9 @@ <refsect1> <title>OPTIONS</title> - <variablelist> - - <varlistentry> - - <term>nfs4:mode = [ simple | special ]</term> - <listitem> - <para> - Controls substitution of special IDs (OWNER@ and GROUP@) on ZFS. - The use of mode simple is recommended. - In this mode only non inheriting ACL entries for the file owner - and group are mapped to special IDs. - </para> - - <para>The following MODEs are understood by the module:</para> - <itemizedlist> - <listitem><para><command>simple(default)</command> - use OWNER@ and GROUP@ special IDs for non inheriting ACEs only.</para></listitem> - <listitem><para><command>special(deprecated)</command> - use OWNER@ and GROUP@ special IDs in ACEs for all file owner and group ACEs.</para></listitem> - </itemizedlist> - </listitem> + <xi:include href="nfs4.xml.include" xpointer="xpointer(*/*)" /> - </varlistentry> - - - <varlistentry> - <term>nfs4:acedup = [dontcare|reject|ignore|merge]</term> - <listitem> - <para> - This parameter configures how Samba handles duplicate ACEs encountered in ZFS ACLs. - ZFS allows/creates duplicate ACE for different bits for same ID. - </para> - - <para>Following is the behaviour of Samba for different values :</para> - <itemizedlist> - <listitem><para><command>dontcare (default)</command> - copy the ACEs as they come</para></listitem> - <listitem><para><command>reject (deprecated)</command> - stop operation and exit with error on ACL set op</para></listitem> - <listitem><para><command>ignore (deprecated)</command> - don't include the second matching ACE</para></listitem> - <listitem><para><command>merge</command> - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE</para></listitem> - </itemizedlist> - </listitem> - </varlistentry> - - - <varlistentry> - <term>nfs4:chown = [yes|no]</term> - <listitem> - <para>This parameter allows enabling or disabling the chown supported - by the underlying filesystem. This parameter should be enabled with - care as it might leave your system insecure.</para> - <para>Some filesystems allow chown as a) giving b) stealing. It is the latter - that is considered a risk.</para> - - <para>Following is the behaviour of Samba for different values : </para> - <itemizedlist> - <listitem><para><command>yes</command> - Enable chown if as supported by the under filesystem</para></listitem> - <listitem><para><command>no (default)</command> - Disable chown</para></listitem> - </itemizedlist> - </listitem> - </varlistentry> + <variablelist> <varlistentry> <term>zfsacl:denymissingspecial = [yes|no]</term> @@ -222,3 +170,4 @@ </refsect1> </refentry> +</ns:Root> diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index ca1a9a39479..db167d00226 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -1605,11 +1605,11 @@ static NTSTATUS vfs_gpfs_fset_dos_attributes(struct vfs_handle_struct *handle, static int stat_with_capability(struct vfs_handle_struct *handle, struct smb_filename *smb_fname, int flag) { + bool fake_dctime = lp_fake_directory_create_times(SNUM(handle->conn)); int fd = -1; NTSTATUS status; struct smb_filename *dir_name = NULL; struct smb_filename *rel_name = NULL; - struct stat st; int ret = -1; status = SMB_VFS_PARENT_PATHNAME(handle->conn, @@ -1629,18 +1629,17 @@ static int stat_with_capability(struct vfs_handle_struct *handle, } set_effective_capability(DAC_OVERRIDE_CAPABILITY); - ret = fstatat(fd, rel_name->base_name, &st, flag); + ret = sys_fstatat(fd, + rel_name->base_name, + &smb_fname->st, + flag, + fake_dctime); + drop_effective_capability(DAC_OVERRIDE_CAPABILITY); TALLOC_FREE(dir_name); close(fd); - if (ret == 0) { - init_stat_ex_from_stat( - &smb_fname->st, &st, - lp_fake_directory_create_times(SNUM(handle->conn))); - } - return ret; } -- Samba Shared Repository