From: Ralph Boehme Date: Sun, 29 Dec 2019 07:30:22 +0000 (+0100) Subject: smbd: add session to struct smb_request X-Git-Tag: ldb-2.1.0~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa27bceff194bf1d6665bcb66dd3ba750a59b598;p=thirdparty%2Fsamba.git smbd: add session to struct smb_request Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison --- diff --git a/source3/include/vfs.h b/source3/include/vfs.h index a836903a832..656fad8b5ee 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -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; /* diff --git a/source3/smbd/process.c b/source3/smbd/process.c index e1211ad16a4..b128d98cf8c 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -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); diff --git a/source3/smbd/smb2_glue.c b/source3/smbd/smb2_glue.c index 6a73ec050e2..ad866eca425 100644 --- a/source3/smbd/smb2_glue.c +++ b/source3/smbd/smb2_glue.c @@ -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 |