]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: add session to struct smb_request
authorRalph Boehme <slow@samba.org>
Sun, 29 Dec 2019 07:30:22 +0000 (08:30 +0100)
committerJeremy Allison <jra@samba.org>
Mon, 13 Jan 2020 19:41:34 +0000 (19:41 +0000)
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/include/vfs.h
source3/smbd/process.c
source3/smbd/smb2_glue.c

index a836903a832037cb1dfc4698e3efdb08c8596713..656fad8b5ee3bb12b6d305d892c99bb3019fc162 100644 (file)
@@ -580,6 +580,13 @@ struct smb_request {
        connection_struct *conn;
        struct smbd_server_connection *sconn;
        struct smbXsrv_connection *xconn;
+
+       /*
+        * Pointer to session, can be NULL,
+        * eg during negprot and session setup.
+        */
+       struct smbXsrv_session *session;
+
        struct smb_perfcount_data pcd;
 
        /*
index e1211ad16a462717a7ea6dbaaaea2aad9b0b19c7..b128d98cf8c6d8a1637a5f9211ee08aa6ab82621 100644 (file)
@@ -1701,6 +1701,8 @@ static connection_struct *switch_message(uint8_t type, struct smb_request *req)
                bool update_session_global = false;
                bool update_tcon_global = false;
 
+               req->session = session;
+
                smb1srv_update_crypto_flags(session, req, type,
                                            &update_session_global,
                                            &update_tcon_global);
index 6a73ec050e246139cc688f3ac323916168394457..ad866eca425e00b48e06e04f7e6ed2489bea270d 100644 (file)
@@ -46,6 +46,7 @@ struct smb_request *smbd_smb2_fake_smb_request(struct smbd_smb2_request *req)
        smbreq->conn = req->tcon->compat;
        smbreq->sconn = req->sconn;
        smbreq->xconn = req->xconn;
+       smbreq->session = req->session;
        smbreq->smbpid = (uint16_t)IVAL(inhdr, SMB2_HDR_PID);
        smbreq->flags2 = FLAGS2_UNICODE_STRINGS |
                         FLAGS2_32_BIT_ERROR_CODES |