]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: VFS: Remove SMB_VFS_READDIR_ATTR(), no longer used
authorSamuel Cabrero <scabrero@samba.org>
Thu, 13 May 2021 11:36:31 +0000 (13:36 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 14 May 2021 20:04:28 +0000 (20:04 +0000)
                             ----------------
                            /                \
                           /       REST       \
                          /         IN         \
                         /         PEACE        \
                        /                        \
                        |                        |
                        |  SMB_VFS_READDIR_ATTR  |
                        |                        |
                        |                        |
                        |         13 May         |
                        |          2021          |
                        |                        |
                        |                        |
                       *|     *  *  *            | *
              _________)/\\_//(\/(/\)/\//\/\///\/|_)_______

Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
examples/VFS/skel_opaque.c
examples/VFS/skel_transparent.c
source3/include/vfs.h
source3/include/vfs_macros.h
source3/modules/The_New_VFS.org
source3/modules/The_New_VFS.txt
source3/modules/vfs_default.c
source3/modules/vfs_full_audit.c
source3/modules/vfs_not_implemented.c
source3/modules/vfs_time_audit.c
source3/smbd/vfs.c

index 781c976b5ddb3ffa40cd2b89eb34ddc92bcc6f15..bb98c001d25fe60b2deadea4ec76a4292e8e6e7b 100644 (file)
@@ -697,14 +697,6 @@ static NTSTATUS skel_fsctl(struct vfs_handle_struct *handle,
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-static NTSTATUS skel_readdir_attr(struct vfs_handle_struct *handle,
-                                 const struct smb_filename *fname,
-                                 TALLOC_CTX *mem_ctx,
-                                 struct readdir_attr_data **pattr_data)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
 static NTSTATUS skel_freaddir_attr(struct vfs_handle_struct *handle,
                                   struct files_struct *fsp,
                                   TALLOC_CTX *mem_ctx,
@@ -1072,7 +1064,6 @@ static struct vfs_fn_pointers skel_opaque_fns = {
        .strict_lock_check_fn = skel_strict_lock_check,
        .translate_name_fn = skel_translate_name,
        .fsctl_fn = skel_fsctl,
-       .readdir_attr_fn = skel_readdir_attr,
        .freaddir_attr_fn = skel_freaddir_attr,
        .audit_file_fn = skel_audit_file,
 
index f6a66d2b8f9959c5352fa1da3d9be1420748a3d0..4811bad3b2cd25796614224be484f4d78d36410c 100644 (file)
@@ -917,14 +917,6 @@ static NTSTATUS skel_fsctl(struct vfs_handle_struct *handle,
                                  in_len, _out_data, max_out_len, out_len);
 }
 
-static NTSTATUS skel_readdir_attr(struct vfs_handle_struct *handle,
-                                 const struct smb_filename *fname,
-                                 TALLOC_CTX *mem_ctx,
-                                 struct readdir_attr_data **pattr_data)
-{
-       return SMB_VFS_NEXT_READDIR_ATTR(handle, fname, mem_ctx, pattr_data);
-}
-
 static NTSTATUS skel_freaddir_attr(struct vfs_handle_struct *handle,
                                   struct files_struct *fsp,
                                   TALLOC_CTX *mem_ctx,
@@ -1377,7 +1369,6 @@ static struct vfs_fn_pointers skel_transparent_fns = {
        .strict_lock_check_fn = skel_strict_lock_check,
        .translate_name_fn = skel_translate_name,
        .fsctl_fn = skel_fsctl,
-       .readdir_attr_fn = skel_readdir_attr,
        .freaddir_attr_fn = skel_freaddir_attr,
        .audit_file_fn = skel_audit_file,
 
index 3382bb9fa2f239ab7f035d5ab4ad4179780ed786..1c076c2c8f6b2c3bef48e3e5c3e5f83becc3b613 100644 (file)
  * Version 45 - Remove SMB_VFS_NTIMES
  * Version 45 - ADD SMB_VFS_FSTREAMINFO
  * Version 45 - Add SMB_VFS_FREADDIR_ATTR
+ * Version 45 - Remove SMB_VFS_READDIR_ATTR
  */
 
 #define SMB_VFS_INTERFACE_VERSION 45
@@ -1270,10 +1271,6 @@ struct vfs_fn_pointers {
                                         struct files_struct **fsp,
                                         DATA_BLOB *new_cookie);
 
-       NTSTATUS (*readdir_attr_fn)(struct vfs_handle_struct *handle,
-                                   const struct smb_filename *fname,
-                                   TALLOC_CTX *mem_ctx,
-                                   struct readdir_attr_data **attr_data);
        NTSTATUS (*freaddir_attr_fn)(struct vfs_handle_struct *handle,
                                     struct files_struct *fsp,
                                     TALLOC_CTX *mem_ctx,
@@ -1786,10 +1783,6 @@ NTSTATUS smb_vfs_call_durable_reconnect(struct vfs_handle_struct *handle,
                                        TALLOC_CTX *mem_ctx,
                                        struct files_struct **fsp,
                                        DATA_BLOB *new_cookie);
-NTSTATUS smb_vfs_call_readdir_attr(struct vfs_handle_struct *handle,
-                                  const struct smb_filename *fname,
-                                  TALLOC_CTX *mem_ctx,
-                                  struct readdir_attr_data **attr_data);
 NTSTATUS smb_vfs_call_freaddir_attr(struct vfs_handle_struct *handle,
                                    struct files_struct *fsp,
                                    TALLOC_CTX *mem_ctx,
@@ -2089,10 +2082,6 @@ NTSTATUS vfs_not_implemented_fsctl(struct vfs_handle_struct *handle,
                                   uint32_t in_len,
                                   uint8_t **_out_data,
                                   uint32_t max_out_len, uint32_t *out_len);
-NTSTATUS vfs_not_implemented_readdir_attr(struct vfs_handle_struct *handle,
-                                         const struct smb_filename *fname,
-                                         TALLOC_CTX *mem_ctx,
-                                         struct readdir_attr_data **pattr_data);
 NTSTATUS vfs_not_implemented_freaddir_attr(struct vfs_handle_struct *handle,
                                           struct files_struct *dirfsp,
                                           TALLOC_CTX *mem_ctx,
index e0b0423689c72d160cc6f759290b64c54bf40821..0f69dcc930f1b8d00ec7943518c1583008b6d129 100644 (file)
                                        (smb1req), (op), (old_cookie), \
                                        (mem_ctx), (fsp), (new_cookie))
 
-#define SMB_VFS_READDIR_ATTR(conn, fname, mem_ctx, attr_data) \
-       smb_vfs_call_readdir_attr((conn)->vfs_handles, (fname), (mem_ctx), (attr_data))
-#define SMB_VFS_NEXT_READDIR_ATTR(conn, fname, mem_ctx, attr_data) \
-       smb_vfs_call_readdir_attr((handle)->next, (fname), (mem_ctx), (attr_data))
-
 #define SMB_VFS_FREADDIR_ATTR(fsp, mem_ctx, attr_data) \
        smb_vfs_call_freaddir_attr((fsp)->conn->vfs_handles, (fsp), (mem_ctx), (attr_data))
 #define SMB_VFS_NEXT_FREADDIR_ATTR(handle, fsp, mem_ctx, attr_data) \
index b3437ecb7c299ca47253424232eeb577d24da13c..f9d96995d4b5e2b2a6cfb45b03e6293e5b9c60aa 100644 (file)
@@ -272,7 +272,7 @@ whenever VFS access is done in a piecemeal fashion.
 | SMB_VFS_PWRITE_SEND()             | [[fsp][fsp]]      | -      |
 | SMB_VFS_READ_DFS_PATHAT()         | [[Symlink][Symlink]]  | Todo   |
 | SMB_VFS_READDIR()                 | [[fsp][fsp]]      | -      |
-| SMB_VFS_READDIR_ATTR()            | [[Path][Path]]     | Todo   |
+| SMB_VFS_READDIR_ATTR()            | [[Path][Path]]    | -      |
 | SMB_VFS_READLINKAT()              | [[Symlink][Symlink]]  | -      |
 | SMB_VFS_REALPATH()                | [[P2px][P2px]]     | -      |
 | SMB_VFS_RECVFILE()                | [[fsp][fsp]]      | -      |
@@ -309,7 +309,6 @@ whenever VFS access is done in a piecemeal fashion.
 | VFS Function                    | Group    | Status |
 |---------------------------------+----------+--------|
 | SMB_VFS_SYS_ACL_DELETE_DEF_FD() | [[xpathref][xpathref]] | Todo   |
-| SMB_VFS_READDIR_ATTRAT()        | [[Enum][Enum]]     | Todo   |
 | SMB_VFS_FNTIMENS()              | [[fsp][fsp]]      | -      |
 |---------------------------------+----------+--------|
 
@@ -438,7 +437,6 @@ whenever VFS access is done in a piecemeal fashion.
 *** AT VFS functions needed for directory enumeration <<Enum>>
  - SMB_VFS_GET_DOS_ATTRIBUTES_SEND()
  - SMB_VFS_GETXATTRAT_SEND()
- - SMB_VFS_READDIR_ATTRAT() (NEW)
 *** Handle based VFS functions not allowed on O_PATH opened handles <<xpathref>>
  - SMB_VFS_FGETXATTR()
  - SMB_VFS_FLISTXATTR()
index 7b97f8a0fce1d9f394e02eefb2df5b925783b3f9..003b740ebf07d806d41827b123da6470476aa4ef 100644 (file)
@@ -340,7 +340,7 @@ Table of Contents
    SMB_VFS_PWRITE_SEND()              [fsp]       -
    SMB_VFS_READ_DFS_PATHAT()          [Symlink]   Todo
    SMB_VFS_READDIR()                  [fsp]       -
-   SMB_VFS_READDIR_ATTR()             [Path]      Todo
+   SMB_VFS_READDIR_ATTR()             [Path]      -
    SMB_VFS_READLINKAT()               [Symlink]   -
    SMB_VFS_REALPATH()                 [P2px]      -
    SMB_VFS_RECVFILE()                 [fsp]       -
@@ -399,7 +399,6 @@ Table of Contents
    VFS Function                     Group       Status
   ─────────────────────────────────────────────────────
    SMB_VFS_SYS_ACL_DELETE_DEF_FD()  [xpathref]  Todo
-   SMB_VFS_READDIR_ATTRAT()         [Enum]      Todo
    SMB_VFS_FNTIMENS()               [fsp]       -
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
@@ -556,7 +555,6 @@ Table of Contents
 
   • SMB_VFS_GET_DOS_ATTRIBUTES_SEND()
   • SMB_VFS_GETXATTRAT_SEND()
-  • SMB_VFS_READDIR_ATTRAT() (NEW)
 
 
 2.2.7 Handle based VFS functions not allowed on O_PATH opened handles
index 7a0992ea6c52be6ec910ba02625ab5103ecf57f7..722a3424c3188762d0cdfa4f027bb37a7161991f 100644 (file)
@@ -631,14 +631,6 @@ static struct dirent *vfswrap_readdir(vfs_handle_struct *handle,
        return result;
 }
 
-static NTSTATUS vfswrap_readdir_attr(struct vfs_handle_struct *handle,
-                                    const struct smb_filename *fname,
-                                    TALLOC_CTX *mem_ctx,
-                                    struct readdir_attr_data **attr_data)
-{
-       return NT_STATUS_NOT_SUPPORTED;
-}
-
 static NTSTATUS vfswrap_freaddir_attr(struct vfs_handle_struct *handle,
                                      struct files_struct *fsp,
                                      TALLOC_CTX *mem_ctx,
@@ -3776,7 +3768,6 @@ static struct vfs_fn_pointers vfs_default_fns = {
 
        .fdopendir_fn = vfswrap_fdopendir,
        .readdir_fn = vfswrap_readdir,
-       .readdir_attr_fn = vfswrap_readdir_attr,
        .freaddir_attr_fn = vfswrap_freaddir_attr,
        .seekdir_fn = vfswrap_seekdir,
        .telldir_fn = vfswrap_telldir,
index d205faee253d0813cfc081e2c6aba754e61b465e..508ef491af3c7cfc7f0cb55be00776bde9a09d9e 100644 (file)
@@ -225,7 +225,6 @@ typedef enum _vfs_op_type {
        SMB_VFS_OP_DURABLE_DISCONNECT,
        SMB_VFS_OP_DURABLE_RECONNECT,
 
-       SMB_VFS_OP_READDIR_ATTR,
        SMB_VFS_OP_FREADDIR_ATTR,
 
        /* This should always be last enum value */
@@ -348,7 +347,6 @@ static struct {
        { SMB_VFS_OP_DURABLE_COOKIE, "durable_cookie" },
        { SMB_VFS_OP_DURABLE_DISCONNECT, "durable_disconnect" },
        { SMB_VFS_OP_DURABLE_RECONNECT, "durable_reconnect" },
-       { SMB_VFS_OP_READDIR_ATTR,      "readdir_attr" },
        { SMB_VFS_OP_FREADDIR_ATTR,      "freaddir_attr" },
        { SMB_VFS_OP_LAST, NULL }
 };
@@ -2262,21 +2260,6 @@ static NTSTATUS smb_full_audit_set_compression(vfs_handle_struct *handle,
        return result;
 }
 
-static NTSTATUS smb_full_audit_readdir_attr(struct vfs_handle_struct *handle,
-                                           const struct smb_filename *fname,
-                                           TALLOC_CTX *mem_ctx,
-                                           struct readdir_attr_data **pattr_data)
-{
-       NTSTATUS status;
-
-       status = SMB_VFS_NEXT_READDIR_ATTR(handle, fname, mem_ctx, pattr_data);
-
-       do_log(SMB_VFS_OP_READDIR_ATTR, NT_STATUS_IS_OK(status), handle, "%s",
-              smb_fname_str_do_log(handle->conn, fname));
-
-       return status;
-}
-
 static NTSTATUS smb_full_audit_freaddir_attr(struct vfs_handle_struct *handle,
                                        struct files_struct *fsp,
                                        TALLOC_CTX *mem_ctx,
@@ -3033,7 +3016,6 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
        .durable_cookie_fn = smb_full_audit_durable_cookie,
        .durable_disconnect_fn = smb_full_audit_durable_disconnect,
        .durable_reconnect_fn = smb_full_audit_durable_reconnect,
-       .readdir_attr_fn = smb_full_audit_readdir_attr,
        .freaddir_attr_fn = smb_full_audit_freaddir_attr,
 };
 
index 257cbd6e7d716f00afb6f72df4f9673519452585..b4139644fef79226dc6dcb14991af0db89b2c89e 100644 (file)
@@ -700,14 +700,6 @@ NTSTATUS vfs_not_implemented_fsctl(struct vfs_handle_struct *handle,
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-NTSTATUS vfs_not_implemented_readdir_attr(struct vfs_handle_struct *handle,
-                                         const struct smb_filename *fname,
-                                         TALLOC_CTX *mem_ctx,
-                                         struct readdir_attr_data **pattr_data)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
 NTSTATUS vfs_not_implemented_freaddir_attr(struct vfs_handle_struct *handle,
                                        struct files_struct *fsp,
                                        TALLOC_CTX *mem_ctx,
@@ -1076,7 +1068,6 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        .strict_lock_check_fn = vfs_not_implemented_strict_lock_check,
        .translate_name_fn = vfs_not_implemented_translate_name,
        .fsctl_fn = vfs_not_implemented_fsctl,
-       .readdir_attr_fn = vfs_not_implemented_readdir_attr,
        .freaddir_attr_fn = vfs_not_implemented_freaddir_attr,
        .audit_file_fn = vfs_not_implemented_audit_file,
 
index 1115d1cc076c3d596355ca045da4da062e8f9cc6..972fec54564572b7bee185936fd8eff213c58e95 100644 (file)
@@ -2194,27 +2194,6 @@ static NTSTATUS smb_time_audit_set_compression(vfs_handle_struct *handle,
        return result;
 }
 
-static NTSTATUS smb_time_audit_readdir_attr(struct vfs_handle_struct *handle,
-                                           const struct smb_filename *fname,
-                                           TALLOC_CTX *mem_ctx,
-                                           struct readdir_attr_data **pattr_data)
-{
-       NTSTATUS status;
-       struct timespec ts1,ts2;
-       double timediff;
-
-       clock_gettime_mono(&ts1);
-       status = SMB_VFS_NEXT_READDIR_ATTR(handle, fname, mem_ctx, pattr_data);
-       clock_gettime_mono(&ts2);
-       timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
-
-       if (timediff > audit_timeout) {
-               smb_time_audit_log_smb_fname("readdir_attr", timediff, fname);
-       }
-
-       return status;
-}
-
 static NTSTATUS smb_time_audit_freaddir_attr(struct vfs_handle_struct *handle,
                                        struct files_struct *fsp,
                                        TALLOC_CTX *mem_ctx,
@@ -2869,7 +2848,6 @@ static struct vfs_fn_pointers vfs_time_audit_fns = {
        .durable_cookie_fn = smb_time_audit_durable_cookie,
        .durable_disconnect_fn = smb_time_audit_durable_disconnect,
        .durable_reconnect_fn = smb_time_audit_durable_reconnect,
-       .readdir_attr_fn = smb_time_audit_readdir_attr,
        .freaddir_attr_fn = smb_time_audit_freaddir_attr,
 };
 
index 15f989b43ee571017f0810ed280b963a68969984..67a2e67f12416a6fac0ad282ff771a36aedc8a04 100644 (file)
@@ -2978,15 +2978,6 @@ NTSTATUS smb_vfs_call_durable_reconnect(struct vfs_handle_struct *handle,
                                                 new_cookie);
 }
 
-NTSTATUS smb_vfs_call_readdir_attr(struct vfs_handle_struct *handle,
-                                  const struct smb_filename *fname,
-                                  TALLOC_CTX *mem_ctx,
-                                  struct readdir_attr_data **attr_data)
-{
-       VFS_FIND(readdir_attr);
-       return handle->fns->readdir_attr_fn(handle, fname, mem_ctx, attr_data);
-}
-
 NTSTATUS smb_vfs_call_freaddir_attr(struct vfs_handle_struct *handle,
                                    struct files_struct *fsp,
                                    TALLOC_CTX *mem_ctx,