1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

s3/smbd: handling of failed DOS attributes reading

Only fall back to using UNIX modes if we get NOT_IMPLEMENTED. This is
exactly what we already do when setting DOS attributes.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=12944

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
This commit is contained in:
Ralph Boehme 2017-06-08 19:05:48 +02:00
parent eb691cd024
commit 9de1411d9e

View File

@ -622,7 +622,12 @@ uint32_t dos_mode(connection_struct *conn, struct smb_filename *smb_fname)
/* Get the DOS attributes via the VFS if we can */
status = SMB_VFS_GET_DOS_ATTRIBUTES(conn, smb_fname, &result);
if (!NT_STATUS_IS_OK(status)) {
result |= dos_mode_from_sbuf(conn, smb_fname);
/*
* Only fall back to using UNIX modes if we get NOT_IMPLEMENTED.
*/
if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_IMPLEMENTED)) {
result |= dos_mode_from_sbuf(conn, smb_fname);
}
}
if (conn->fs_capabilities & FILE_FILE_COMPRESSION) {