mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
s3:smbd multichannel: let a cross-node session binding NT_STATUS_REQUEST_NOT_ACCEPTED
This is better than NT_STATUS_USER_SESSION_DELETED, as it means the client can keep it's session alive. Otherwise a windows client believes the whole session is gone and all other channels are invalid. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Günther Deschner <gd@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
parent
8a3707e3ed
commit
475784d63e
@ -754,8 +754,14 @@ static struct tevent_req *smbd_smb2_session_setup_send(TALLOC_CTX *mem_ctx,
|
||||
if (NT_STATUS_EQUAL(status, NT_STATUS_BAD_LOGON_SESSION_STATE)) {
|
||||
/*
|
||||
* This comes from smb2srv_session_lookup_global().
|
||||
* And it's a cross node/cross smbd session bind,
|
||||
* which can't work in our architecture.
|
||||
*
|
||||
* Returning NT_STATUS_REQUEST_NOT_ACCEPTED is better
|
||||
* than NT_STATUS_USER_SESSION_DELETED in order to
|
||||
* avoid a completely new session.
|
||||
*/
|
||||
tevent_req_nterror(req, NT_STATUS_USER_SESSION_DELETED);
|
||||
tevent_req_nterror(req, NT_STATUS_REQUEST_NOT_ACCEPTED);
|
||||
return tevent_req_post(req, ev);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user