if (cli->use_level_II_oplocks)
capabilities |= CAP_LEVEL_II_OPLOCKS;
- capabilities |= (cli->capabilities & (CAP_UNICODE|CAP_LARGE_FILES|CAP_LARGE_READX|CAP_LARGE_WRITEX|CAP_DFS));
+ capabilities |= (cli_state_capabilities(cli) & (CAP_UNICODE|CAP_LARGE_FILES|CAP_LARGE_READX|CAP_LARGE_WRITEX|CAP_DFS));
return capabilities;
}
/* if the server supports extended security then use SPNEGO */
- if (cli->capabilities & CAP_EXTENDED_SECURITY) {
+ if (cli_state_capabilities(cli) & CAP_EXTENDED_SECURITY) {
ADS_STATUS status = cli_session_setup_spnego(cli, user, pass,
workgroup, NULL);
if (!ADS_ERR_OK(status)) {
cli->servertime = ts.tv_sec;
cli->secblob = data_blob(bytes, num_bytes);
cli->capabilities = IVAL(vwv + 9, 1);
- if (cli->capabilities & CAP_RAW_MODE) {
+ if (cli_state_capabilities(cli) & CAP_RAW_MODE) {
cli->readbraw_supported = True;
cli->writebraw_supported = True;
}
/* work out if they sent us a workgroup */
- if (!(cli->capabilities & CAP_EXTENDED_SECURITY) &&
+ if (!(cli_state_capabilities(cli) & CAP_EXTENDED_SECURITY) &&
smb_buflen(inbuf) > 8) {
ssize_t ret;
status = smb_bytes_talloc_string(
here before trying to connect to the original share.
cli_check_msdfs_proxy() will fail if it is a normal share. */
- if ((c->capabilities & CAP_DFS) &&
+ if ((cli_state_capabilities(c) & CAP_DFS) &&
cli_check_msdfs_proxy(ctx, c, sharename,
&newserver, &newshare,
force_encrypt,
{
/* only deal with DS when we negotiated NT_STATUS codes and UNICODE */
- if (!(cli->capabilities & CAP_UNICODE)) {
+ if (!(cli_state_capabilities(cli) & CAP_UNICODE)) {
return false;
}
- if (!(cli->capabilities & CAP_STATUS32)) {
+ if (!(cli_state_capabilities(cli) & CAP_STATUS32)) {
return false;
}
if (NT_STATUS_EQUAL(status, expected)) {
bool cli_ucs2(struct cli_state *cli)
{
- return ((cli->capabilities & CAP_UNICODE) != 0);
+ return ((cli_state_capabilities(cli) & CAP_UNICODE) != 0);
}
/****************************************************************************
SCVAL(buf,smb_flg,0x8);
}
flags2 = FLAGS2_LONG_PATH_COMPONENTS;
- if (cli->capabilities & CAP_UNICODE)
+ if (cli_state_capabilities(cli) & CAP_UNICODE)
flags2 |= FLAGS2_UNICODE_STRINGS;
- if ((cli->capabilities & CAP_DFS) && cli->dfsroot)
+ if ((cli_state_capabilities(cli) & CAP_DFS) && cli->dfsroot)
flags2 |= FLAGS2_DFS_PATHNAMES;
- if (cli->capabilities & CAP_STATUS32)
+ if (cli_state_capabilities(cli) & CAP_STATUS32)
flags2 |= FLAGS2_32_BIT_ERROR_CODES;
if (cli->use_spnego)
flags2 |= FLAGS2_EXTENDED_SECURITY;
int ltype;
NTSTATUS status;
- if (! (cli->capabilities & CAP_LARGE_FILES)) {
+ if (! (cli_state_capabilities(cli) & CAP_LARGE_FILES)) {
return cli_lock32(cli, fnum, offset, len, timeout, lock_type);
}
struct tevent_req *req;
NTSTATUS status = NT_STATUS_OK;
- if (! (cli->capabilities & CAP_LARGE_FILES)) {
+ if (! (cli_state_capabilities(cli) & CAP_LARGE_FILES)) {
return cli_unlock(cli, fnum, offset, len);
}
goto fail;
}
- info_level = (cli->capabilities & CAP_NT_SMBS)
+ info_level = (cli_state_capabilities(cli) & CAP_NT_SMBS)
? SMB_FIND_FILE_BOTH_DIRECTORY_INFO : SMB_FIND_INFO_STANDARD;
req = cli_list_send(frame, ev, cli, mask, attribute, info_level);
&& (cli->server_posix_capabilities & CIFS_UNIX_LARGE_READ_CAP)) {
return CLI_SAMBA_MAX_POSIX_LARGE_READX_SIZE;
}
- if (cli->capabilities & CAP_LARGE_READX) {
+ if (cli_state_capabilities(cli) & CAP_LARGE_READX) {
return cli->is_samba
? CLI_SAMBA_MAX_LARGE_READX_SIZE
: CLI_WINDOWS_MAX_LARGE_READX_SIZE;
!client_is_signing_on(cli) &&
!cli_encryption_on(cli) &&
(cli->server_posix_capabilities & CIFS_UNIX_LARGE_WRITE_CAP) &&
- (cli->capabilities & CAP_LARGE_FILES)) {
+ (cli_state_capabilities(cli) & CAP_LARGE_FILES)) {
/* Only do massive writes if we can do them direct
* with no signing or encrypting - not on a pipe. */
return CLI_SAMBA_MAX_POSIX_LARGE_WRITEX_SIZE;
return CLI_SAMBA_MAX_LARGE_WRITEX_SIZE;
}
- if (((cli->capabilities & CAP_LARGE_WRITEX) == 0)
+ if (((cli_state_capabilities(cli) & CAP_LARGE_WRITEX) == 0)
|| client_is_signing_on(cli)
|| strequal(cli->dev, "LPT1:")) {
size_t data_offset = smb_size - 4;
{
struct tevent_req *req, *subreq;
struct cli_write_andx_state *state;
- bool bigoffset = ((cli->capabilities & CAP_LARGE_FILES) != 0);
+ bool bigoffset = ((cli_state_capabilities(cli) & CAP_LARGE_FILES) != 0);
uint8_t wct = bigoffset ? 14 : 12;
size_t max_write = cli_write_max_bufsize(cli, mode, wct);
uint16_t *vwv;