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