From 342d45eddbde41b2ae27f8cd2299818da74d83a5 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 24 Sep 2024 09:50:57 +0200 Subject: [PATCH] posix_ext: Pass unix file type through posix query_directory Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- selftest/knownfail.d/smb3unix | 1 - source3/libsmb/cli_smb2_fnum.c | 2 +- source3/smbd/smb2_posix.c | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 selftest/knownfail.d/smb3unix diff --git a/selftest/knownfail.d/smb3unix b/selftest/knownfail.d/smb3unix deleted file mode 100644 index 59920f281b7..00000000000 --- a/selftest/knownfail.d/smb3unix +++ /dev/null @@ -1 +0,0 @@ -samba.tests.smb3unix.samba.tests.smb3unix.Smb3UnixTests.test_posix_perm_files diff --git a/source3/libsmb/cli_smb2_fnum.c b/source3/libsmb/cli_smb2_fnum.c index 3324935cbb8..e65de62cd52 100644 --- a/source3/libsmb/cli_smb2_fnum.c +++ b/source3/libsmb/cli_smb2_fnum.c @@ -1266,7 +1266,7 @@ static NTSTATUS parse_finfo_posix_info(const uint8_t *dir_data, finfo->st_ex_dev = info.device; finfo->st_ex_nlink = info.cc.nlinks; finfo->reparse_tag = info.cc.reparse_tag; - finfo->st_ex_mode = wire_perms_to_unix(info.cc.posix_mode); + finfo->st_ex_mode = wire_mode_to_unix(info.cc.posix_mode); sid_copy(&finfo->owner_sid, &info.cc.owner); sid_copy(&finfo->group_sid, &info.cc.group); diff --git a/source3/smbd/smb2_posix.c b/source3/smbd/smb2_posix.c index c2df0331d42..72bdac65043 100644 --- a/source3/smbd/smb2_posix.c +++ b/source3/smbd/smb2_posix.c @@ -42,7 +42,7 @@ void smb3_file_posix_information_init( .change_time = unix_timespec_to_nt_time(st->st_ex_ctime), .cc.nlinks = st->st_ex_nlink, .cc.reparse_tag = reparse_tag, - .cc.posix_mode = unix_perms_to_wire(st->st_ex_mode & ~S_IFMT), + .cc.posix_mode = unix_mode_to_wire(st->st_ex_mode), .cc.owner = global_sid_NULL, .cc.group = global_sid_NULL, }; -- 2.47.3