diff options
Diffstat (limited to 'source3/utils/smbcacls.c')
-rw-r--r-- | source3/utils/smbcacls.c | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/source3/utils/smbcacls.c b/source3/utils/smbcacls.c index a4b14df0c9..f68a2c2c6b 100644 --- a/source3/utils/smbcacls.c +++ b/source3/utils/smbcacls.c @@ -441,30 +441,6 @@ static void sec_desc_print(FILE *f, SEC_DESC *sd) } -/* Some systems seem to require unicode pathnames for the ntcreate&x call - despite Samba negotiating ascii filenames. Try with unicode pathname if - the ascii version fails. */ - -int do_cli_nt_create(struct cli_state *cli, char *fname, uint32 DesiredAccess) -{ - int result; - - result = cli_nt_create(cli, fname, DesiredAccess); - - if (result == -1) { - uint32 errnum, nt_rpc_error; - uint8 errclass; - - cli_error(cli, &errclass, &errnum, &nt_rpc_error); - - if (errclass == ERRDOS && errnum == ERRbadpath) { - result = cli_nt_create_uni(cli, fname, DesiredAccess); - } - } - - return result; -} - /***************************************************** dump the acls for a file *******************************************************/ @@ -475,7 +451,7 @@ static int cacl_dump(struct cli_state *cli, char *filename) if (test_args) return EXIT_OK; - fnum = do_cli_nt_create(cli, filename, 0x20000); + fnum = cli_nt_create(cli, filename, 0x20000); if (fnum == -1) { printf("Failed to open %s: %s\n", filename, cli_errstr(cli)); return EXIT_FAILED; @@ -510,9 +486,9 @@ static int owner_set(struct cli_state *cli, enum chown_mode change_mode, SEC_DESC *sd, *old; size_t sd_size; - fnum = do_cli_nt_create(cli, filename, - READ_CONTROL_ACCESS | WRITE_DAC_ACCESS - | WRITE_OWNER_ACCESS); + fnum = cli_nt_create(cli, filename, + READ_CONTROL_ACCESS | WRITE_DAC_ACCESS + | WRITE_OWNER_ACCESS); if (fnum == -1) { printf("Failed to open %s: %s\n", filename, cli_errstr(cli)); @@ -606,8 +582,8 @@ static int cacl_set(struct cli_state *cli, char *filename, /* The desired access below is the only one I could find that works with NT4, W2KP and Samba */ - fnum = do_cli_nt_create(cli, filename, - MAXIMUM_ALLOWED_ACCESS | 0x60000); + fnum = cli_nt_create(cli, filename, + MAXIMUM_ALLOWED_ACCESS | 0x60000); if (fnum == -1) { printf("Failed to open %s: %s\n", filename, cli_errstr(cli)); |