diff options
-rw-r--r-- | docs-xml/manpages-3/vfs_full_audit.8.xml | 1 | ||||
-rw-r--r-- | examples/VFS/skel_opaque.c | 7 | ||||
-rw-r--r-- | examples/VFS/skel_transparent.c | 6 | ||||
-rw-r--r-- | source3/configure.in | 6 | ||||
-rw-r--r-- | source3/include/proto.h | 1 | ||||
-rw-r--r-- | source3/include/vfs.h | 3 | ||||
-rw-r--r-- | source3/include/vfs_macros.h | 5 | ||||
-rw-r--r-- | source3/lib/system.c | 37 | ||||
-rw-r--r-- | source3/modules/vfs_cap.c | 13 | ||||
-rw-r--r-- | source3/modules/vfs_catia.c | 23 | ||||
-rw-r--r-- | source3/modules/vfs_default.c | 6 | ||||
-rw-r--r-- | source3/modules/vfs_full_audit.c | 17 | ||||
-rw-r--r-- | source3/modules/vfs_onefs_shadow_copy.c | 10 | ||||
-rw-r--r-- | source3/modules/vfs_shadow_copy2.c | 28 | ||||
-rw-r--r-- | source3/modules/vfs_time_audit.c | 20 | ||||
-rw-r--r-- | source3/smbd/vfs.c | 7 | ||||
-rw-r--r-- | source3/wscript | 4 |
17 files changed, 5 insertions, 189 deletions
diff --git a/docs-xml/manpages-3/vfs_full_audit.8.xml b/docs-xml/manpages-3/vfs_full_audit.8.xml index d70fbbf639..8dbceb967d 100644 --- a/docs-xml/manpages-3/vfs_full_audit.8.xml +++ b/docs-xml/manpages-3/vfs_full_audit.8.xml @@ -78,7 +78,6 @@ <member>linux_setlease</member> <member>listxattr</member> <member>lock</member> - <member>lremovexattr</member> <member>lseek</member> <member>lstat</member> <member>mkdir</member> diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c index e41895c611..40691ed7f9 100644 --- a/examples/VFS/skel_opaque.c +++ b/examples/VFS/skel_opaque.c @@ -692,12 +692,6 @@ static int skel_removexattr(vfs_handle_struct *handle, const char *path, const c return -1; } -static int skel_lremovexattr(vfs_handle_struct *handle, const char *path, const char *name) -{ - errno = ENOSYS; - return -1; -} - static int skel_fremovexattr(vfs_handle_struct *handle, struct files_struct *fsp, const char *name) { errno = ENOSYS; @@ -898,7 +892,6 @@ struct vfs_fn_pointers skel_opaque_fns = { .listxattr_fn = skel_listxattr, .flistxattr_fn = skel_flistxattr, .removexattr_fn = skel_removexattr, - .lremovexattr_fn = skel_lremovexattr, .fremovexattr_fn = skel_fremovexattr, .setxattr_fn = skel_setxattr, .fsetxattr_fn = skel_fsetxattr, diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c index 5aa3bbb271..2d5fcdd63b 100644 --- a/examples/VFS/skel_transparent.c +++ b/examples/VFS/skel_transparent.c @@ -666,11 +666,6 @@ static int skel_removexattr(vfs_handle_struct *handle, const char *path, const c return SMB_VFS_NEXT_REMOVEXATTR(handle, path, name); } -static int skel_lremovexattr(vfs_handle_struct *handle, const char *path, const char *name) -{ - return SMB_VFS_NEXT_LREMOVEXATTR(handle, path, name); -} - static int skel_fremovexattr(vfs_handle_struct *handle, struct files_struct *fsp, const char *name) { return SMB_VFS_NEXT_FREMOVEXATTR(handle, fsp, name); @@ -857,7 +852,6 @@ struct vfs_fn_pointers skel_transparent_fns = { .listxattr_fn = skel_listxattr, .flistxattr_fn = skel_flistxattr, .removexattr_fn = skel_removexattr, - .lremovexattr_fn = skel_lremovexattr, .fremovexattr_fn = skel_fremovexattr, .setxattr_fn = skel_setxattr, .fsetxattr_fn = skel_fsetxattr, diff --git a/source3/configure.in b/source3/configure.in index c369479226..40308d2668 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -1301,16 +1301,16 @@ case "$host_os" in *) AC_SEARCH_LIBS(getxattr, [attr]) AC_CHECK_FUNCS(getxattr,[ - AC_CHECK_FUNCS(fgetxattr listxattr flistxattr removexattr lremovexattr fremovexattr setxattr fsetxattr) + AC_CHECK_FUNCS(fgetxattr listxattr flistxattr removexattr fremovexattr setxattr fsetxattr) ]) AC_CHECK_FUNCS(getea,[ - AC_CHECK_FUNCS(fgetea lgetea listea flistea removeea fremoveea lremoveea setea fsetea) + AC_CHECK_FUNCS(fgetea lgetea listea flistea removeea fremoveea setea fsetea) ]) AC_CHECK_FUNCS(attr_get,[ AC_CHECK_FUNCS(attr_list attr_set attr_remove attr_getf attr_listf attr_setf attr_removef) ]) AC_CHECK_FUNCS(extattr_delete_file,[ - AC_CHECK_FUNCS(extattr_delete_fd extattr_delete_link extattr_get_fd extattr_get_file extattr_get_link extattr_list_fd extattr_list_file extattr_list_link extattr_set_fd extattr_set_file) + AC_CHECK_FUNCS(extattr_delete_fd extattr_get_fd extattr_get_file extattr_get_link extattr_list_fd extattr_list_file extattr_list_link extattr_set_fd extattr_set_file) ]) ;; esac diff --git a/source3/include/proto.h b/source3/include/proto.h index b4b91e2b18..1d3dba6a83 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -355,7 +355,6 @@ ssize_t sys_fgetxattr (int filedes, const char *name, void *value, size_t size); ssize_t sys_listxattr (const char *path, char *list, size_t size); ssize_t sys_flistxattr (int filedes, char *list, size_t size); int sys_removexattr (const char *path, const char *name); -int sys_lremovexattr (const char *path, const char *name); int sys_fremovexattr (int filedes, const char *name); int sys_setxattr (const char *path, const char *name, const void *value, size_t size, int flags); int sys_fsetxattr (int filedes, const char *name, const void *value, size_t size, int flags); diff --git a/source3/include/vfs.h b/source3/include/vfs.h index 0e42a3e812..48b0973fe5 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -403,7 +403,6 @@ struct vfs_fn_pointers { ssize_t (*listxattr_fn)(struct vfs_handle_struct *handle, const char *path, char *list, size_t size); ssize_t (*flistxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, char *list, size_t size); int (*removexattr_fn)(struct vfs_handle_struct *handle, const char *path, const char *name); - int (*lremovexattr_fn)(struct vfs_handle_struct *handle, const char *path, const char *name); int (*fremovexattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name); int (*setxattr_fn)(struct vfs_handle_struct *handle, const char *path, const char *name, const void *value, size_t size, int flags); int (*fsetxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, const void *value, size_t size, int flags); @@ -815,8 +814,6 @@ ssize_t smb_vfs_call_flistxattr(struct vfs_handle_struct *handle, size_t size); int smb_vfs_call_removexattr(struct vfs_handle_struct *handle, const char *path, const char *name); -int smb_vfs_call_lremovexattr(struct vfs_handle_struct *handle, - const char *path, const char *name); int smb_vfs_call_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name); int smb_vfs_call_setxattr(struct vfs_handle_struct *handle, const char *path, diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h index e568ed0f49..c324439e3f 100644 --- a/source3/include/vfs_macros.h +++ b/source3/include/vfs_macros.h @@ -539,11 +539,6 @@ #define SMB_VFS_NEXT_REMOVEXATTR(handle,path,name) \ smb_vfs_call_removexattr((handle)->next,(path),(name)) -#define SMB_VFS_LREMOVEXATTR(conn,path,name) \ - smb_vfs_call_lremovexattr((conn)->vfs_handles,(path),(name)) -#define SMB_VFS_NEXT_LREMOVEXATTR(handle,path,name) \ - smb_vfs_call_lremovexattr((handle)->next,(path),(name)) - #define SMB_VFS_FREMOVEXATTR(fsp,name) \ smb_vfs_call_fremovexattr((fsp)->conn->vfs_handles, (fsp), (name)) #define SMB_VFS_NEXT_FREMOVEXATTR(handle,fsp,name) \ diff --git a/source3/lib/system.c b/source3/lib/system.c index abebb43915..8a381732cd 100644 --- a/source3/lib/system.c +++ b/source3/lib/system.c @@ -1680,43 +1680,6 @@ int sys_removexattr (const char *path, const char *name) #endif } -int sys_lremovexattr (const char *path, const char *name) -{ -#if defined(HAVE_LREMOVEXATTR) - return lremovexattr(path, name); -#elif defined(HAVE_REMOVEXATTR) && defined(XATTR_ADD_OPT) - int options = XATTR_NOFOLLOW; - return removexattr(path, name, options); -#elif defined(HAVE_LREMOVEEA) - return lremoveea(path, name); -#elif defined(HAVE_EXTATTR_DELETE_LINK) - char *s; - int attrnamespace = (strncmp(name, "system", 6) == 0) ? - EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; - const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; - - return extattr_delete_link(path, attrnamespace, attrname); -#elif defined(HAVE_ATTR_REMOVE) - int flags = ATTR_DONTFOLLOW; - char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT; - - return attr_remove(path, attrname, flags); -#elif defined(HAVE_ATTROPEN) - int ret = -1; - int attrdirfd = solaris_attropen(path, ".", O_RDONLY|AT_SYMLINK_NOFOLLOW, 0); - if (attrdirfd >= 0) { - ret = solaris_unlinkat(attrdirfd, name); - close(attrdirfd); - } - return ret; -#else - errno = ENOSYS; - return -1; -#endif -} - int sys_fremovexattr (int filedes, const char *name) { #if defined(HAVE_FREMOVEXATTR) diff --git a/source3/modules/vfs_cap.c b/source3/modules/vfs_cap.c index 406126cade..2454e12b6f 100644 --- a/source3/modules/vfs_cap.c +++ b/source3/modules/vfs_cap.c @@ -488,18 +488,6 @@ static int cap_removexattr(vfs_handle_struct *handle, const char *path, const ch return SMB_VFS_NEXT_REMOVEXATTR(handle, cappath, capname); } -static int cap_lremovexattr(vfs_handle_struct *handle, const char *path, const char *name) -{ - char *cappath = capencode(talloc_tos(), path); - char *capname = capencode(talloc_tos(), name); - - if (!cappath || !capname) { - errno = ENOMEM; - return -1; - } - return SMB_VFS_NEXT_LREMOVEXATTR(handle, cappath, capname); -} - static int cap_fremovexattr(vfs_handle_struct *handle, struct files_struct *fsp, const char *path) { char *cappath = capencode(talloc_tos(), path); @@ -563,7 +551,6 @@ static struct vfs_fn_pointers vfs_cap_fns = { .fgetxattr_fn = cap_fgetxattr, .listxattr_fn = cap_listxattr, .removexattr_fn = cap_removexattr, - .lremovexattr_fn = cap_lremovexattr, .fremovexattr_fn = cap_fremovexattr, .setxattr_fn = cap_setxattr, .fsetxattr_fn = cap_fsetxattr diff --git a/source3/modules/vfs_catia.c b/source3/modules/vfs_catia.c index 6979dc6c8d..821a755e06 100644 --- a/source3/modules/vfs_catia.c +++ b/source3/modules/vfs_catia.c @@ -875,28 +875,6 @@ catia_removexattr(vfs_handle_struct *handle, const char *path, } static int -catia_lremovexattr(vfs_handle_struct *handle, const char *path, - const char *name) -{ - char *mapped_name = NULL; - NTSTATUS status; - ssize_t ret; - - status = catia_string_replace_allocate(handle->conn, - name, &mapped_name, vfs_translate_to_unix); - if (!NT_STATUS_IS_OK(status)) { - errno = map_errno_from_nt_status(status); - return -1; - } - - - ret = SMB_VFS_NEXT_LREMOVEXATTR(handle, path, mapped_name); - TALLOC_FREE(mapped_name); - - return ret; -} - -static int catia_setxattr(vfs_handle_struct *handle, const char *path, const char *name, const void *value, size_t size, int flags) @@ -944,7 +922,6 @@ static struct vfs_fn_pointers vfs_catia_fns = { .getxattr_fn = catia_getxattr, .listxattr_fn = catia_listxattr, .removexattr_fn = catia_removexattr, - .lremovexattr_fn = catia_lremovexattr, .setxattr_fn = catia_setxattr, }; diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 08ad80f8d3..9704f5edbb 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -2028,11 +2028,6 @@ static int vfswrap_removexattr(struct vfs_handle_struct *handle, const char *pat return sys_removexattr(path, name); } -static int vfswrap_lremovexattr(struct vfs_handle_struct *handle, const char *path, const char *name) -{ - return sys_lremovexattr(path, name); -} - static int vfswrap_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name) { return sys_fremovexattr(fsp->fh->fd, name); @@ -2268,7 +2263,6 @@ static struct vfs_fn_pointers vfs_default_fns = { .listxattr_fn = vfswrap_listxattr, .flistxattr_fn = vfswrap_flistxattr, .removexattr_fn = vfswrap_removexattr, - .lremovexattr_fn = vfswrap_lremovexattr, .fremovexattr_fn = vfswrap_fremovexattr, .setxattr_fn = vfswrap_setxattr, .fsetxattr_fn = vfswrap_fsetxattr, diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c index 73e41ed265..4457860d2e 100644 --- a/source3/modules/vfs_full_audit.c +++ b/source3/modules/vfs_full_audit.c @@ -195,7 +195,6 @@ typedef enum _vfs_op_type { SMB_VFS_OP_LISTXATTR, SMB_VFS_OP_FLISTXATTR, SMB_VFS_OP_REMOVEXATTR, - SMB_VFS_OP_LREMOVEXATTR, SMB_VFS_OP_FREMOVEXATTR, SMB_VFS_OP_SETXATTR, SMB_VFS_OP_FSETXATTR, @@ -323,7 +322,6 @@ static struct { { SMB_VFS_OP_LISTXATTR, "listxattr" }, { SMB_VFS_OP_FLISTXATTR, "flistxattr" }, { SMB_VFS_OP_REMOVEXATTR, "removexattr" }, - { SMB_VFS_OP_LREMOVEXATTR, "lremovexattr" }, { SMB_VFS_OP_FREMOVEXATTR, "fremovexattr" }, { SMB_VFS_OP_SETXATTR, "setxattr" }, { SMB_VFS_OP_FSETXATTR, "fsetxattr" }, @@ -2022,20 +2020,6 @@ static int smb_full_audit_removexattr(struct vfs_handle_struct *handle, return result; } -static int smb_full_audit_lremovexattr(struct vfs_handle_struct *handle, - const char *path, - const char *name) -{ - int result; - - result = SMB_VFS_NEXT_LREMOVEXATTR(handle, path, name); - - do_log(SMB_VFS_OP_LREMOVEXATTR, (result >= 0), handle, - "%s|%s", path, name); - - return result; -} - static int smb_full_audit_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name) @@ -2294,7 +2278,6 @@ static struct vfs_fn_pointers vfs_full_audit_fns = { .listxattr_fn = smb_full_audit_listxattr, .flistxattr_fn = smb_full_audit_flistxattr, .removexattr_fn = smb_full_audit_removexattr, - .lremovexattr_fn = smb_full_audit_lremovexattr, .fremovexattr_fn = smb_full_audit_fremovexattr, .setxattr_fn = smb_full_audit_setxattr, .fsetxattr_fn = smb_full_audit_fsetxattr, diff --git a/source3/modules/vfs_onefs_shadow_copy.c b/source3/modules/vfs_onefs_shadow_copy.c index 531f9b4b83..ac61852d3d 100644 --- a/source3/modules/vfs_onefs_shadow_copy.c +++ b/source3/modules/vfs_onefs_shadow_copy.c @@ -587,15 +587,6 @@ onefs_shadow_copy_removexattr(vfs_handle_struct *handle, const char *path, } static int -onefs_shadow_copy_lremovexattr(vfs_handle_struct *handle, const char *path, - const char *name) -{ - SHADOW_NEXT(LREMOVEXATTR, - (handle, cpath ?: path, name), - int); -} - -static int onefs_shadow_copy_setxattr(vfs_handle_struct *handle, const char *path, const char *name, const void *value, size_t size, int flags) @@ -663,7 +654,6 @@ static struct vfs_fn_pointers onefs_shadow_copy_fns = { .getxattr_fn = onefs_shadow_copy_getxattr, .listxattr_fn = onefs_shadow_copy_listxattr, .removexattr_fn = onefs_shadow_copy_removexattr, - .lremovexattr_fn = onefs_shadow_copy_lremovexattr, .setxattr_fn = onefs_shadow_copy_setxattr, .lsetxattr_fn = onefs_shadow_copy_lsetxattr, .is_offline_fn = onefs_shadow_copy_is_offline, diff --git a/source3/modules/vfs_shadow_copy2.c b/source3/modules/vfs_shadow_copy2.c index 544baa44f7..24356ece1f 100644 --- a/source3/modules/vfs_shadow_copy2.c +++ b/source3/modules/vfs_shadow_copy2.c @@ -1377,33 +1377,6 @@ static int shadow_copy2_removexattr(vfs_handle_struct *handle, return ret; } -static int shadow_copy2_lremovexattr(vfs_handle_struct *handle, - const char *fname, const char *aname) -{ - time_t timestamp; - char *stripped; - int ret, saved_errno; - char *conv; - - if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname, - ×tamp, &stripped)) { - return -1; - } - if (timestamp == 0) { - return SMB_VFS_NEXT_LREMOVEXATTR(handle, fname, aname); - } - conv = shadow_copy2_convert(talloc_tos(), handle, stripped, timestamp); - TALLOC_FREE(stripped); - if (conv == NULL) { - return -1; - } - ret = SMB_VFS_NEXT_LREMOVEXATTR(handle, conv, aname); - saved_errno = errno; - TALLOC_FREE(conv); - errno = saved_errno; - return ret; -} - static int shadow_copy2_setxattr(struct vfs_handle_struct *handle, const char *fname, const char *aname, const void *value, @@ -1530,7 +1503,6 @@ static struct vfs_fn_pointers vfs_shadow_copy2_fns = { .getxattr_fn = shadow_copy2_getxattr, .listxattr_fn = shadow_copy2_listxattr, .removexattr_fn = shadow_copy2_removexattr, - .lremovexattr_fn = shadow_copy2_lremovexattr, .setxattr_fn = shadow_copy2_setxattr, .chmod_acl_fn = shadow_copy2_chmod_acl, .chflags_fn = shadow_copy2_chflags, diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c index 747fc79bd2..ac96893cc4 100644 --- a/source3/modules/vfs_time_audit.c +++ b/source3/modules/vfs_time_audit.c @@ -2032,25 +2032,6 @@ static int smb_time_audit_removexattr(struct vfs_handle_struct *handle, return result; } -static int smb_time_audit_lremovexattr(struct vfs_handle_struct *handle, - const char *path, const char *name) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_LREMOVEXATTR(handle, path, name); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("lremovexattr", timediff); - } - - return result; -} - static int smb_time_audit_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name) @@ -2376,7 +2357,6 @@ static struct vfs_fn_pointers vfs_time_audit_fns = { .listxattr_fn = smb_time_audit_listxattr, .flistxattr_fn = smb_time_audit_flistxattr, .removexattr_fn = smb_time_audit_removexattr, - .lremovexattr_fn = smb_time_audit_lremovexattr, .fremovexattr_fn = smb_time_audit_fremovexattr, .setxattr_fn = smb_time_audit_setxattr, .fsetxattr_fn = smb_time_audit_fsetxattr, diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c index 923bd7c9a2..f8a4199470 100644 --- a/source3/smbd/vfs.c +++ b/source3/smbd/vfs.c @@ -2180,13 +2180,6 @@ int smb_vfs_call_removexattr(struct vfs_handle_struct *handle, return handle->fns->removexattr_fn(handle, path, name); } -int smb_vfs_call_lremovexattr(struct vfs_handle_struct *handle, - const char *path, const char *name) -{ - VFS_FIND(lremovexattr); - return handle->fns->lremovexattr_fn(handle, path, name); -} - int smb_vfs_call_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name) { diff --git a/source3/wscript b/source3/wscript index cbf77bd5bd..b091e0ca65 100644 --- a/source3/wscript +++ b/source3/wscript @@ -230,7 +230,7 @@ attropen attr_remove attr_removef attr_set attr_setf bindtextdomain _chdir __chdir chflags chmod _close __close _closedir __closedir crypt16 delproplist devnm dgettext dirfd DNSServiceRegister _dup __dup _dup2 __dup2 endmntent execl -extattr_delete_fd extattr_delete_link extattr_get_fd extattr_get_file +extattr_delete_fd extattr_get_fd extattr_get_file extattr_get_link extattr_list_fd extattr_list_file extattr_set_fd extattr_set_file _facl __facl _fchdir __fchdir fchmod fchown _fcntl __fcntl fcvt fcvtl fdatasync @@ -243,7 +243,7 @@ getgrent getgrnam getgrouplist getgrset getmntent getpagesize getproplist get_proplist_entry getpwanam getpwent_r getrlimit gettext glob grantpt hstrerror initgroups innetgr inotify_init listea listxattr -llseek _llseek __llseek lremoveea lremovexattr _lseek __lseek +llseek _llseek __llseek _lseek __lseek _lstat __lstat lutimes __lxstat memalign mknod mlock mlockall munlock munlockall _open __open _opendir __opendir |