1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

pass the desired access into cli_nt_create()

This commit is contained in:
Andrew Tridgell 0001-01-01 00:00:00 +00:00
parent faaa71a032
commit a2d07994e0
4 changed files with 8 additions and 5 deletions

View File

@ -675,7 +675,7 @@ BOOL cli_rename(struct cli_state *cli, char *fname_src, char *fname_dst);
BOOL cli_unlink(struct cli_state *cli, char *fname);
BOOL cli_mkdir(struct cli_state *cli, char *dname);
BOOL cli_rmdir(struct cli_state *cli, char *dname);
int cli_nt_create(struct cli_state *cli, char *fname);
int cli_nt_create(struct cli_state *cli, char *fname, uint32 DesiredAccess);
int cli_open(struct cli_state *cli, char *fname, int flags, int share_mode);
BOOL cli_close(struct cli_state *cli, int fnum);
BOOL cli_lock(struct cli_state *cli, int fnum,

View File

@ -1076,6 +1076,9 @@ struct bitmap {
#define FILE_WRITE_ATTRIBUTES 0x100
#define FILE_ALL_ATTRIBUTES 0x1FF
/* the desired access to use when opening a pipe */
#define DESIRED_ACCESS_PIPE 0x2019f
/* Generic access masks & rights. */
#define SPECIFIC_RIGHTS_MASK 0x00FFFFL

View File

@ -149,7 +149,7 @@ BOOL cli_rmdir(struct cli_state *cli, char *dname)
p = smb_buf(cli->outbuf);
*p++ = 4;
pstrcpy(p,dname);
unix_to_dos(p,True);
unix_to_dos(p,True);
cli_send_smb(cli);
if (!cli_receive_smb(cli)) {
@ -168,7 +168,7 @@ BOOL cli_rmdir(struct cli_state *cli, char *dname)
/****************************************************************************
open a file
****************************************************************************/
int cli_nt_create(struct cli_state *cli, char *fname)
int cli_nt_create(struct cli_state *cli, char *fname, uint32 DesiredAccess)
{
char *p;
@ -187,7 +187,7 @@ int cli_nt_create(struct cli_state *cli, char *fname)
else
SIVAL(cli->outbuf,smb_ntcreate_Flags, 0);
SIVAL(cli->outbuf,smb_ntcreate_RootDirectoryFid, 0x0);
SIVAL(cli->outbuf,smb_ntcreate_DesiredAccess, 0x2019f);
SIVAL(cli->outbuf,smb_ntcreate_DesiredAccess, DesiredAccess);
SIVAL(cli->outbuf,smb_ntcreate_FileAttributes, 0x0);
SIVAL(cli->outbuf,smb_ntcreate_ShareAccess, 0x03);
SIVAL(cli->outbuf,smb_ntcreate_CreateDisposition, 0x01);

View File

@ -1169,7 +1169,7 @@ BOOL cli_nt_session_open(struct cli_state *cli, char *pipe_name)
int fnum;
if (cli->capabilities & CAP_NT_SMBS) {
if ((fnum = cli_nt_create(cli, &(pipe_name[5]))) == -1) {
if ((fnum = cli_nt_create(cli, &(pipe_name[5], DESIRED_ACCESS_PIPE))) == -1) {
DEBUG(0,("cli_nt_session_open: cli_nt_create failed on pipe %s to machine %s. Error was %s\n",
&(pipe_name[5]), cli->desthost, cli_errstr(cli)));
return False;