]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: smbd: Convert reply_getatr() to use filename_convert_dirfsp().
authorJeremy Allison <jra@samba.org>
Thu, 28 Jul 2022 17:30:02 +0000 (10:30 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 2 Aug 2022 19:49:32 +0000 (19:49 +0000)
One less use of filename_convert().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
source3/smbd/smb1_reply.c

index 2b793f7ed37ed5c4e9c4e54bca20abce4d9b06b1..f6f05ed861c7a03cfa02748e85d03fee99b7a307 100644 (file)
@@ -682,13 +682,19 @@ void reply_getatr(struct smb_request *req)
                size = 0;
                mtime = 0;
        } else {
+               struct files_struct *dirfsp = NULL;
                uint32_t ucf_flags = ucf_flags_from_smb_request(req);
-               status = filename_convert(ctx,
-                               conn,
-                               fname,
-                               ucf_flags,
-                               0,
-                               &smb_fname);
+               NTTIME twrp = 0;
+               if (ucf_flags & UCF_GMT_PATHNAME) {
+                       extract_snapshot_token(fname, &twrp);
+               }
+               status = filename_convert_dirfsp(ctx,
+                                                conn,
+                                                fname,
+                                                ucf_flags,
+                                                twrp,
+                                                &dirfsp,
+                                                &smb_fname);
                if (!NT_STATUS_IS_OK(status)) {
                        if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
                                reply_botherror(req, NT_STATUS_PATH_NOT_COVERED,