diff options
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index cd07c6d57d..124c6109fe 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -3158,7 +3158,7 @@ void reply_readbraw(struct smb_request *req) START_PROFILE(SMBreadbraw); if (srv_is_signing_active(sconn) || - is_encrypted_packet(req->inbuf)) { + is_encrypted_packet(sconn, req->inbuf)) { exit_server_cleanly("reply_readbraw: SMB signing/sealing is active - " "raw reads/writes are disallowed."); } @@ -3582,7 +3582,8 @@ static void send_file_readX(connection_struct *conn, struct smb_request *req, */ if (!req_is_in_chain(req) && - !is_encrypted_packet(req->inbuf) && (fsp->base_fsp == NULL) && + !is_encrypted_packet(req->sconn, req->inbuf) && + (fsp->base_fsp == NULL) && (fsp->wcp == NULL) && lp_use_sendfile(SNUM(conn), req->sconn->smb1.signing_state) ) { uint8 headerbuf[smb_size + 12 * 2]; @@ -3787,7 +3788,7 @@ void reply_read_and_X(struct smb_request *req) } /* We currently don't do this on signed or sealed data. */ if (srv_is_signing_active(req->sconn) || - is_encrypted_packet(req->inbuf)) { + is_encrypted_packet(req->sconn, req->inbuf)) { reply_nterror(req, NT_STATUS_NOT_SUPPORTED); END_PROFILE(SMBreadX); return; @@ -4414,7 +4415,7 @@ bool is_valid_writeX_buffer(struct smbd_server_connection *sconn, unsigned int doff = 0; size_t len = smb_len_large(inbuf); - if (is_encrypted_packet(inbuf)) { + if (is_encrypted_packet(sconn, inbuf)) { /* Can't do this on encrypted * connections. */ return false; |