From: Ralph Boehme Date: Wed, 1 Oct 2025 08:33:47 +0000 (+0200) Subject: smbd: pass private_flags to open_directory() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=11dc2973298b9bb1238076709ca09edcb7a32193;p=thirdparty%2Fsamba.git smbd: pass private_flags to open_directory() For now selectively filter NTCREATEX_FLAG_PERSISTENT_OPEN. Signed-off-by: Ralph Boehme Reviewed-by: Anoop C S --- diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 8ba54553aad..043a5b18d40 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -5096,6 +5096,7 @@ static NTSTATUS open_directory(connection_struct *conn, struct smb_filename *smb_fname_atname, uint32_t oplock_request, const struct smb2_lease *lease, + uint32_t private_flags, struct security_descriptor *sd, int *pinfo, struct files_struct *fsp) @@ -5306,7 +5307,11 @@ static NTSTATUS open_directory(connection_struct *conn, fsp->fsp_flags.can_read = false; fsp->fsp_flags.can_write = false; - fsp_apply_private_ntcreatex_flags(fsp, 0); + /* FIXME: what about NTCREATEX_FLAG_STREAM_BASEOPEN ? */ + fsp_apply_private_ntcreatex_flags( + fsp, + private_flags & NTCREATEX_FLAG_PERSISTENT_OPEN); + /* * According to Samba4, SEC_FILE_READ_ATTRIBUTE is always granted, */ @@ -6736,6 +6741,7 @@ static NTSTATUS create_file_unixpath(connection_struct *conn, smb_fname_atname, oplock_request, lease, + private_flags, sd, &info, fsp); @@ -6794,6 +6800,7 @@ static NTSTATUS create_file_unixpath(connection_struct *conn, smb_fname_atname, oplock_request, lease, + private_flags, sd, &info, fsp);