s3:smbd: pass smbXsrv_connection to open_was_deferred()
authorStefan Metzmacher <metze@samba.org>
Tue, 16 Sep 2014 04:55:39 +0000 (06:55 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 19 Sep 2014 07:15:12 +0000 (09:15 +0200)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/smbd/nttrans.c
source3/smbd/process.c
source3/smbd/proto.h
source3/smbd/reply.c
source3/smbd/smb2_create.c
source3/smbd/trans2.c

index 51adcf6c7084b45b662298a6c201590854d76810..edad3e48e86948df5b256cae6f26dc5a162d795b 100644 (file)
@@ -582,7 +582,7 @@ void reply_ntcreate_and_X(struct smb_request *req)
                &info);                                 /* pinfo */
 
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call, no error. */
                        goto out;
                }
@@ -1189,7 +1189,7 @@ static void call_nt_transact_create(connection_struct *conn,
                &info);                                 /* pinfo */
 
        if(!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call, no error. */
                        return;
                }
@@ -1670,7 +1670,7 @@ void reply_ntrename(struct smb_request *req)
        }
 
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
index 93dc4f2127300f53b4890d2aa4ced7395c459a33..0ed78309be1be5aad8b723c497eaa33cceb2c876 100644 (file)
@@ -853,8 +853,9 @@ bool schedule_deferred_open_message_smb(struct smbd_server_connection *sconn,
  Return true if this mid is on the deferred queue and was not yet processed.
 ****************************************************************************/
 
-bool open_was_deferred(struct smbd_server_connection *sconn, uint64_t mid)
+bool open_was_deferred(struct smbXsrv_connection *xconn, uint64_t mid)
 {
+       struct smbd_server_connection *sconn = xconn->client->sconn;
        struct pending_message_list *pml;
 
        if (sconn->using_smb2) {
index 959ef7a74105bef5c7e0d645bc6812a034250152..69e2ba45a143437f1f5a550d0aa6f5097ae6c71d 100644 (file)
@@ -753,7 +753,7 @@ void remove_deferred_open_message_smb(struct smbd_server_connection *sconn,
                                      uint64_t mid);
 bool schedule_deferred_open_message_smb(struct smbd_server_connection *sconn,
                                        uint64_t mid);
-bool open_was_deferred(struct smbd_server_connection *sconn, uint64_t mid);
+bool open_was_deferred(struct smbXsrv_connection *xconn, uint64_t mid);
 bool get_deferred_open_message_state(struct smb_request *smbreq,
                                struct timeval *p_request_time,
                                struct deferred_open_record **open_rec);
index 0d1fc23670108deb5dd088259e463f29a1a0d87a..21be320bb67be3f846ffeaf03dc8f08c08409637 100644 (file)
@@ -2012,7 +2012,7 @@ void reply_open(struct smb_request *req)
                &info);                                 /* pinfo */
 
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
@@ -2181,7 +2181,7 @@ void reply_open_and_X(struct smb_request *req)
                &smb_action);                           /* pinfo */
 
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
@@ -2429,7 +2429,7 @@ void reply_mknew(struct smb_request *req)
                NULL);                                  /* pinfo */
 
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
@@ -2563,7 +2563,7 @@ void reply_ctemp(struct smb_request *req)
                }
 
                if (!NT_STATUS_IS_OK(status)) {
-                       if (open_was_deferred(req->sconn, req->mid)) {
+                       if (open_was_deferred(req->xconn, req->mid)) {
                                /* We have re-scheduled this call. */
                                goto out;
                        }
@@ -3052,7 +3052,7 @@ void reply_unlink(struct smb_request *req)
        status = unlink_internals(conn, req, dirtype, smb_fname,
                                  path_contains_wcard);
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
@@ -6046,7 +6046,7 @@ void reply_rmdir(struct smb_request *req)
                &info);                                 /* pinfo */
 
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
@@ -7121,7 +7121,7 @@ void reply_mv(struct smb_request *req)
                                  attrs, False, src_has_wcard, dest_has_wcard,
                                  DELETE_ACCESS);
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
index 18534349bdd5de95c24b5929a2e2280e6996e18e..3225a82a53ce9af68d182a66aafa6d344489885b 100644 (file)
@@ -956,7 +956,7 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx,
                                                     &result,
                                                     &info);
                        if (!NT_STATUS_IS_OK(status)) {
-                               if (open_was_deferred(smb1req->sconn, smb1req->mid)) {
+                               if (open_was_deferred(smb1req->xconn, smb1req->mid)) {
                                        return req;
                                }
                                tevent_req_nterror(req, status);
index a8043ce0a7ef5968883e124185f32a1b1f686fd5..60128efdf3a794f5f6272b322ad00d2e019d7101 100644 (file)
@@ -1230,7 +1230,7 @@ static void call_trans2open(connection_struct *conn,
                &smb_action);                           /* psbuf */
 
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        goto out;
                }
@@ -8391,7 +8391,7 @@ static void call_trans2setfilepathinfo(connection_struct *conn,
                                         ppdata, total_data,
                                         &data_return_size);
        if (!NT_STATUS_IS_OK(status)) {
-               if (open_was_deferred(req->sconn, req->mid)) {
+               if (open_was_deferred(req->xconn, req->mid)) {
                        /* We have re-scheduled this call. */
                        return;
                }