summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-12-12 09:22:15 +0100
committerKarolin Seeger <kseeger@samba.org>2014-12-16 21:09:12 +0100
commit8bb60396560842d01ea04250c9a91bb63b14bab2 (patch)
tree9048a0da12be5e575ef8e686d658a92d2e986e4c
parentc0aee74f7cfd45d07f82d14645a7f977f8280e24 (diff)
downloadsamba-8bb60396560842d01ea04250c9a91bb63b14bab2.tar.gz
s3:smb2_server: allow reauthentication without signing
If signing is not required we should not require it for reauthentication. Windows clients would otherwise fail to reauthenticate. Bug: https://bugzilla.samba.org/show_bug.cgi?id=10958 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 382019656ee164fd21455ed7d7b5e9e18bd0ca72)
-rw-r--r--source3/smbd/smb2_server.c5
-rw-r--r--source3/smbd/smb2_sesssetup.c4
2 files changed, 4 insertions, 5 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 31ec70b5170..39155b812f8 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -1987,11 +1987,6 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req)
if (x != NULL) {
signing_required = x->global->signing_required;
encryption_required = x->global->encryption_required;
-
- if (opcode == SMB2_OP_SESSSETUP &&
- x->global->signing_key.length > 0) {
- signing_required = true;
- }
}
req->do_signing = false;
diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c
index 366ca586fce..57f623ab049 100644
--- a/source3/smbd/smb2_sesssetup.c
+++ b/source3/smbd/smb2_sesssetup.c
@@ -422,6 +422,10 @@ static NTSTATUS smbd_smb2_reauth_generic_return(struct smbXsrv_session *session,
conn_clear_vuid_caches(smb2req->sconn, session->compat->vuid);
+ if (security_session_user_level(session_info, NULL) >= SECURITY_USER) {
+ smb2req->do_signing = true;
+ }
+
*out_session_id = session->global->session_wire_id;
return NT_STATUS_OK;