summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/utils/smbcacls.c36
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));