REMOVE??? s3:smbd: separate session_yield from invalidate_vuid
authorGregor Beck <gbeck@sernet.de>
Tue, 28 Aug 2012 08:51:54 +0000 (10:51 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 16 Jan 2018 06:47:02 +0000 (07:47 +0100)
this cleans up matters and avoids the problem with connection already set to NULL
by smbXsrv_session_logoff()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
source3/smbd/password.c
source3/smbd/smbXsrv_session.c

index edff5d9d2ecc4ecf7437e173ea4a86306c7c0025..4577ac5826c7b8f18c1f526e7ee92746a50fef51 100644 (file)
@@ -105,8 +105,6 @@ void invalidate_vuid(struct smbd_server_connection *sconn, uint64_t vuid)
                return;
        }
 
-       session_yield(vuser->session);
-
        DLIST_REMOVE(sconn->users, vuser);
        SMB_ASSERT(sconn->num_users > 0);
        sconn->num_users--;
index 9e1fb6977b4c68ce858bb6cc5e47b0de88ccb5b7..deefbd446cf62cddc00e1506910094f144bf99a5 100644 (file)
@@ -1652,6 +1652,10 @@ NTSTATUS smbXsrv_session_logoff(struct smbXsrv_session *session)
                return NT_STATUS_OK;
        }
 
+       if (session->compat) {
+               session_yield(session);
+       }
+
        table = session->table;
        session->table = NULL;