return old_state;
}
-/****************************************************************************
- convenience routine to find if we negotiated ucs2
-****************************************************************************/
-
-bool cli_ucs2(struct cli_state *cli)
-{
- return smbXcli_conn_use_unicode(cli->conn);
-}
-
/****************************************************************************
Initialize Domain, user or password.
****************************************************************************/
cli->use_ccache = true;
}
+ if (flags & CLI_FULL_CONNECTION_USE_NT_HASH) {
+ cli->pw_nt_hash = true;
+ }
+
if (flags & CLI_FULL_CONNECTION_OPLOCKS) {
cli->use_oplocks = true;
}
cli->smb1.pid = (uint16_t)getpid();
cli->smb1.vc_num = cli->smb1.pid;
cli->smb1.tid = UINT16_MAX;
- cli->smb1.uid = UID_FIELD_INVALID;
+ cli->smb1.session = smbXcli_session_create(cli, cli->conn);
+ if (cli->smb1.session == NULL) {
+ goto error;
+ }
cli->initialised = 1;
return cli;
data_blob_free(&cli->user_session_key);
- cli_state_disconnect(cli);
+ smbXcli_conn_disconnect(cli->conn, NT_STATUS_OK);
TALLOC_FREE(cli);
}
uint16_t cli_state_get_uid(struct cli_state *cli)
{
- return cli->smb1.uid;
+ return smb1cli_session_current_id(cli->smb1.session);
}
uint16_t cli_state_set_uid(struct cli_state *cli, uint16_t uid)
{
- uint16_t ret = cli->smb1.uid;
- cli->smb1.uid = uid;
+ uint16_t ret = smb1cli_session_current_id(cli->smb1.session);
+ smb1cli_session_set_id(cli->smb1.session, uid);
return ret;
}
NTSTATUS status;
uint32_t num_bytes;
uint8_t *bytes;
- uint8_t *inbuf;
- status = cli_smb_recv(subreq, state, &inbuf, 0, NULL, NULL,
+ status = cli_smb_recv(subreq, state, NULL, 0, NULL, NULL,
&num_bytes, &bytes);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
struct tevent_req *req;
NTSTATUS status = NT_STATUS_OK;
- if (cli_has_async_calls(cli)) {
+ if (smbXcli_conn_has_async_calls(cli->conn)) {
/*
* Can't use sync call while an async call is in flight
*/
struct tevent_req *req = NULL;
NTSTATUS status = NT_STATUS_NO_MEMORY;
- if (cli_has_async_calls(cli)) {
+ if (smbXcli_conn_has_async_calls(cli->conn)) {
return NT_STATUS_INVALID_PARAMETER;
}
ev = tevent_context_init(mem_ctx);