From d30b1c9fa9d03246124dc7db8bb583c260adb0d1 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 11 Aug 2009 18:08:26 +0200 Subject: s3:smbd: correctly invalidate vuids when SMB2 is used metze --- source3/smbd/password.c | 4 ++++ source3/smbd/smb2_sesssetup.c | 1 + 2 files changed, 5 insertions(+) diff --git a/source3/smbd/password.c b/source3/smbd/password.c index b1a749736d..4c1cef45cc 100644 --- a/source3/smbd/password.c +++ b/source3/smbd/password.c @@ -128,6 +128,10 @@ void invalidate_vuid(struct smbd_server_connection *sconn, uint16 vuid) void invalidate_all_vuids(struct smbd_server_connection *sconn) { + if (sconn->allow_smb2) { + return; + } + while (sconn->smb1.sessions.validated_users != NULL) { invalidate_vuid(sconn, sconn->smb1.sessions.validated_users->vuid); diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c index eae26ed06c..9b1dc8cdf8 100644 --- a/source3/smbd/smb2_sesssetup.c +++ b/source3/smbd/smb2_sesssetup.c @@ -131,6 +131,7 @@ static int smbd_smb2_session_destructor(struct smbd_smb2_session *session) idr_remove(session->sconn->smb2.sessions.idtree, session->vuid); DLIST_REMOVE(session->sconn->smb2.sessions.list, session); + invalidate_vuid(session->sconn, session->vuid); session->vuid = 0; session->status = NT_STATUS_USER_SESSION_DELETED; -- cgit