/* send a session setup command */
memset(cli->outbuf,'\0',smb_size);
set_message(cli->outbuf,10, 0, True);
- CVAL(cli->outbuf,smb_com) = SMBsesssetupX;
+ SCVAL(cli->outbuf,smb_com,SMBsesssetupX);
cli_setup_packet(cli);
- CVAL(cli->outbuf,smb_vwv0) = 0xFF;
+ SCVAL(cli->outbuf,smb_vwv0,0xFF);
SSVAL(cli->outbuf,smb_vwv2,cli->max_xmit);
SSVAL(cli->outbuf,smb_vwv3,2);
SSVAL(cli->outbuf,smb_vwv4,1);
uint32 capabilities = cli_session_setup_capabilities(cli);
set_message(cli->outbuf,13,0,True);
- CVAL(cli->outbuf,smb_com) = SMBsesssetupX;
+ SCVAL(cli->outbuf,smb_com,SMBsesssetupX);
cli_setup_packet(cli);
- CVAL(cli->outbuf,smb_vwv0) = 0xFF;
+ SCVAL(cli->outbuf,smb_vwv0,0xFF);
SSVAL(cli->outbuf,smb_vwv2,CLI_BUFFER_SIZE);
SSVAL(cli->outbuf,smb_vwv3,2);
SSVAL(cli->outbuf,smb_vwv4,cli->pid);
passlen = clistr_push(cli, pword, pass, sizeof(pword), STR_TERMINATE|STR_ASCII);
set_message(cli->outbuf,13,0,True);
- CVAL(cli->outbuf,smb_com) = SMBsesssetupX;
+ SCVAL(cli->outbuf,smb_com,SMBsesssetupX);
cli_setup_packet(cli);
- CVAL(cli->outbuf,smb_vwv0) = 0xFF;
+ SCVAL(cli->outbuf,smb_vwv0,0xFF);
SSVAL(cli->outbuf,smb_vwv2,CLI_BUFFER_SIZE);
SSVAL(cli->outbuf,smb_vwv3,2);
SSVAL(cli->outbuf,smb_vwv4,cli->pid);
memset(cli->outbuf,'\0',smb_size);
set_message(cli->outbuf,13,0,True);
- CVAL(cli->outbuf,smb_com) = SMBsesssetupX;
+ SCVAL(cli->outbuf,smb_com,SMBsesssetupX);
cli_setup_packet(cli);
- CVAL(cli->outbuf,smb_vwv0) = 0xFF;
+ SCVAL(cli->outbuf,smb_vwv0,0xFF);
SSVAL(cli->outbuf,smb_vwv2,CLI_BUFFER_SIZE);
SSVAL(cli->outbuf,smb_vwv3,2);
SSVAL(cli->outbuf,smb_vwv4,cli->pid);
memset(cli->outbuf,'\0',smb_size);
set_message(cli->outbuf,12,0,True);
- CVAL(cli->outbuf,smb_com) = SMBsesssetupX;
+ SCVAL(cli->outbuf,smb_com,SMBsesssetupX);
cli_setup_packet(cli);
- CVAL(cli->outbuf,smb_vwv0) = 0xFF;
+ SCVAL(cli->outbuf,smb_vwv0,0xFF);
SSVAL(cli->outbuf,smb_vwv2,CLI_BUFFER_SIZE);
SSVAL(cli->outbuf,smb_vwv3,2);
SSVAL(cli->outbuf,smb_vwv4,1);
/* allow for workgroups as part of the username */
fstrcpy(user2, user);
- if ((p=strchr_m(user2,'\\')) || (p=strchr_m(user2,'/'))) {
+ if ((p=strchr_m(user2,'\\')) || (p=strchr_m(user2,'/')) ||
+ (p=strchr_m(user2,*lp_winbind_separator()))) {
*p = 0;
user = p+1;
workgroup = user2;
{
memset(cli->outbuf,'\0',smb_size);
set_message(cli->outbuf,2,0,True);
- CVAL(cli->outbuf,smb_com) = SMBulogoffX;
+ SCVAL(cli->outbuf,smb_com,SMBulogoffX);
cli_setup_packet(cli);
SSVAL(cli->outbuf,smb_vwv0,0xFF);
SSVAL(cli->outbuf,smb_vwv2,0); /* no additional info */
}
set_message(cli->outbuf,4, 0, True);
- CVAL(cli->outbuf,smb_com) = SMBtconX;
+ SCVAL(cli->outbuf,smb_com,SMBtconX);
cli_setup_packet(cli);
SSVAL(cli->outbuf,smb_vwv0,0xFF);
{
memset(cli->outbuf,'\0',smb_size);
set_message(cli->outbuf,0,0,True);
- CVAL(cli->outbuf,smb_com) = SMBtdis;
+ SCVAL(cli->outbuf,smb_com,SMBtdis);
SSVAL(cli->outbuf,smb_tid,cli->cnum);
cli_setup_packet(cli);
p += clistr_push(cli, p, prots[numprots].name, -1, STR_TERMINATE);
}
- CVAL(cli->outbuf,smb_com) = SMBnegprot;
+ SCVAL(cli->outbuf,smb_com,SMBnegprot);
cli_setup_bcc(cli, p);
cli_setup_packet(cli);
- CVAL(smb_buf(cli->outbuf),0) = 2;
+ SCVAL(smb_buf(cli->outbuf),0,2);
cli_send_smb(cli);
}
p += clistr_push(cli, p, prots[numprots].name, -1, STR_TERMINATE);
}
- CVAL(cli->outbuf,smb_com) = SMBnegprot;
+ SCVAL(cli->outbuf,smb_com,SMBnegprot);
cli_setup_packet(cli);
- CVAL(smb_buf(cli->outbuf),0) = 2;
+ SCVAL(smb_buf(cli->outbuf),0,2);
cli_send_smb(cli);
if (!cli_receive_smb(cli))
/* setup the packet length */
_smb_setlen(cli->outbuf,len);
- CVAL(cli->outbuf,0) = 0x81;
+ SCVAL(cli->outbuf,0,0x81);
#ifdef WITH_SSL
retry:
struct nmb_name called;
struct cli_state *cli;
struct in_addr ip;
-
+
+ if (!output_cli) {
+ DEBUG(0, ("output_cli is NULL!?!"));
+ }
+
+ *output_cli = NULL;
+
make_nmb_name(&calling, my_name, 0x0);
make_nmb_name(&called , dest_host, 0x20);
}
if (cli_set_port(cli, port) != port) {
+ cli_shutdown(cli);
return NT_STATUS_UNSUCCESSFUL;
}
{
DEBUG(1,("cli_establish_connection: failed to connect to %s (%s)\n",
nmb_namestr(&called), inet_ntoa(*dest_ip)));
+ cli_shutdown(cli);
return NT_STATUS_UNSUCCESSFUL;
}
if (!cli_negprot(cli))
{
DEBUG(1,("failed negprot\n"));
- nt_status = cli_nt_error(cli);
+ nt_status = NT_STATUS_UNSUCCESSFUL;
cli_shutdown(cli);
return nt_status;
}
DEBUG(1,("failed session setup\n"));
nt_status = cli_nt_error(cli);
cli_shutdown(cli);
+ if (NT_STATUS_IS_OK(nt_status)) nt_status = NT_STATUS_UNSUCCESSFUL;
return nt_status;
}
DEBUG(1,("failed tcon_X\n"));
nt_status = cli_nt_error(cli);
cli_shutdown(cli);
+ if (NT_STATUS_IS_OK(nt_status)) nt_status = NT_STATUS_UNSUCCESSFUL;
return nt_status;
}
}