]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3/smbd: Don't stat when doing a quota operation (as it's a fake file)
authorNoel Power <noel.power@suse.com>
Tue, 28 Feb 2017 11:36:47 +0000 (11:36 +0000)
committerKarolin Seeger <kseeger@samba.org>
Mon, 13 Aug 2018 10:56:37 +0000 (12:56 +0200)
calling SMB_VFS_STAT on the quota fake file fails and caused
FS_INFO/FileFsControlInfo request to error out early, in turn stopped a
Win8.1 client from proceeding with quota queries.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13553

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/trans2.c

index 0b62fd4f8751d342d2e540626a99de391b3da47d..9e29c9c23c3c90bb10330e3f5fbc81ef86873b36 100644 (file)
@@ -3452,7 +3452,8 @@ NTSTATUS smbd_do_qfsinfo(struct smbXsrv_connection *xconn,
        ZERO_STRUCT(smb_fname);
        smb_fname.base_name = discard_const_p(char, filename);
 
-       if(SMB_VFS_STAT(conn, &smb_fname) != 0) {
+       if(info_level != SMB_FS_QUOTA_INFORMATION
+          && SMB_VFS_STAT(conn, &smb_fname) != 0) {
                DEBUG(2,("stat of . failed (%s)\n", strerror(errno)));
                return map_nt_error_from_unix(errno);
        }