diff options
-rw-r--r-- | source3/client/client.c | 8 | ||||
-rw-r--r-- | source3/include/proto.h | 4 | ||||
-rw-r--r-- | source3/libsmb/clifile.c | 8 | ||||
-rw-r--r-- | source3/torture/torture.c | 18 |
4 files changed, 25 insertions, 13 deletions
diff --git a/source3/client/client.c b/source3/client/client.c index 51292680ba..062809d1b6 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -3346,6 +3346,7 @@ static int cmd_setea(void) char *eavalue = NULL; char *targetname = NULL; struct cli_state *targetcli; + NTSTATUS status; if (!next_token_talloc(ctx, &cmd_ptr, &name, NULL) || !next_token_talloc(ctx, &cmd_ptr, &eaname, NULL)) { @@ -3369,9 +3370,10 @@ static int cmd_setea(void) return 1; } - if (!cli_set_ea_path(targetcli, targetname, eaname, eavalue, - strlen(eavalue))) { - d_printf("set_ea %s: %s\n", src, cli_errstr(cli)); + status = cli_set_ea_path(targetcli, targetname, eaname, eavalue, + strlen(eavalue)); + if (!NT_STATUS_IS_OK(status)) { + d_printf("set_ea %s: %s\n", src, nt_errstr(status)); return 1; } diff --git a/source3/include/proto.h b/source3/include/proto.h index 10468be312..69b59a1088 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -2077,7 +2077,9 @@ NTSTATUS cli_ctemp(struct cli_state *cli, uint16_t *pfnum, char **out_path); NTSTATUS cli_raw_ioctl(struct cli_state *cli, uint16_t fnum, uint32_t code, DATA_BLOB *blob); -bool cli_set_ea_path(struct cli_state *cli, const char *path, const char *ea_name, const char *ea_val, size_t ea_len); +NTSTATUS cli_set_ea_path(struct cli_state *cli, const char *path, + const char *ea_name, const char *ea_val, + size_t ea_len); bool cli_set_ea_fnum(struct cli_state *cli, uint16_t fnum, const char *ea_name, const char *ea_val, size_t ea_len); struct tevent_req *cli_get_ea_list_path_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c index f8a6220173..23f9567f85 100644 --- a/source3/libsmb/clifile.c +++ b/source3/libsmb/clifile.c @@ -4120,7 +4120,9 @@ static NTSTATUS cli_set_ea(struct cli_state *cli, uint16_t setup_val, Set an extended attribute on a pathname. *********************************************************/ -bool cli_set_ea_path(struct cli_state *cli, const char *path, const char *ea_name, const char *ea_val, size_t ea_len) +NTSTATUS cli_set_ea_path(struct cli_state *cli, const char *path, + const char *ea_name, const char *ea_val, + size_t ea_len) { unsigned int param_len = 0; uint8_t *param; @@ -4130,7 +4132,7 @@ bool cli_set_ea_path(struct cli_state *cli, const char *path, const char *ea_nam param = SMB_MALLOC_ARRAY(uint8_t, 6+srclen+2); if (!param) { - return false; + return NT_STATUS_NO_MEMORY; } memset(param, '\0', 6); SSVAL(param,0,SMB_INFO_SET_EA); @@ -4142,7 +4144,7 @@ bool cli_set_ea_path(struct cli_state *cli, const char *path, const char *ea_nam status = cli_set_ea(cli, TRANSACT2_SETPATHINFO, param, param_len, ea_name, ea_val, ea_len); SAFE_FREE(param); - return NT_STATUS_IS_OK(status); + return status; } /********************************************************* diff --git a/source3/torture/torture.c b/source3/torture/torture.c index f69d734b7b..635eb5d867 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -5222,8 +5222,10 @@ static bool run_eatest(int dummy) slprintf(ea_name, sizeof(ea_name), "EA_%d", i+10); memset(ea_val, (char)i+1, i+1); - if (!cli_set_ea_path(cli, fname, ea_name, ea_val, i+1)) { - printf("ea_set of name %s failed - %s\n", ea_name, cli_errstr(cli)); + status = cli_set_ea_path(cli, fname, ea_name, ea_val, i+1); + if (!NT_STATUS_IS_OK(status)) { + printf("ea_set of name %s failed - %s\n", ea_name, + nt_errstr(status)); talloc_destroy(mem_ctx); return False; } @@ -5257,8 +5259,10 @@ static bool run_eatest(int dummy) for (i = 0; i < 20; i++) { fstring ea_name; slprintf(ea_name, sizeof(ea_name), "ea_%d", i); - if (!cli_set_ea_path(cli, fname, ea_name, "", 0)) { - printf("ea_set of name %s failed - %s\n", ea_name, cli_errstr(cli)); + status = cli_set_ea_path(cli, fname, ea_name, "", 0); + if (!NT_STATUS_IS_OK(status)) { + printf("ea_set of name %s failed - %s\n", ea_name, + nt_errstr(status)); talloc_destroy(mem_ctx); return False; } @@ -5284,8 +5288,10 @@ static bool run_eatest(int dummy) } /* Try and delete a non existant EA. */ - if (!cli_set_ea_path(cli, fname, "foo", "", 0)) { - printf("deleting non-existant EA 'foo' should succeed. %s\n", cli_errstr(cli)); + status = cli_set_ea_path(cli, fname, "foo", "", 0); + if (!NT_STATUS_IS_OK(status)) { + printf("deleting non-existant EA 'foo' should succeed. %s\n", + nt_errstr(status)); correct = False; } |