mirror of
https://github.com/samba-team/samba.git
synced 2025-08-02 00:22:11 +03:00
s4:libcli/raw: setup a smbXcli_session for each smbcli_session
metze
This commit is contained in:
@ -55,7 +55,19 @@ struct smbcli_session *smbcli_session_init(struct smbcli_transport *transport,
|
||||
session->pid = (uint16_t)getpid();
|
||||
session->vuid = UID_FIELD_INVALID;
|
||||
session->options = options;
|
||||
|
||||
|
||||
/*
|
||||
* for now session->vuid is still used by the callers, but we call:
|
||||
* smb1cli_session_set_id(session->smbXcli, session->vuid);
|
||||
* before using session->smbXcli, in future we should remove
|
||||
* session->vuid.
|
||||
*/
|
||||
session->smbXcli = smbXcli_session_create(session, transport->conn);
|
||||
if (session->smbXcli == NULL) {
|
||||
talloc_free(session);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
capabilities = transport->negotiate.capabilities;
|
||||
|
||||
flags2 = FLAGS2_LONG_PATH_COMPONENTS | FLAGS2_EXTENDED_ATTRIBUTES;
|
||||
|
@ -156,6 +156,7 @@ struct smbcli_session {
|
||||
|
||||
/* after a session setup the server provides us with
|
||||
a vuid identifying the security context */
|
||||
struct smbXcli_session *smbXcli;
|
||||
uint16_t vuid;
|
||||
|
||||
/* default pid for this session */
|
||||
|
@ -146,6 +146,8 @@ struct smbcli_request *smbcli_request_setup_session(struct smbcli_session *sessi
|
||||
|
||||
if (!req) return NULL;
|
||||
|
||||
smb1cli_session_set_id(session->smbXcli, session->vuid);
|
||||
|
||||
req->session = session;
|
||||
|
||||
SSVAL(req->out.hdr, HDR_FLG2, session->flags2);
|
||||
|
Reference in New Issue
Block a user