[SCM] Samba Shared Repository - branch v3-6-test updated

Karolin Seeger kseeger at samba.org
Thu Mar 21 02:37:34 MDT 2013


The branch, v3-6-test has been updated
       via  3bc39aa Fix bug #9724 - is_encrypted_packet() function incorrectly used inside server.
      from  fb7971c WHATSNEW: Start release notes for Samba 3.6.14.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 3bc39aa493aa8d2db9ac423d82bed08bda10e754
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Mar 15 15:13:24 2013 -0700

    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 at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/smbd/reply.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index a708fd8..ffe128a 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -3136,8 +3136,7 @@ void reply_readbraw(struct smb_request *req)
 
 	START_PROFILE(SMBreadbraw);
 
-	if (srv_is_signing_active(sconn) ||
-	    is_encrypted_packet(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.");
 	}
@@ -3561,7 +3560,7 @@ 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) &&
+	    !req->encrypted && (fsp->base_fsp == NULL) &&
 	    (fsp->wcp == NULL) &&
 	    lp_use_sendfile(SNUM(conn), req->sconn->smb1.signing_state) ) {
 		uint8 headerbuf[smb_size + 12 * 2];
@@ -3765,8 +3764,7 @@ void reply_read_and_X(struct smb_request *req)
 				return;
 			}
 			/* We currently don't do this on signed or sealed data. */
-			if (srv_is_signing_active(req->sconn) ||
-			    is_encrypted_packet(req->inbuf)) {
+			if (srv_is_signing_active(req->sconn) || req->encrypted) {
 				reply_nterror(req, NT_STATUS_NOT_SUPPORTED);
 				END_PROFILE(SMBreadX);
 				return;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list