libsmb: Remove cli_getattrE() fallback from cli_qfileinfo_basic() users
authorVolker Lendecke <vl@samba.org>
Thu, 4 Jun 2020 06:43:49 +0000 (08:43 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 4 Jun 2020 17:11:39 +0000 (17:11 +0000)
cli_qfileinfo_basic() now takes care of this centrally

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/client/client.c
source3/libsmb/libsmb_file.c
source3/libsmb/libsmb_stat.c

index ce1ae906a7cfaa6c2d2d03d4fe2af3525d00af3d..bcf4762699d22d4a9a4e582b014a81121ea775b6 100644 (file)
@@ -1186,15 +1186,11 @@ static int do_get(const char *rname, const char *lname_in, bool reget)
        status = cli_qfileinfo_basic(targetcli, fnum, &attr, &size, NULL, NULL,
                                     NULL, NULL, NULL);
        if (!NT_STATUS_IS_OK(status)) {
-               status = cli_getattrE(targetcli, fnum, &attr, &size, NULL, NULL,
-                                     NULL);
-               if(!NT_STATUS_IS_OK(status)) {
-                       d_printf("getattrib: %s\n", nt_errstr(status));
-                       if (newhandle) {
-                               close(handle);
-                       }
-                       return 1;
+               d_printf("getattrib: %s\n", nt_errstr(status));
+               if (newhandle) {
+                       close(handle);
                }
+               return 1;
        }
 
        DEBUG(1,("getting file %s of size %.0f as %s ",
@@ -1994,11 +1990,7 @@ static int do_put(const char *rname, const char *lname, bool reput)
                        if (!NT_STATUS_IS_OK(status = cli_qfileinfo_basic(
                                                     targetcli, fnum, NULL,
                                                     &start, NULL, NULL,
-                                                    NULL, NULL, NULL)) &&
-                           !NT_STATUS_IS_OK(status = cli_getattrE(
-                                                    targetcli, fnum, NULL,
-                                                    &start, NULL, NULL,
-                                                    NULL))) {
+                                                    NULL, NULL, NULL))) {
                                d_printf("getattrib: %s\n", nt_errstr(status));
                                return 1;
                        }
index 540f80d50586b50ee898736b224a45481dc40e08..0791df3669024e37c59c6a549e7509fda91ef9c2 100644 (file)
@@ -715,14 +715,9 @@ SMBC_lseek_ctx(SMBCCTX *context,
                                             file->targetcli, file->cli_fd, NULL,
                                             &size, NULL, NULL, NULL, NULL,
                                             NULL))) {
-                        off_t b_size = size;
-                       if (!NT_STATUS_IS_OK(cli_getattrE(file->targetcli, file->cli_fd,
-                                          NULL, &b_size, NULL, NULL, NULL))) {
-                                errno = EINVAL;
-                                TALLOC_FREE(frame);
-                                return -1;
-                        } else
-                                size = b_size;
+                       errno = EINVAL;
+                       TALLOC_FREE(frame);
+                       return -1;
                }
                file->offset = size + offset;
                break;
index 92b98e9b3f795f6e7049647741fc7878081ed268..790934bd565dbc52bc7e2a0e3cc8354c91419df0 100644 (file)
@@ -298,17 +298,9 @@ SMBC_fstat_ctx(SMBCCTX *context,
                                     &write_time_ts,
                                     &change_time_ts,
                                     &ino))) {
-               time_t change_time, access_time, write_time;
-
-               if (!NT_STATUS_IS_OK(cli_getattrE(targetcli, file->cli_fd, &attr, &size,
-                                  &change_time, &access_time, &write_time))) {
-                       errno = EINVAL;
-                       TALLOC_FREE(frame);
-                       return -1;
-               }
-               change_time_ts = convert_time_t_to_timespec(change_time);
-               access_time_ts = convert_time_t_to_timespec(access_time);
-               write_time_ts = convert_time_t_to_timespec(write_time);
+               errno = EINVAL;
+               TALLOC_FREE(frame);
+               return -1;
        }
 
        setup_stat(st,