]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:smbd: add twrp args to filename_convert()
authorRalph Boehme <slow@samba.org>
Sat, 24 Nov 2018 09:45:49 +0000 (10:45 +0100)
committerKarolin Seeger <kseeger@samba.org>
Thu, 13 Dec 2018 12:48:27 +0000 (13:48 +0100)
All existing callers pass NULL, no change in behaviour.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit 14b6e6842b76d7c3e53249ba026a3ff51615ebd7)

source3/rpc_server/srvsvc/srv_srvsvc_nt.c
source3/smbd/filename.c
source3/smbd/nttrans.c
source3/smbd/open.c
source3/smbd/proto.h
source3/smbd/reply.c
source3/smbd/smb2_create.c
source3/smbd/smb2_query_directory.c
source3/smbd/trans2.c

index 2ff8e64fccc16ee2a8f8f4c2d13590ec723a6ec8..69d7560c4b6d3b0cd074baa16eb6e3cd7935b4d2 100644 (file)
@@ -2359,6 +2359,7 @@ WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct *p,
                                        r->in.file,
                                        ucf_flags,
                                        NULL,
+                                       NULL,
                                        &smb_fname);
        if (!NT_STATUS_IS_OK(nt_status)) {
                werr = ntstatus_to_werror(nt_status);
@@ -2502,6 +2503,7 @@ WERROR _srvsvc_NetSetFileSecurity(struct pipes_struct *p,
                                        r->in.file,
                                        ucf_flags,
                                        NULL,
+                                       NULL,
                                        &smb_fname);
        if (!NT_STATUS_IS_OK(nt_status)) {
                werr = ntstatus_to_werror(nt_status);
index e7d0c4a70de01f95b733769b444fa17564bdfd34..ede14b95e791afcc90253a6a0a19ccde8b7ce458 100644 (file)
@@ -1690,6 +1690,7 @@ NTSTATUS filename_convert(TALLOC_CTX *ctx,
                                connection_struct *conn,
                                const char *name_in,
                                uint32_t ucf_flags,
+                               time_t *twrp,
                                bool *ppath_contains_wcard,
                                struct smb_filename **pp_smb_fname)
 {
@@ -1698,7 +1699,7 @@ NTSTATUS filename_convert(TALLOC_CTX *ctx,
                                        NULL,
                                        name_in,
                                        ucf_flags,
-                                       NULL,
+                                       twrp,
                                        ppath_contains_wcard,
                                        pp_smb_fname);
 }
index 68470766f77914620ac4dc660099d9625508eed0..e692f520e6c16af5dcd8712b354d6fe54ae5acb7 100644 (file)
@@ -543,6 +543,7 @@ void reply_ntcreate_and_X(struct smb_request *req)
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
 
        TALLOC_FREE(case_state);
@@ -1115,6 +1116,7 @@ static void call_nt_transact_create(connection_struct *conn,
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
 
        TALLOC_FREE(case_state);
@@ -1636,6 +1638,7 @@ void reply_ntrename(struct smb_request *req)
                                  oldname,
                                  ucf_flags_src,
                                  NULL,
+                                 NULL,
                                  &smb_fname_old);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,
@@ -1652,6 +1655,7 @@ void reply_ntrename(struct smb_request *req)
        status = filename_convert(ctx, conn,
                                  newname,
                                  ucf_flags_dst,
+                                 NULL,
                                  &dest_has_wcard,
                                  &smb_fname_new);
        if (!NT_STATUS_IS_OK(status)) {
index 97cf458a86455ef1eb57883f99d52f496e767b20..8a202ab2996688f5c10dd3081d23a5dd0c308de7 100644 (file)
@@ -5519,6 +5519,7 @@ NTSTATUS get_relative_fid_filename(connection_struct *conn,
                                new_base_name,
                                ucf_flags,
                                NULL,
+                               NULL,
                                smb_fname_out);
        if (!NT_STATUS_IS_OK(status)) {
                goto out;
index 8b501d778440831667d4742b13cf643583ab95fe..db0bffbdd7c6eba06188359cde0571154e1cb69d 100644 (file)
@@ -354,6 +354,7 @@ NTSTATUS filename_convert(TALLOC_CTX *mem_ctx,
                        connection_struct *conn,
                        const char *name_in,
                        uint32_t ucf_flags,
+                       time_t *twrp,
                        bool *ppath_contains_wcard,
                        struct smb_filename **pp_smb_fname);
 NTSTATUS filename_convert_with_privilege(TALLOC_CTX *mem_ctx,
index 2b5bb8f1ed6469dce6feaa21f76470388f2ffb27..5adaba22dbe44fb60e55a22f90c0aaca1a990b3b 100644 (file)
@@ -1305,6 +1305,7 @@ void reply_checkpath(struct smb_request *req)
                                name,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
 
        if (!NT_STATUS_IS_OK(status)) {
@@ -1403,6 +1404,7 @@ void reply_getatr(struct smb_request *req)
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
                if (!NT_STATUS_IS_OK(status)) {
                        if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -1506,6 +1508,7 @@ void reply_setatr(struct smb_request *req)
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -1803,6 +1806,7 @@ void reply_search(struct smb_request *req)
                nt_status = filename_convert(ctx, conn,
                                             path,
                                             ucf_flags,
+                                            NULL,
                                             &mask_contains_wcard,
                                             &smb_fname);
                if (!NT_STATUS_IS_OK(nt_status)) {
@@ -2146,6 +2150,7 @@ void reply_open(struct smb_request *req)
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -2318,6 +2323,7 @@ void reply_open_and_X(struct smb_request *req)
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -2562,6 +2568,7 @@ void reply_mknew(struct smb_request *req)
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -2698,6 +2705,7 @@ void reply_ctemp(struct smb_request *req)
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
                if (!NT_STATUS_IS_OK(status)) {
                        if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -3236,6 +3244,7 @@ void reply_unlink(struct smb_request *req)
        status = filename_convert(ctx, conn,
                                  name,
                                  ucf_flags,
+                                 NULL,
                                  &path_contains_wcard,
                                  &smb_fname);
        if (!NT_STATUS_IS_OK(status)) {
@@ -6168,6 +6177,7 @@ void reply_mkdir(struct smb_request *req)
                                 directory,
                                 ucf_flags,
                                 NULL,
+                                NULL,
                                 &smb_dname);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -6238,6 +6248,7 @@ void reply_rmdir(struct smb_request *req)
                                 directory,
                                 ucf_flags,
                                 NULL,
+                                NULL,
                                 &smb_dname);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -7360,6 +7371,7 @@ void reply_mv(struct smb_request *req)
                                  conn,
                                  name,
                                  src_ucf_flags,
+                                 NULL,
                                  &src_has_wcard,
                                  &smb_fname_src);
 
@@ -7377,6 +7389,7 @@ void reply_mv(struct smb_request *req)
                                  conn,
                                  newname,
                                  dst_ucf_flags,
+                                 NULL,
                                  &dest_has_wcard,
                                  &smb_fname_dst);
 
@@ -7670,6 +7683,7 @@ void reply_copy(struct smb_request *req)
        status = filename_convert(ctx, conn,
                                  fname_src,
                                  ucf_flags_src,
+                                 NULL,
                                  &source_has_wild,
                                  &smb_fname_src);
        if (!NT_STATUS_IS_OK(status)) {
@@ -7685,6 +7699,7 @@ void reply_copy(struct smb_request *req)
        status = filename_convert(ctx, conn,
                                  fname_dst,
                                  ucf_flags_dst,
+                                 NULL,
                                  &dest_has_wild,
                                  &smb_fname_dst);
        if (!NT_STATUS_IS_OK(status)) {
index 16a02f42ea3dcb68c7df100b28b91a16f76b7039..799efd1d26cdf13e942684ad01511ff03659ecb5 100644 (file)
@@ -423,7 +423,7 @@ static NTSTATUS smbd_smb2_create_durable_lease_check(struct smb_request *smb1req
        ucf_flags = filename_create_ucf_flags(smb1req, FILE_OPEN);
        status = filename_convert(talloc_tos(), fsp->conn,
                                  filename, ucf_flags,
-                                 NULL, &smb_fname);
+                                 NULL, NULL, &smb_fname);
        TALLOC_FREE(filename);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(10, ("filename_convert returned %s\n",
@@ -891,6 +891,7 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx,
                                  smb1req->conn,
                                  state->fname,
                                  ucf_flags,
+                                 NULL,
                                  NULL, /* ppath_contains_wcards */
                                  &smb_fname);
        if (!NT_STATUS_IS_OK(status)) {
index 700f43e31262928e362e7a3003bb2641a1118bb9..f0aa65fe19323db4b45179f1027ee36cac4b7d06 100644 (file)
@@ -400,6 +400,7 @@ static struct tevent_req *smbd_smb2_query_directory_send(TALLOC_CTX *mem_ctx,
                                conn,
                                fullpath,
                                ucf_flags,
+                               NULL,
                                &wcard_has_wild,
                                &smb_fname);
 
index 9e29c9c23c3c90bb10330e3f5fbc81ef86873b36..bb20ebeec8617d1b85e52d554371c2555d6c692f 100644 (file)
@@ -1296,6 +1296,7 @@ static void call_trans2open(connection_struct *conn,
                                fname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname);
        if (!NT_STATUS_IS_OK(status)) {
                if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -2737,6 +2738,7 @@ close_if_end = %d requires_resume_key = %d backup_priv = %d level = 0x%x, max_da
                ntstatus = filename_convert(talloc_tos(), conn,
                                    directory,
                                    ucf_flags,
+                                   NULL,
                                    &mask_contains_wcard,
                                    &smb_dname);
        }
@@ -5850,6 +5852,7 @@ static void call_trans2qfilepathinfo(connection_struct *conn,
                                        fname,
                                        ucf_flags,
                                        NULL,
+                                       NULL,
                                        &smb_fname);
                if (!NT_STATUS_IS_OK(status)) {
                        if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -6686,6 +6689,7 @@ static NTSTATUS smb_set_file_unix_hlink(connection_struct *conn,
                                oldname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname_old);
        if (!NT_STATUS_IS_OK(status)) {
                return status;
@@ -6761,6 +6765,7 @@ static NTSTATUS smb2_file_rename_information(connection_struct *conn,
                                newname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname_dst);
        if (!NT_STATUS_IS_OK(status)) {
                return status;
@@ -6871,6 +6876,7 @@ static NTSTATUS smb_file_link_information(connection_struct *conn,
                                newname,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_fname_dst);
        if (!NT_STATUS_IS_OK(status)) {
                return status;
@@ -8831,6 +8837,7 @@ static void call_trans2setfilepathinfo(connection_struct *conn,
                                         fname,
                                         ucf_flags,
                                         NULL,
+                                        NULL,
                                         &smb_fname);
                if (!NT_STATUS_IS_OK(status)) {
                        if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) {
@@ -8980,6 +8987,7 @@ static void call_trans2mkdir(connection_struct *conn, struct smb_request *req,
                                directory,
                                ucf_flags,
                                NULL,
+                               NULL,
                                &smb_dname);
 
        if (!NT_STATUS_IS_OK(status)) {