diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-08-11 18:08:26 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-08-12 13:27:58 +0200 |
commit | d30b1c9fa9d03246124dc7db8bb583c260adb0d1 (patch) | |
tree | 3f5f219aa6d40e547af01fa80fa2a6e37f63ebec /source3 | |
parent | 14888c21acaf34da047937b29833d7788bafe11d (diff) | |
download | samba-d30b1c9fa9d03246124dc7db8bb583c260adb0d1.tar.gz samba-d30b1c9fa9d03246124dc7db8bb583c260adb0d1.tar.bz2 samba-d30b1c9fa9d03246124dc7db8bb583c260adb0d1.zip |
s3:smbd: correctly invalidate vuids when SMB2 is used
metze
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/password.c | 4 | ||||
-rw-r--r-- | source3/smbd/smb2_sesssetup.c | 1 |
2 files changed, 5 insertions, 0 deletions
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; |