s3: libsmb: In struct file_info rename mode -> attr.
authorJeremy Allison <jra@samba.org>
Wed, 3 Jun 2020 17:41:27 +0000 (10:41 -0700)
committerJeremy Allison <jra@samba.org>
Thu, 4 Jun 2020 17:11:36 +0000 (17:11 +0000)
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>
12 files changed:
examples/fuse/clifuse.c
libgpo/gpo_filesync.c
source3/client/client.c
source3/client/clitar.c
source3/include/client.h
source3/libsmb/cli_smb2_fnum.c
source3/libsmb/clilist.c
source3/libsmb/libsmb_dir.c
source3/libsmb/pylibsmb.c
source3/torture/nbio.c
source3/torture/torture.c
source3/utils/net_rpc.c

index 5b180fdf3d3f0a52374f78c7d5399a4fd3f5bef9..1a8d3d4c0942c56a698808eea4084eb655336fbd 100644 (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) {
index b19a9e746bf3bc5c4bab9f7ab923ab171918a478..28637619226f3bafc75caa3767bc21025f6bcb95 100644 (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));
 
index 2a95911f54d68a8c1c3af9631bbeb642c094e8bc..362fd2cc08ba6ea8403cccd185256f5cf2e4c8e3 100644 (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) {
index 76596067f2d8949f0780de447f57413bd705fe26..3fe3622aba667c564b0e6d3a2cc3626fdeeeb156 100644 (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;
index fdb5d7da830020abbcff76f948eed1825d139bb3..56d368e65827b3ef07a2719e20f38887cb28df41 100644 (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;
index 46a4ae95977d43a8fd65bf88f29f4d2d36abcdc7..994b94802d87a4d0a2353490eb1b6d75a7d3cf47 100644 (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.
index 0c4e3db09f144fd73f33550cb67acb6557e4a7da..db5f4bfadd3ac0e5746acc69a945cdd46ed01162 100644 (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;
index b95fee63795e2ee8b1d98d394375071c85b02732..cdae281af197425ef4dfd3138be528a49d6ce438 100644 (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);
        }
index 426c7b28b646bf407461f6be5e1d58b18dfa9b49..006cc9078b87715585322379140b0cbfc5f4dd04 100644 (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);
index 861f8741c9661779c2499158e39acc15a5903413..582f0b7e2e9fe1f615a1547fb4ded7de1f9f5dcd 100644 (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");
index 31e454055914670a17f6122496aca6edc9ed535b..ee9219f240496e99e43b32369596200766b0cad2 100644 (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 );
index d59522e29caf808d71f68299ea8e8cdbd3ab8dc4..956b6d02901dfaf413c90f42ccf1d72f43c87c4f 100644 (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));