[RFC] incorrect dosmode on stream associated with dir
Jeremy Allison
jra at samba.org
Tue Apr 10 17:49:52 UTC 2018
On Tue, Apr 10, 2018 at 05:58:58AM -0400, Andrew Walker wrote:
>
> Hi Jeremy,
>
> Sorry for delay in responding. The issue was observed on FreeBSD, Samba Version
> 4.7.6.
>
> Config details:
>
> ### smb.conf ###
> [global]
> idmap config * : range = 3000-7999
> idmap config * : backend = tdb
> ea support = Yes
> store dos attributes = Yes
>
>
> [SHARE]
> map readonly = no
> path = "/usr/home/SAMBA"
> read only = No
> vfs objects = zfsacl streams_xattr
>
> ### lsextattr output ###
> root at DC00:/usr/home/SAMBA # lsextattr user Test_Dir/
> Test_Dir/ DOSATTRIB DosStream.Cats:$DATA
>
> _both_ DOSATTRIB and DosStream are required to reproduce bug.
>
> b64encoded DOSATTRIB
> MHgxMgAAAwADAAAAEQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwlXM2fzNMBAAAAAAAAAAA=
>
> b64encoded DosStream.Cats:$DATA
> QUZQAAAAAQAAAAAAgAAAAFBMQVBsdGFwBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
>
> ### client ###
> windows 7 enterprise, service pack 1, all patches applied
>
> ### workflow ###
> 1) create directory on server.
> 2) write ADS to directory.
> 3) copy directory to client desktop (note dir must not exist on client).
Problem is I can't reproduce this locally on Linux. I believe you,
and the fix seems obvious and non-intrusive, but I need
a reproducer first. Here's what I have:
smb.conf share definition:
[tmp2]
path = /tmp/testdir
store dos attributes = yes
ea support = yes
vfs objects = streams_xattr
read only = no
guest ok = yes
bin/smbclient //127.0.0.1/tmp2 -Uuser%pass
smb: \> mkdir foo
smb: \> put look foo:bar
putting file look as \foo:bar (0.0 kb/s) (average 0.0 kb/s)
smb: \> allinfo foo:bar
altname: foo
create_time: Tue Apr 10 10:42:35 AM 2018 PDT
access_time: Tue Apr 10 10:42:35 AM 2018 PDT
write_time: Tue Apr 10 10:42:35 AM 2018 PDT
change_time: Tue Apr 10 10:42:35 AM 2018 PDT
attributes: A (20)
NT_STATUS_INVALID_PARAMETER getting streams for \foo:bar
(the NT_STATUS_INVALID_PARAMETER is expected as you
can't enumerate streams on a stream handle).
Note this is returning only A, not DA which
is what you are seeing.
If I look at the xattrs directly I do see the xattrs:
$ getfattr /tmp/testdir/foo
getfattr: Removing leading '/' from absolute path names
# file: tmp/testdir/foo
user.DOSATTRIB
user.DosStream.bar:$DATA
Can you reproduce using smbclient somehow so I can
figure out what is different between your system
and mine ?
Thanks,
Jeremy.
More information about the samba-technical
mailing list