From 24d53ebe441510805ff3e15696fa763c1bb96423 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 29 Sep 2011 10:09:41 +0200 Subject: s4:smb_server/smb2: make sure we sign the final session setup metze Autobuild-User: Stefan Metzmacher Autobuild-Date: Thu Sep 29 18:59:54 CEST 2011 on sn-devel-104 --- source4/smb_server/smb2/sesssetup.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source4/smb_server/smb2') diff --git a/source4/smb_server/smb2/sesssetup.c b/source4/smb_server/smb2/sesssetup.c index 60e5500ee7..243765fb9f 100644 --- a/source4/smb_server/smb2/sesssetup.c +++ b/source4/smb_server/smb2/sesssetup.c @@ -67,6 +67,7 @@ static void smb2srv_sesssetup_callback(struct tevent_req *subreq) union smb_sesssetup *io = ctx->io; struct smbsrv_session *smb_sess = ctx->smb_sess; struct auth_session_info *session_info = NULL; + enum security_user_level user_level; NTSTATUS status; packet_recv_enable(req->smb_conn->packet); @@ -92,10 +93,16 @@ static void smb2srv_sesssetup_callback(struct tevent_req *subreq) } req->session = smb_sess; - if (smb_sess->smb2_signing.required) { - /* activate smb2 signing on the session */ - smb_sess->smb2_signing.active = true; + user_level = security_session_user_level(smb_sess->session_info, NULL); + if (user_level >= SECURITY_USER) { + if (smb_sess->smb2_signing.required) { + /* activate smb2 signing on the session */ + smb_sess->smb2_signing.active = true; + } + /* we need to sign the session setup response */ + req->is_signed = true; } + done: io->smb2.out.uid = smb_sess->vuid; failed: -- cgit