session setup bugfix and torture test
jra at samba.org
Sat Sep 21 02:43:53 CEST 2013
On Fri, Sep 20, 2013 at 11:41:38AM +0200, Stefan (metze) Metzmacher wrote:
> Hi Michael,
> I think this changes are a good start, but I try to
> fix this more broadly similar to this change
> commit e6a58d370403e818bc2cfb8389751b78adcc14fd
> Author: Stefan Metzmacher <metze at samba.org>
> Date: Tue Jul 9 16:38:59 2013 +0200
> s4:rpc_server: make sure we don't terminate a connection with
> pending requests (bug #9820)
> Sadly we may have nested event loops, which won't work correctly with
> broken connections, that's why we have to do this...
> Signed-off-by: Stefan Metzmacher <metze at samba.org>
> Reviewed-by: Andrew Bartlett <abartlet at samba.org>
> Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
> Autobuild-Date(master): Wed Jul 10 08:47:38 CEST 2013 on sn-devel-104
> The goal should be that we move any session, tcon and open to a deleted list
> on the connection and just mark them as deleted like this
> session->status = NT_STATUS_USER_SESSION_DELETED;
> tcon->status = NT_STATUS_NETWORK_NAME_DELETED;
> open->status = NT_STATUS_FILE_CLOSED;
> And do through all pending request which match the closed object
> and do tevent_req_cancel(smb2req->subreq);
> Before we process any new incoming request, we would scan the deleted lists
> and clean the objects up if they aren't used anymore.
I think this the right fix ultimately for master, but for the initial
fix which we also want to put into 4.0.x and 4.1.0 then a lesser
changeset is probably a good start.
More when I have time to look over the changes !
More information about the samba-technical