1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

s3: libsmb: In struct file_info rename mode -> attr.

Cleanup.  It's never been a UNIX mode, always a DOS attribute field.
Make that explicit.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
Jeremy Allison 2020-06-03 10:41:27 -07:00
parent 469aaaea07
commit 8db0ba666a
12 changed files with 37 additions and 37 deletions

View File

@ -496,7 +496,7 @@ static NTSTATUS parse_finfo_id_both_directory_info(uint8_t *dir_data,
finfo->mtime_ts = interpret_long_date((const char *)dir_data + 24);
finfo->ctime_ts = interpret_long_date((const char *)dir_data + 32);
finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0);
finfo->mode = (uint16_t)IVAL(dir_data + 56, 0);
finfo->attr = (uint16_t)IVAL(dir_data + 56, 0);
namelen = IVAL(dir_data + 60,0);
if (namelen > (dir_data_length - 104)) {
return NT_STATUS_INFO_LENGTH_MISMATCH;
@ -572,10 +572,10 @@ static void cli_smb2_listdir_done(struct tevent_req *subreq)
return;
}
ok = dir_check_ftype(finfo->mode, state->attribute);
ok = dir_check_ftype(finfo->attr, state->attribute);
DEBUG(10, ("%s: dir_check_ftype(%u,%u) returned %u\n",
__func__, (unsigned)finfo->mode,
__func__, (unsigned)finfo->attr,
(unsigned)state->attribute, (unsigned)ok));
if (ok) {

View File

@ -155,7 +155,7 @@ static NTSTATUS gpo_sync_func(const char *mnt,
DEBUG(5,("gpo_sync_func: got mask: [%s], name: [%s]\n",
mask, info->name));
if (info->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (info->attr & FILE_ATTRIBUTE_DIRECTORY) {
DEBUG(3,("got dir: [%s]\n", info->name));

View File

@ -537,7 +537,7 @@ static bool do_this_one(struct file_info *finfo)
return false;
}
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
return true;
}
@ -552,7 +552,7 @@ static bool do_this_one(struct file_info *finfo)
return false;
}
if ((archive_level==1 || archive_level==2) && !(finfo->mode & FILE_ATTRIBUTE_ARCHIVE)) {
if ((archive_level==1 || archive_level==2) && !(finfo->attr & FILE_ATTRIBUTE_ARCHIVE)) {
DEBUG(3,("archive %s failed\n", finfo->name));
return false;
}
@ -579,7 +579,7 @@ static NTSTATUS display_finfo(struct cli_state *cli_state, struct file_info *fin
if (!showacls) {
d_printf(" %-30s%7.7s %8.0f %s",
finfo->name,
attrib_string(talloc_tos(), finfo->mode),
attrib_string(talloc_tos(), finfo->attr),
(double)finfo->size,
time_to_asc(t));
dir_total += finfo->size;
@ -601,7 +601,7 @@ static NTSTATUS display_finfo(struct cli_state *cli_state, struct file_info *fin
}
/* print file meta date header */
d_printf( "FILENAME:%s\n", finfo->name);
d_printf( "MODE:%s\n", attrib_string(talloc_tos(), finfo->mode));
d_printf( "MODE:%s\n", attrib_string(talloc_tos(), finfo->attr));
d_printf( "SIZE:%.0f\n", (double)finfo->size);
d_printf( "MTIME:%s", time_to_asc(t));
status = cli_ntcreate(
@ -793,7 +793,7 @@ static NTSTATUS do_list_helper(const char *mntpoint, struct file_info *f,
*dir_end = '\0';
}
if (f->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (f->attr & FILE_ATTRIBUTE_DIRECTORY) {
if (do_list_dirs && do_this_one(f)) {
status = do_list_fn(cli_state, f, dir);
if (!NT_STATUS_IS_OK(status)) {
@ -1308,7 +1308,7 @@ static NTSTATUS do_mget(struct cli_state *cli_state, struct file_info *finfo,
return NT_STATUS_UNSUCCESSFUL;
}
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
if (asprintf(&quest,
"Get directory %s? ",finfo->name) < 0) {
return NT_STATUS_NO_MEMORY;
@ -1326,7 +1326,7 @@ static NTSTATUS do_mget(struct cli_state *cli_state, struct file_info *finfo,
}
SAFE_FREE(quest);
if (!(finfo->mode & FILE_ATTRIBUTE_DIRECTORY)) {
if (!(finfo->attr & FILE_ATTRIBUTE_DIRECTORY)) {
rname = talloc_asprintf(ctx,
"%s%s",
client_get_cur_dir(),
@ -2511,7 +2511,7 @@ static NTSTATUS do_del(struct cli_state *cli_state, struct file_info *finfo,
return NT_STATUS_NO_MEMORY;
}
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
TALLOC_FREE(mask);
return NT_STATUS_OK;
}
@ -2641,7 +2641,7 @@ static NTSTATUS do_deltree_list(struct cli_state *cli_state,
return NT_STATUS_NO_MEMORY;
}
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
dt->isdir = true;
}
@ -5771,7 +5771,7 @@ static NTSTATUS completion_remote_filter(const char *mnt,
return NT_STATUS_OK;
}
if ((info->dirmask[0] == 0) && !(f->mode & FILE_ATTRIBUTE_DIRECTORY))
if ((info->dirmask[0] == 0) && !(f->attr & FILE_ATTRIBUTE_DIRECTORY))
info->matches[info->count] = SMB_STRDUP(f->name);
else {
TALLOC_CTX *ctx = talloc_stackframe();
@ -5787,7 +5787,7 @@ static NTSTATUS completion_remote_filter(const char *mnt,
TALLOC_FREE(ctx);
return NT_STATUS_NO_MEMORY;
}
if (f->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (f->attr & FILE_ATTRIBUTE_DIRECTORY) {
tmp = talloc_asprintf_append(tmp, "%s",
CLI_DIRSEP_STR);
}
@ -5801,7 +5801,7 @@ static NTSTATUS completion_remote_filter(const char *mnt,
if (info->matches[info->count] == NULL) {
return NT_STATUS_OK;
}
if (f->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (f->attr & FILE_ATTRIBUTE_DIRECTORY) {
smb_readline_ca_char(0);
}
if (info->count == 1) {

View File

@ -861,7 +861,7 @@ static NTSTATUS get_file_callback(struct cli_state *cli,
goto out;
}
isdir = finfo->mode & FILE_ATTRIBUTE_DIRECTORY;
isdir = finfo->attr & FILE_ATTRIBUTE_DIRECTORY;
if (isdir) {
old_dir = talloc_strdup(ctx, initial_dir);
new_dir = talloc_asprintf(ctx, "%s\\", remote_name);
@ -938,7 +938,7 @@ static int tar_get_file(struct tar *t,
uint64_t off = 0;
uint16_t remote_fd = (uint16_t)-1;
int err = 0, r;
const bool isdir = finfo->mode & FILE_ATTRIBUTE_DIRECTORY;
const bool isdir = finfo->attr & FILE_ATTRIBUTE_DIRECTORY;
TALLOC_CTX *ctx = talloc_new(NULL);
if (ctx == NULL) {
@ -1459,7 +1459,7 @@ static NTSTATUS tar_create_skip_path(struct tar *t,
bool *_skip)
{
/* syntaxic sugar */
const mode_t mode = finfo->mode;
const mode_t mode = finfo->attr;
const bool isdir = mode & FILE_ATTRIBUTE_DIRECTORY;
const bool exclude = t->mode.selection == TAR_EXCLUDE;
bool in = true;

View File

@ -100,7 +100,7 @@ struct cli_state {
struct file_info {
uint64_t size;
uint64_t allocated_size;
uint16_t mode;
uint16_t attr;
uid_t uid;
gid_t gid;
uint64_t ino;

View File

@ -1199,8 +1199,8 @@ static NTSTATUS parse_finfo_id_both_directory_info(const uint8_t *dir_data,
finfo->ctime_ts = interpret_long_date((const char *)dir_data + 32);
finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0);
finfo->allocated_size = IVAL2_TO_SMB_BIG_UINT(dir_data + 48, 0);
/* NB. We need to enlarge finfo->mode to be 32-bits. */
finfo->mode = (uint16_t)IVAL(dir_data + 56, 0);
/* NB. We need to enlarge finfo->attr to be 32-bits. */
finfo->attr = (uint16_t)IVAL(dir_data + 56, 0);
finfo->ino = IVAL2_TO_SMB_BIG_UINT(dir_data + 96, 0);
namelen = IVAL(dir_data + 60,0);
if (namelen > (dir_data_length - 104)) {
@ -1419,7 +1419,7 @@ NTSTATUS cli_smb2_list(struct cli_state *cli,
goto fail;
}
if (dir_check_ftype((uint32_t)finfo->mode,
if (dir_check_ftype((uint32_t)finfo->attr,
(uint32_t)attribute)) {
/*
* Only process if attributes match.

View File

@ -152,7 +152,7 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
finfo->mtime_ts = convert_time_t_to_timespec(
make_unix_date2(p+12, smb1cli_conn_server_time_zone(cli->conn)));
finfo->size = IVAL(p,16);
finfo->mode = SVAL(p,24);
finfo->attr = SVAL(p,24);
len = CVAL(p, 26);
p += 27;
if (recv_flags2 & FLAGS2_UNICODE_STRINGS) {
@ -211,7 +211,7 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
finfo->mtime_ts = convert_time_t_to_timespec(
make_unix_date2(p+12, smb1cli_conn_server_time_zone(cli->conn)));
finfo->size = IVAL(p,16);
finfo->mode = SVAL(p,24);
finfo->attr = SVAL(p,24);
len = CVAL(p, 30);
p += 31;
/* check for unisys! */
@ -257,8 +257,8 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
finfo->size = IVAL2_TO_SMB_BIG_UINT(p,0);
p += 8;
p += 8; /* alloc size */
/* NB. We need to enlarge finfo->mode to be 32-bits. */
finfo->mode = (uint16_t)IVAL(p,0);
/* NB. We need to enlarge finfo->attr to be 32-bits. */
finfo->attr = (uint16_t)IVAL(p,0);
p += 4;
namelen = IVAL(p,0);
p += 4;
@ -325,7 +325,7 @@ static bool interpret_short_filename(TALLOC_CTX *ctx,
size_t ret;
ZERO_STRUCTP(finfo);
finfo->mode = CVAL(p,21);
finfo->attr = CVAL(p,21);
/* We don't get birth time. */
finfo->btime_ts.tv_sec = 0;

View File

@ -187,7 +187,7 @@ static int add_dirplus(SMBCFILE *dir, struct file_info *finfo)
info->ctime_ts = finfo->ctime_ts;
info->mtime_ts = finfo->mtime_ts;
info->gid = finfo->gid;
info->attrs = finfo->mode;
info->attrs = finfo->attr;
info->size = finfo->size;
info->uid = finfo->uid;
info->name = SMB_STRDUP(finfo->name);
@ -341,7 +341,7 @@ dir_list_fn(const char *mnt,
int ret;
if (add_dirent((SMBCFILE *)state, finfo->name, "",
(finfo->mode&FILE_ATTRIBUTE_DIRECTORY?SMBC_DIR:SMBC_FILE)) < 0) {
(finfo->attr&FILE_ATTRIBUTE_DIRECTORY?SMBC_DIR:SMBC_FILE)) < 0) {
SMBCFILE *dir = (SMBCFILE *)state;
return map_nt_error_from_unix(dir->dir_error);
}

View File

@ -1137,7 +1137,7 @@ static NTSTATUS list_helper(const char *mntpoint, struct file_info *finfo,
*/
file = Py_BuildValue("{s:s,s:i,s:s,s:O,s:l}",
"name", finfo->name,
"attrib", (int)finfo->mode,
"attrib", (int)finfo->attr,
"short_name", finfo->short_name,
"size", size,
"mtime",
@ -1407,7 +1407,7 @@ static NTSTATUS delete_tree_callback(const char *mntpoint,
return NT_STATUS_NO_MEMORY;
}
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
/* recursively delete the sub-directory and its contents */
status = delete_dir_tree(state->self, filepath);

View File

@ -328,7 +328,7 @@ static NTSTATUS delete_fn(const char *mnt, struct file_info *finfo,
printf("asprintf failed\n");
return NT_STATUS_NO_MEMORY;
}
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
char *s2;
if (asprintf(&s2, "%s\\*", s) == -1) {
printf("asprintf failed\n");

View File

@ -9729,7 +9729,7 @@ static NTSTATUS del_fn(const char *mnt, struct file_info *finfo, const char *mas
if (strcmp(finfo->name, ".") == 0 || strcmp(finfo->name, "..") == 0)
return NT_STATUS_OK;
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
if (!NT_STATUS_IS_OK(cli_rmdir(pcli, fname)))
printf("del_fn: failed to rmdir %s\n,", fname );
} else {
@ -11456,7 +11456,7 @@ static NTSTATUS msdfs_attribute_list_fn(const char *mnt,
uint16_t *p_mode = (uint16_t *)private_data;
if (strequal(finfo->name, test_filename)) {
*p_mode = finfo->mode;
*p_mode = finfo->attr;
}
return NT_STATUS_OK;
@ -11805,7 +11805,7 @@ static NTSTATUS shortname_del_fn(const char *mnt, struct file_info *finfo,
if (strcmp(finfo->name, ".") == 0 || strcmp(finfo->name, "..") == 0)
return NT_STATUS_OK;
if (finfo->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
status = cli_rmdir(pcli, fname);
if (!NT_STATUS_IS_OK(status)) {
printf("del_fn: failed to rmdir %s\n,", fname );

View File

@ -3993,7 +3993,7 @@ static NTSTATUS copy_fn(const char *mnt, struct file_info *f,
DEBUG(3,("got mask: %s, name: %s\n", mask, f->name));
/* DIRECTORY */
if (f->mode & FILE_ATTRIBUTE_DIRECTORY) {
if (f->attr & FILE_ATTRIBUTE_DIRECTORY) {
DEBUG(3,("got dir: %s\n", f->name));