smbd: Separate smb1 code from push_deferred_open_message_smb
authorDavid Mulder <dmulder@suse.com>
Fri, 18 Mar 2022 20:22:27 +0000 (14:22 -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

index e6783404dd8ef1c784930ced8c457df0729ae0e6..126fa2838d9bda1f647f4584fd6a406fc0c12a84 100644 (file)
@@ -684,22 +684,14 @@ static bool push_queued_message(struct smb_request *req,
  messages ready for processing.
 ****************************************************************************/
 
-bool push_deferred_open_message_smb(struct smb_request *req,
-                                   struct timeval timeout,
-                                   struct file_id id,
-                                   struct deferred_open_record *open_rec)
+static bool push_deferred_open_message_smb1(struct smb_request *req,
+                                           struct timeval timeout,
+                                           struct file_id id,
+                                           struct deferred_open_record *open_rec)
 {
        struct timeval_buf tvbuf;
        struct timeval end_time;
 
-       if (req->smb2req) {
-               return push_deferred_open_message_smb2(req->smb2req,
-                                               req->request_time,
-                                               timeout,
-                                               id,
-                                               open_rec);
-       }
-
        if (req->unread_bytes) {
                DEBUG(0,("push_deferred_open_message_smb: logic error ! "
                        "unread_bytes = %u\n",
@@ -718,6 +710,27 @@ bool push_deferred_open_message_smb(struct smb_request *req,
        return push_queued_message(req, req->request_time, end_time, open_rec);
 }
 
+bool push_deferred_open_message_smb(struct smb_request *req,
+                                   struct timeval timeout,
+                                   struct file_id id,
+                                   struct deferred_open_record *open_rec)
+{
+#if defined(WITH_SMB1SERVER)
+       if (req->smb2req) {
+#endif
+               return push_deferred_open_message_smb2(req->smb2req,
+                                               req->request_time,
+                                               timeout,
+                                               id,
+                                               open_rec);
+#if defined(WITH_SMB1SERVER)
+       } else {
+               return push_deferred_open_message_smb1(req, timeout,
+                                                      id, open_rec);
+       }
+#endif
+}
+
 static void smbd_sig_term_handler(struct tevent_context *ev,
                                  struct tevent_signal *se,
                                  int signum,