]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: Move get_deferred_open_message_state to smb2_process.c
authorDavid Mulder <dmulder@suse.com>
Fri, 18 Mar 2022 20:15:30 +0000 (14:15 -0600)
committerJeremy Allison <jra@samba.org>
Thu, 7 Apr 2022 17:37:29 +0000 (17:37 +0000)
Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/process.c
source3/smbd/proto.h
source3/smbd/smb2_process.c

index afb90e9b95ec3a223fbbee466e4883218dec36e0..e6783404dd8ef1c784930ced8c457df0729ae0e6 100644 (file)
@@ -679,52 +679,6 @@ static bool push_queued_message(struct smb_request *req,
        return True;
 }
 
-/****************************************************************************
- Return the message queued by this mid.
-****************************************************************************/
-
-struct pending_message_list *get_deferred_open_message_smb(
-       struct smbd_server_connection *sconn, uint64_t mid)
-{
-       struct pending_message_list *pml;
-
-       for (pml = sconn->deferred_open_queue; pml; pml = pml->next) {
-               if (((uint64_t)SVAL(pml->buf.data,smb_mid)) == mid) {
-                       return pml;
-               }
-       }
-       return NULL;
-}
-
-/****************************************************************************
- Get the state data queued by this mid.
-****************************************************************************/
-
-bool get_deferred_open_message_state(struct smb_request *smbreq,
-                               struct timeval *p_request_time,
-                               struct deferred_open_record **open_rec)
-{
-       struct pending_message_list *pml;
-
-       if (smbreq->sconn->using_smb2) {
-               return get_deferred_open_message_state_smb2(smbreq->smb2req,
-                                       p_request_time,
-                                       open_rec);
-       }
-
-       pml = get_deferred_open_message_smb(smbreq->sconn, smbreq->mid);
-       if (!pml) {
-               return false;
-       }
-       if (p_request_time) {
-               *p_request_time = pml->request_time;
-       }
-       if (open_rec != NULL) {
-               *open_rec = pml->open_rec;
-       }
-       return true;
-}
-
 /****************************************************************************
  Function to push a deferred open smb message onto a linked list of local smb
  messages ready for processing.
index 470bc16e1054fb8ea88a24df7030c694d508b33f..192be0a3a8055bcd7adaa4bb95281e833b7457b6 100644 (file)
@@ -852,9 +852,6 @@ bool smb1_srv_send(struct smbXsrv_connection *xconn, char *buffer,
                   bool do_signing, uint32_t seqnum,
                   bool do_encrypt,
                   struct smb_perfcount_data *pcd);
-bool get_deferred_open_message_state(struct smb_request *smbreq,
-                               struct timeval *p_request_time,
-                               struct deferred_open_record **open_rec);
 bool push_deferred_open_message_smb(struct smb_request *req,
                                    struct timeval timeout,
                                    struct file_id id,
@@ -896,8 +893,6 @@ void process_smb(struct smbXsrv_connection *xconn,
                 uint8_t *inbuf, size_t nread, size_t unread_bytes,
                 uint32_t seqnum, bool encrypted,
                 struct smb_perfcount_data *deferred_pcd);
-struct pending_message_list *get_deferred_open_message_smb(
-       struct smbd_server_connection *sconn, uint64_t mid);
 
 /* The following definitions come from smbd/smb2_process.c  */
 
@@ -924,6 +919,9 @@ void remove_deferred_open_message_smb(struct smbXsrv_connection *xconn,
 bool schedule_deferred_open_message_smb(struct smbXsrv_connection *xconn,
                                        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);
 
 /* The following definitions come from smbd/quotas.c  */
 
index 5f953c70e36a89eb259394cabee42d7dfe73961f..8c6e64403fbbf142089e15e0f1433e2a539aa0a6 100644 (file)
@@ -64,6 +64,9 @@ struct pending_message_list {
        struct deferred_open_record *open_rec;
 };
 
+static struct pending_message_list *get_deferred_open_message_smb(
+       struct smbd_server_connection *sconn, uint64_t mid);
+
 #if !defined(WITH_SMB1SERVER)
 static bool smb2_srv_send(struct smbXsrv_connection *xconn, char *buffer,
                          bool do_signing, uint32_t seqnum,
@@ -414,3 +417,49 @@ bool open_was_deferred(struct smbXsrv_connection *xconn, uint64_t mid)
        }
        return False;
 }
+
+/****************************************************************************
+ Return the message queued by this mid.
+****************************************************************************/
+
+static struct pending_message_list *get_deferred_open_message_smb(
+       struct smbd_server_connection *sconn, uint64_t mid)
+{
+       struct pending_message_list *pml;
+
+       for (pml = sconn->deferred_open_queue; pml; pml = pml->next) {
+               if (((uint64_t)SVAL(pml->buf.data,smb_mid)) == mid) {
+                       return pml;
+               }
+       }
+       return NULL;
+}
+
+/****************************************************************************
+ Get the state data queued by this mid.
+****************************************************************************/
+
+bool get_deferred_open_message_state(struct smb_request *smbreq,
+                               struct timeval *p_request_time,
+                               struct deferred_open_record **open_rec)
+{
+       struct pending_message_list *pml;
+
+       if (smbreq->sconn->using_smb2) {
+               return get_deferred_open_message_state_smb2(smbreq->smb2req,
+                                       p_request_time,
+                                       open_rec);
+       }
+
+       pml = get_deferred_open_message_smb(smbreq->sconn, smbreq->mid);
+       if (!pml) {
+               return false;
+       }
+       if (p_request_time) {
+               *p_request_time = pml->request_time;
+       }
+       if (open_rec != NULL) {
+               *open_rec = pml->open_rec;
+       }
+       return true;
+}