The branch, master has been updated
       via  c3a5fec smbd:smb2: fix error code when the header says the request 
is signed but we don't have a sesseion
       via  4a7b792 s3:smb2_server: don't rely on the SMB2_HDR_FLAG_SIGNED if 
signing is required
      from  7c0277c librpc: Fix blank line endings

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit c3a5fecdc1ff0320f4979fa21aa636aacaac8abe
Author: Michael Adam <ob...@samba.org>
Date:   Wed Sep 25 23:18:56 2013 +0200

    smbd:smb2: fix error code when the header says the request is signed but we 
don't have a sesseion
    
    I.e. when the request is a session setup.
    We replied with ACCESS_DENIED, but windows expects USER_SESSION_DELETED
    
    Signed-off-by: Michael Adam <ob...@samba.org>
    Reviewed-by: Stefan Metzmacher <me...@samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <me...@samba.org>
    Autobuild-Date(master): Wed Oct  2 22:07:44 CEST 2013 on sn-devel-104

commit 4a7b792bc6d463a3aa4e1150a271ed6b929276cc
Author: Stefan Metzmacher <me...@samba.org>
Date:   Mon Sep 23 20:51:30 2013 +0200

    s3:smb2_server: don't rely on the SMB2_HDR_FLAG_SIGNED if signing is 
required
    
    Windows (at least the test suites) may skip the SMB2_HDR_FLAG_SIGNED
    in a reauth session setup, but still provide a valid signature.
    
    Signed-off-by: Stefan Metzmacher <me...@samba.org>
    Reviewed-by: Michael Adam <ob...@samba.org>

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

Summary of changes:
 source3/smbd/smb2_server.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index b031c6d..1bebee1 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -1993,12 +1993,12 @@ NTSTATUS smbd_smb2_request_dispatch(struct 
smbd_smb2_request *req)
 
        if (req->do_encryption) {
                signing_required = false;
-       } else if (flags & SMB2_HDR_FLAG_SIGNED) {
+       } else if (signing_required || (flags & SMB2_HDR_FLAG_SIGNED)) {
                DATA_BLOB signing_key;
 
                if (x == NULL) {
                        return smbd_smb2_request_error(
-                               req, NT_STATUS_ACCESS_DENIED);
+                               req, NT_STATUS_USER_SESSION_DELETED);
                }
 
                signing_key = x->global->channels[0].signing_key;


-- 
Samba Shared Repository

Reply via email to