s3: smbd: Fix delete operations enumerating streams inside a file. This must always...
commit34f5dc791a00a79bb40a6a33e03c8976365f8cff
authorJeremy Allison <jra@samba.org>
Wed, 20 Jul 2016 18:34:48 +0000 (20 11:34 -0700)
committerKarolin Seeger <kseeger@samba.org>
Tue, 2 Aug 2016 14:25:32 +0000 (2 16:25 +0200)
tree8b99da40121063d6dfc69e3dea5c3a6bcb111111
parent250a0644393ccc342e174cb913b0d41cd2ec2892
s3: smbd: Fix delete operations enumerating streams inside a file. This must always be done as a Windows operation.

When using UNIX extensions to delete a file containing streams,
the open for delete and close operations need to enumerate the
contained streams and do CREATE and UNLINK operations on the
stream names. These must always be done as Windows operations
(use lp_set_posix_pathnames(false) to flip the processing) as
the stream names are Windows paths.

Without this the create operation under the unlink will
recurse and cause the client to time out (or a server crash).

This (hack) is only needed for 4.4.x and below, it is fixed
correctly in 4.5.x.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12021

Signed-off-by: Jeremy Allison <jra@samba.org>
Autobuild-User(v4-4-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-4-test): Tue Aug  2 16:25:32 CEST 2016 on sn-devel-144
source3/smbd/close.c
source3/smbd/open.c