mirror of
https://github.com/samba-team/samba.git
synced 2025-01-08 21:18:16 +03:00
Fix bug #9724 - is_encrypted_packet() function incorrectly used inside server.
The is_encrypted_packet() function should only be used on the raw received data to determine if a packet came in encrypted. Once we're inside the SMB1 processing code in smbd/reply.c we should be looking at the smb1request->encrypted field to determine if a packet was really encrypted or not. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Sat Mar 16 12:44:44 CET 2013 on sn-devel-104
This commit is contained in:
parent
fd8b258fa2
commit
1d15fc75a3
@ -3294,8 +3294,7 @@ void reply_readbraw(struct smb_request *req)
|
||||
|
||||
START_PROFILE(SMBreadbraw);
|
||||
|
||||
if (srv_is_signing_active(sconn) ||
|
||||
is_encrypted_packet(sconn, req->inbuf)) {
|
||||
if (srv_is_signing_active(sconn) || req->encrypted) {
|
||||
exit_server_cleanly("reply_readbraw: SMB signing/sealing is active - "
|
||||
"raw reads/writes are disallowed.");
|
||||
}
|
||||
@ -3698,7 +3697,7 @@ static void send_file_readX(connection_struct *conn, struct smb_request *req,
|
||||
*/
|
||||
|
||||
if (!req_is_in_chain(req) &&
|
||||
!is_encrypted_packet(req->sconn, req->inbuf) &&
|
||||
!req->encrypted &&
|
||||
(fsp->base_fsp == NULL) &&
|
||||
(fsp->wcp == NULL) &&
|
||||
lp_use_sendfile(SNUM(conn), req->sconn->smb1.signing_state) ) {
|
||||
|
Loading…
Reference in New Issue
Block a user