s3-vfs: Remove unused lremovexattr call from VFS modules, system.c and configure
authorAndrew Bartlett <abartlet@samba.org>
Tue, 3 Apr 2012 22:46:25 +0000 (08:46 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 5 Apr 2012 03:39:01 +0000 (13:39 +1000)
If this is ever needed again, it would be more appropriate as an options argument
to removexattr.

Andrew Bartlett

17 files changed:
docs-xml/manpages-3/vfs_full_audit.8.xml
examples/VFS/skel_opaque.c
examples/VFS/skel_transparent.c
source3/configure.in
source3/include/proto.h
source3/include/vfs.h
source3/include/vfs_macros.h
source3/lib/system.c
source3/modules/vfs_cap.c
source3/modules/vfs_catia.c
source3/modules/vfs_default.c
source3/modules/vfs_full_audit.c
source3/modules/vfs_onefs_shadow_copy.c
source3/modules/vfs_shadow_copy2.c
source3/modules/vfs_time_audit.c
source3/smbd/vfs.c
source3/wscript

index d70fbbf63980a47d578bddeeef604a7ac62f90a7..8dbceb967d168a10f8390117eff2087ba352a748 100644 (file)
@@ -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>
index e41895c611c355b7c76174cd482219e6b0e4abfb..40691ed7f9c97dc057e722fc35d0e6c7c5f90397 100644 (file)
@@ -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,
index 5aa3bbb271099e85f38ef960569b9cb08b7c36c3..2d5fcdd63b7236f76b9a52bd5e2057668823812d 100644 (file)
@@ -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,
index c369479226ab6b31d62c8d8029b34d41e1c54b53..40308d26680d8941675db2354f16fde2fffddbd0 100644 (file)
@@ -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
index b4b91e2b1865b2231e19bf638690ebb673427fc5..1d3dba6a839e9274ff64e80b174ca16b5b7ae87f 100644 (file)
@@ -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);
index 0e42a3e812a2c1dc20250d205ce80ca611e9981f..48b0973fe5ae8fffd06cd89ff428a32a61245610 100644 (file)
@@ -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,
index e568ed0f494ecf2534474a1fe4bb6aa25f230c2d..c324439e3f0c031f728318357d713286e136057c 100644 (file)
 #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) \
index abebb439158ec45e46279e813a503b37bcc77205..8a381732cd0f143b7d5e9d5999b576141156c51b 100644 (file)
@@ -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)
index 406126cade7fee10093e1be8e5e999276830aac3..2454e12b6fa662fc970b1071ea507b5631545b7e 100644 (file)
@@ -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
index 6979dc6c8dc6efa5aae122df8bb75bb6f3df4782..821a755e0608e59b454da8258116e509b541ca9c 100644 (file)
@@ -874,28 +874,6 @@ catia_removexattr(vfs_handle_struct *handle, const char *path,
        return ret;
 }
 
-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,
@@ -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,
 };
 
index 08ad80f8d3cf6ac3aba7e27ecb27f6ffe08e650c..9704f5edbb716076400807c94c5645a35cd211cc 100644 (file)
@@ -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,
index 73e41ed265380496864bb76c129333ae9b9fb1c5..4457860d2e7417884e982db0d8a3be2317a46cc3 100644 (file)
@@ -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,
index 531f9b4b838f81d104ae48c60e88182810fa0885..ac61852d3d1eb573f26915d8e308461291e382cf 100644 (file)
@@ -586,15 +586,6 @@ onefs_shadow_copy_removexattr(vfs_handle_struct *handle, const char *path,
                    int);
 }
 
-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,
@@ -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,
index 544baa44f71aa6e4d6f44b303659347c6cde29da..24356ece1f976f2eb4702500a7e487814a6282c5 100644 (file)
@@ -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,
-                                        &timestamp, &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,
index 747fc79bd266a6e1a6c142af8715343f9dbbc4da..ac96893cc4680ede7e59dc4f369153e457a78cbb 100644 (file)
@@ -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,
index 923bd7c9a2d436bcd28a3672f34b45bf625fe56d..f8a4199470565637e81e62261ce823caa6d4b0fb 100644 (file)
@@ -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)
 {
index cbf77bd5bdc74e5b20dd97b102c772329470594f..b091e0ca659d21131dd72b1abe6016aec981d1e8 100644 (file)
@@ -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