From: Stefan Metzmacher Date: Tue, 11 Aug 2009 16:08:26 +0000 (+0200) Subject: s3:smbd: correctly invalidate vuids when SMB2 is used X-Git-Tag: tevent-0.9.8~418 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=d30b1c9fa9d03246124dc7db8bb583c260adb0d1;p=samba.git s3:smbd: correctly invalidate vuids when SMB2 is used metze --- diff --git a/source3/smbd/password.c b/source3/smbd/password.c index b1a749736d9..4c1cef45cc7 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 eae26ed06c8..9b1dc8cdf88 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;