[SCM] Samba Shared Repository - branch master updated
Noel Power
npower at samba.org
Thu Jun 10 09:17:01 UTC 2021
The branch, master has been updated
via f44918e6c83 s3: VFS: default: Add proc_fd's fallback for vfswrap_fchown().
from 767287920aa selftest/gdb_backtrace: remove duplicate assignment.
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f44918e6c83c89936156eb24c982a897c9c45f61
Author: Jeremy Allison <jra at samba.org>
Date: Wed Jun 9 15:57:38 2021 -0700
s3: VFS: default: Add proc_fd's fallback for vfswrap_fchown().
https://bugzilla.samba.org/show_bug.cgi?id=14734
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Noel Power <npower at samba.org>
Autobuild-User(master): Noel Power <npower at samba.org>
Autobuild-Date(master): Thu Jun 10 09:16:22 UTC 2021 on sn-devel-184
-----------------------------------------------------------------------
Summary of changes:
source3/modules/vfs_default.c | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
Changeset truncated at 500 lines:
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 187b68a78cf..79531f83483 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -2514,7 +2514,31 @@ static int vfswrap_fchown(vfs_handle_struct *handle, files_struct *fsp, uid_t ui
int result;
START_PROFILE(syscall_fchown);
- result = fchown(fsp_get_io_fd(fsp), uid, gid);
+ if (!fsp->fsp_flags.is_pathref) {
+ result = fchown(fsp_get_io_fd(fsp), uid, gid);
+ END_PROFILE(syscall_fchown);
+ return result;
+ }
+
+ if (fsp->fsp_flags.have_proc_fds) {
+ int fd = fsp_get_pathref_fd(fsp);
+ const char *p = NULL;
+ char buf[PATH_MAX];
+
+ p = sys_proc_fd_path(fd, buf, sizeof(buf));
+ if (p != NULL) {
+ result = chown(p, uid, gid);
+ } else {
+ result = -1;
+ }
+ END_PROFILE(syscall_fchown);
+ return result;
+ }
+
+ /*
+ * This is no longer a handle based call.
+ */
+ result = chown(fsp->fsp_name->base_name, uid, gid);
END_PROFILE(syscall_fchown);
return result;
#else
--
Samba Shared Repository
More information about the samba-cvs
mailing list