smbd: Add "posix" flag to openat_pathref_dirfsp_nosymlink()
authorVolker Lendecke <vl@samba.org>
Wed, 14 Dec 2022 16:35:17 +0000 (17:35 +0100)
committerRalph Boehme <slow@samba.org>
Thu, 15 Dec 2022 11:30:04 +0000 (11:30 +0000)
commit17bbd6ec4c2607afeadd91a29c245054a6ca6828
treea09fc98e0101e8bf44f2d8290350200d0e068f2c
parent612c8da01cf54be1268f2fe27fb187161cc2d0b3
smbd: Add "posix" flag to openat_pathref_dirfsp_nosymlink()

Don't do the get_real_filename() retry if we're in posix context of if
the connection is case sensitive.

The whole concept of case sensivity blows my brain. In SMB1 without
posix extensions it's a per-request thing. In SMB2 without posix
extensions this should just depend on "case sensitive = yes/no", and
in future SMB2 posix extensions this will become a per-request thing
again, depending on the existence of the posix create context.

Then there are other semantics that are attached to posix-ness, which
have nothing to do with case sensivity. See for example merge request
2819 and bug 8776, or commit f0e1137425f. Also see
check_path_syntax_internal().

This patch uses the same flags as openat_pathref_fsp_case_insensitive()
does, but I am 100% certain this is wrong in a subtle way.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Dec 15 11:30:04 UTC 2022 on sn-devel-184
selftest/knownfail.d/posix_case_sensivity [deleted file]
source3/smbd/filename.c
source3/smbd/files.c
source3/smbd/proto.h