s3:smbd: let session logoff close files and tcons before deleting the session
authorRalph Boehme <slow@samba.org>
Wed, 29 Aug 2018 15:19:29 +0000 (17:19 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 31 Aug 2018 20:22:23 +0000 (22:22 +0200)
commit8f6edcc1645e0ed35eaec914bd0b672500ce986c
tree9fed7182478fd5b012fa6335b595dee85454ae51
parentb70b8503faded81b10859131f08486349876d132
s3:smbd: let session logoff close files and tcons before deleting the session

This avoids a race in durable handle reconnects if the reconnect comes
in while the old session is still in the tear-down phase.

The new session is supposed to rendezvous with and wait for destruction
of the old session, which is internally implemented with
dbwrap_watch_send() on the old session record.

If the old session deletes the session record before calling
file_close_user() which marks all file handles as disconnected, the
durable handle reconnect in the new session will fail as the records are
not yet marked as disconnected which is a prerequisite.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=13549

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
selftest/knownfail.d/samba3.blackbox [deleted file]
source3/smbd/smbXsrv_session.c