1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-03 01:18:10 +03:00

s3: smbd: Fix openat_pathref_fsp() to cope with FIFO's in the filesystem.

Remove skip test for the DISABLE_OPATH case.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14816
RN: Fix pathref open of a filesystem fifo in the DISABLE_OPATH build

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>

Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Mon Sep  6 09:51:54 UTC 2021 on sn-devel-184

(cherry picked from commit 2f2c53c4f8)

Autobuild-User(v4-14-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-14-test): Tue Sep  7 10:48:16 UTC 2021 on sn-devel-184
This commit is contained in:
Jeremy Allison 2021-09-02 14:40:53 -07:00 committed by Jule Anger
parent 1bb8ed2b61
commit b5cbbf0542
2 changed files with 4 additions and 4 deletions

View File

@ -7,7 +7,3 @@
# These fail because become_root() doesn't work in make test
^samba3.blackbox.dropbox.*
^samba3.raw.samba3hide.*
# This fails because of BUG: https://bugzilla.samba.org/show_bug.cgi?id=14816
# which causes the server to hang when trying to open a pathref fifo without O_PATH.
# We need to add O_NONBLOCK to make this work.
^samba3.blackbox.fifo

View File

@ -503,6 +503,10 @@ NTSTATUS openat_pathref_fsp(const struct files_struct *dirfsp,
}
}
if (S_ISFIFO(smb_fname->st.st_ex_mode)) {
open_flags |= O_NONBLOCK;
}
status = fd_openat(dirfsp, smb_fname, fsp, open_flags, 0);
if (!NT_STATUS_IS_OK(status)) {
if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND) ||