s3: Initialize the seqnum in "init_smb_request"
authorVolker Lendecke <vl@samba.org>
Thu, 21 Jan 2010 13:05:04 +0000 (14:05 +0100)
committerVolker Lendecke <vl@samba.org>
Thu, 21 Jan 2010 13:08:27 +0000 (14:08 +0100)
This makes it a bit more obvious for me that the signing sequence number is
tied to the SMB request.

source3/smbd/process.c

index 44d53b23b675e64876a79327a9c6fc96e21b6c23..6783308edd5002e074be5bd11b9d0c8c46fcf24d 100644 (file)
@@ -367,7 +367,8 @@ static NTSTATUS receive_smb_talloc(TALLOC_CTX *mem_ctx,     int fd,
  */
 
 static void init_smb_request(struct smb_request *req, const uint8 *inbuf,
-                            size_t unread_bytes, bool encrypted)
+                            size_t unread_bytes, bool encrypted,
+                            uint32_t seqnum)
 {
        struct smbd_server_connection *sconn = smbd_server_conn;
        size_t req_size = smb_len(inbuf) + 4;
@@ -381,7 +382,7 @@ static void init_smb_request(struct smb_request *req, const uint8 *inbuf,
        req->flags2 = SVAL(inbuf, smb_flg2);
        req->smbpid = SVAL(inbuf, smb_pid);
        req->mid    = SVAL(inbuf, smb_mid);
-       req->seqnum = 0;
+       req->seqnum = seqnum;
        req->vuid   = SVAL(inbuf, smb_uid);
        req->tid    = SVAL(inbuf, smb_tid);
        req->wct    = CVAL(inbuf, smb_wct);
@@ -1414,9 +1415,8 @@ static void construct_reply(char *inbuf, int size, size_t unread_bytes,
                smb_panic("could not allocate smb_request");
        }
 
-       init_smb_request(req, (uint8 *)inbuf, unread_bytes, encrypted);
+       init_smb_request(req, (uint8 *)inbuf, unread_bytes, encrypted, seqnum);
        req->inbuf  = (uint8_t *)talloc_move(req, &inbuf);
-       req->seqnum = seqnum;
 
        /* we popped this message off the queue - keep original perf data */
        if (deferred_pcd)