vfs: RIP SMB_VFS_SYS_ACL_DELETE_DEF_FILE()
authorJeremy Allison <jra@samba.org>
Sat, 15 May 2021 04:22:11 +0000 (21:22 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 18 May 2021 17:29:34 +0000 (17:29 +0000)
              .--. .-,       .-..-.__
            .'(`.-` \_.-'-./`  |\_( "\__
         __.>\ ';  _;---,._|   / __/`'--)
        /.--.  : |/' _.--.<|  /  | |
    _..-'    `\     /' /`  /_/ _/_/
     >_.-``-. `Y  /' _;---.`|/))))
    '` .-''. \|:  .'   __, .-'"`
     .'--._ `-:  \/:  /'  '.\             _|_
         /.'`\ :;   /'      `-           `-|-`
        -`    |     |                      |
              :.; : |                  .-'~^~`-.
              |:    |                .' _     _ `.
              |:.   |                | |_) | |_) |
              :. :  |                | | \ | |   |
              : ;   |                |           |
              : ;   |                |  SMB_VFS  |
              : ;   |                |  SYS_ACL  |
              : ;   |                |DELETE_DEF |
            .jgs. : ;                |  FILE     |
    -."-/\\\/:::.    `\."-._'."-"_\\-|           |///."-
    " -."-.\\"-."//.-".`-."_\\-.".-\\`=.........=`//-".

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
examples/VFS/skel_opaque.c
examples/VFS/skel_transparent.c
source3/include/vfs.h
source3/include/vfs_macros.h
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 b5d61654c4a180eac75520a108d9ed1743856323..487919f38a8617725e3e1d035611cbee6659618d 100644 (file)
@@ -832,13 +832,6 @@ static int skel_sys_acl_set_fd(vfs_handle_struct *handle,
        return -1;
 }
 
-static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle,
-                                       const struct smb_filename *smb_fname)
-{
-       errno = ENOSYS;
-       return -1;
-}
-
 static int skel_sys_acl_delete_def_fd(vfs_handle_struct *handle,
                                        struct files_struct *fsp)
 {
@@ -1093,7 +1086,6 @@ static struct vfs_fn_pointers skel_opaque_fns = {
        .sys_acl_blob_get_file_fn = skel_sys_acl_blob_get_file,
        .sys_acl_blob_get_fd_fn = skel_sys_acl_blob_get_fd,
        .sys_acl_set_fd_fn = skel_sys_acl_set_fd,
-       .sys_acl_delete_def_file_fn = skel_sys_acl_delete_def_file,
        .sys_acl_delete_def_fd_fn = skel_sys_acl_delete_def_fd,
 
        /* EA operations. */
index 53ac83ca40812a22b2cfd5b35ea0e4cd21c993a7..a0a747d8b576794cb9dc5d842a99c2199ea72701 100644 (file)
@@ -1093,12 +1093,6 @@ static int skel_sys_acl_set_fd(vfs_handle_struct *handle,
        return SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, type, theacl);
 }
 
-static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle,
-                                       const struct smb_filename *smb_fname)
-{
-       return SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname);
-}
-
 static int skel_sys_acl_delete_def_fd(vfs_handle_struct *handle,
                                        struct files_struct *fsp)
 {
@@ -1397,7 +1391,6 @@ static struct vfs_fn_pointers skel_transparent_fns = {
        .sys_acl_blob_get_file_fn = skel_sys_acl_blob_get_file,
        .sys_acl_blob_get_fd_fn = skel_sys_acl_blob_get_fd,
        .sys_acl_set_fd_fn = skel_sys_acl_set_fd,
-       .sys_acl_delete_def_file_fn = skel_sys_acl_delete_def_file,
        .sys_acl_delete_def_fd_fn = skel_sys_acl_delete_def_fd,
 
        /* EA operations. */
index 885fbf7de613c6834d363eca96f86d84fda7289a..02293c647333350a4389b3fd6d464619493e9d9b 100644 (file)
  * Version 45 - Add SMB_VFS_FREADDIR_ATTR
  * Version 45 - Remove SMB_VFS_READDIR_ATTR
  * Version 45 - Add SMB_VFS_SYS_ACL_DELETE_DEF_FD
+ * Version 45 - Remove SMB_VFS_SYS_ACL_DELETE_DEF_FILE
  */
 
 #define SMB_VFS_INTERFACE_VERSION 45
@@ -1225,8 +1226,6 @@ struct vfs_fn_pointers {
                                 struct files_struct *fsp,
                                 SMB_ACL_TYPE_T type,
                                 SMB_ACL_T theacl);
-       int (*sys_acl_delete_def_file_fn)(struct vfs_handle_struct *handle,
-                                       const struct smb_filename *smb_fname);
        int (*sys_acl_delete_def_fd_fn)(struct vfs_handle_struct *handle,
                                        struct files_struct *fsp);
 
@@ -1735,8 +1734,6 @@ int smb_vfs_call_sys_acl_set_fd(struct vfs_handle_struct *handle,
                                struct files_struct *fsp,
                                SMB_ACL_TYPE_T type,
                                SMB_ACL_T theacl);
-int smb_vfs_call_sys_acl_delete_def_file(struct vfs_handle_struct *handle,
-                               const struct smb_filename *smb_fname);
 int smb_vfs_call_sys_acl_delete_def_fd(struct vfs_handle_struct *handle,
                                struct files_struct *fsp);
 ssize_t smb_vfs_call_getxattr(struct vfs_handle_struct *handle,
@@ -2141,8 +2138,6 @@ int vfs_not_implemented_sys_acl_set_fd(vfs_handle_struct *handle,
                                       struct files_struct *fsp,
                                       SMB_ACL_TYPE_T type,
                                       SMB_ACL_T theacl);
-int vfs_not_implemented_sys_acl_delete_def_file(vfs_handle_struct *handle,
-                                       const struct smb_filename *smb_fname);
 int vfs_not_implemented_sys_acl_delete_def_fd(vfs_handle_struct *handle,
                                        files_struct *fsp);
 ssize_t vfs_not_implemented_getxattr(vfs_handle_struct *handle,
index 3573be5fb4c9559a710df83ed38370d0419fd03d..018d60ce9149ae69d0f300652e4f7cfa0e969bc1 100644 (file)
 #define SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, type, theacl) \
        smb_vfs_call_sys_acl_set_fd((handle)->next, (fsp), (type), (theacl))
 
-#define SMB_VFS_SYS_ACL_DELETE_DEF_FILE(conn, smb_fname) \
-       smb_vfs_call_sys_acl_delete_def_file((conn)->vfs_handles, (smb_fname))
-#define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname) \
-       smb_vfs_call_sys_acl_delete_def_file((handle)->next, (smb_fname))
-
 #define SMB_VFS_SYS_ACL_DELETE_DEF_FD(fsp) \
        smb_vfs_call_sys_acl_delete_def_fd((fsp)->conn->vfs_handles, (fsp))
 #define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FD(handle, fsp) \
index 6b65ebe587bba227e47aed43503e932fcb62e839..50b00de23013c4aa6642879edff3aebe05106db8 100644 (file)
@@ -3235,12 +3235,6 @@ static int vfswrap_sys_acl_set_fd(vfs_handle_struct *handle,
                                theacl);
 }
 
-static int vfswrap_sys_acl_delete_def_file(vfs_handle_struct *handle,
-                       const struct smb_filename *smb_fname)
-{
-       return sys_acl_delete_def_file(handle, smb_fname);
-}
-
 static int vfswrap_sys_acl_delete_def_fd(vfs_handle_struct *handle,
                                         files_struct *fsp)
 {
@@ -3857,7 +3851,6 @@ static struct vfs_fn_pointers vfs_default_fns = {
        .sys_acl_blob_get_file_fn = posix_sys_acl_blob_get_file,
        .sys_acl_blob_get_fd_fn = posix_sys_acl_blob_get_fd,
        .sys_acl_set_fd_fn = vfswrap_sys_acl_set_fd,
-       .sys_acl_delete_def_file_fn = vfswrap_sys_acl_delete_def_file,
        .sys_acl_delete_def_fd_fn = vfswrap_sys_acl_delete_def_fd,
 
        /* EA operations. */
index 1e7a59d361c8d233039c6e3b1849888793de25a9..85ba9ef241890260ddb0df430ff95f5d24cb3dd6 100644 (file)
@@ -201,7 +201,6 @@ typedef enum _vfs_op_type {
        SMB_VFS_OP_SYS_ACL_BLOB_GET_FILE,
        SMB_VFS_OP_SYS_ACL_BLOB_GET_FD,
        SMB_VFS_OP_SYS_ACL_SET_FD,
-       SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE,
        SMB_VFS_OP_SYS_ACL_DELETE_DEF_FD,
 
        /* EA operations. */
@@ -333,7 +332,6 @@ static struct {
        { SMB_VFS_OP_SYS_ACL_BLOB_GET_FILE,     "sys_acl_blob_get_file" },
        { SMB_VFS_OP_SYS_ACL_BLOB_GET_FD,       "sys_acl_blob_get_fd" },
        { SMB_VFS_OP_SYS_ACL_SET_FD,    "sys_acl_set_fd" },
-       { SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE,   "sys_acl_delete_def_file" },
        { SMB_VFS_OP_SYS_ACL_DELETE_DEF_FD,     "sys_acl_delete_def_fd" },
        { SMB_VFS_OP_GETXATTR,  "getxattr" },
        { SMB_VFS_OP_GETXATTRAT_SEND, "getxattrat_send" },
@@ -2612,22 +2610,6 @@ static int smb_full_audit_sys_acl_set_fd(vfs_handle_struct *handle,
        return result;
 }
 
-static int smb_full_audit_sys_acl_delete_def_file(vfs_handle_struct *handle,
-                               const struct smb_filename *smb_fname)
-{
-       int result;
-
-       result = SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname);
-
-       do_log(SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE,
-              (result >= 0),
-              handle,
-              "%s",
-              smb_fname_str_do_log(handle->conn, smb_fname));
-
-       return result;
-}
-
 static int smb_full_audit_sys_acl_delete_def_fd(vfs_handle_struct *handle,
                                struct files_struct *fsp)
 {
@@ -3022,7 +3004,6 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
        .sys_acl_blob_get_file_fn = smb_full_audit_sys_acl_blob_get_file,
        .sys_acl_blob_get_fd_fn = smb_full_audit_sys_acl_blob_get_fd,
        .sys_acl_set_fd_fn = smb_full_audit_sys_acl_set_fd,
-       .sys_acl_delete_def_file_fn = smb_full_audit_sys_acl_delete_def_file,
        .sys_acl_delete_def_fd_fn = smb_full_audit_sys_acl_delete_def_fd,
        .getxattr_fn = smb_full_audit_getxattr,
        .getxattrat_send_fn = smb_full_audit_getxattrat_send,
index 09ddcb00876f55fe472f8b022f82e7469996bec1..9cde162c59348a538d2d4d6d5aff4aded448b1ed 100644 (file)
@@ -836,13 +836,6 @@ int vfs_not_implemented_sys_acl_set_fd(vfs_handle_struct *handle,
        return -1;
 }
 
-int vfs_not_implemented_sys_acl_delete_def_file(vfs_handle_struct *handle,
-                                       const struct smb_filename *smb_fname)
-{
-       errno = ENOSYS;
-       return -1;
-}
-
 int vfs_not_implemented_sys_acl_delete_def_fd(vfs_handle_struct *handle,
                                        struct files_struct *fsp)
 {
@@ -1097,7 +1090,6 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        .sys_acl_blob_get_file_fn = vfs_not_implemented_sys_acl_blob_get_file,
        .sys_acl_blob_get_fd_fn = vfs_not_implemented_sys_acl_blob_get_fd,
        .sys_acl_set_fd_fn = vfs_not_implemented_sys_acl_set_fd,
-       .sys_acl_delete_def_file_fn = vfs_not_implemented_sys_acl_delete_def_file,
        .sys_acl_delete_def_fd_fn = vfs_not_implemented_sys_acl_delete_def_fd,
 
        /* EA operations. */
index 0587683a3ca8eb11afc5f09c51d083c3b8e40ac0..d53e97cef49998a9904e1a7080c51aa2b8e4a1d5 100644 (file)
@@ -2428,26 +2428,6 @@ static int smb_time_audit_sys_acl_set_fd(vfs_handle_struct *handle,
        return result;
 }
 
-static int smb_time_audit_sys_acl_delete_def_file(vfs_handle_struct *handle,
-                               const struct smb_filename *smb_fname)
-{
-       int result;
-       struct timespec ts1,ts2;
-       double timediff;
-
-       clock_gettime_mono(&ts1);
-       result = SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname);
-       clock_gettime_mono(&ts2);
-       timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
-
-       if (timediff > audit_timeout) {
-               smb_time_audit_log_fname("sys_acl_delete_def_file", timediff,
-                       smb_fname->base_name);
-       }
-
-       return result;
-}
-
 static int smb_time_audit_sys_acl_delete_def_fd(vfs_handle_struct *handle,
                                files_struct *fsp)
 {
@@ -2855,7 +2835,6 @@ static struct vfs_fn_pointers vfs_time_audit_fns = {
        .sys_acl_blob_get_file_fn = smb_time_audit_sys_acl_blob_get_file,
        .sys_acl_blob_get_fd_fn = smb_time_audit_sys_acl_blob_get_fd,
        .sys_acl_set_fd_fn = smb_time_audit_sys_acl_set_fd,
-       .sys_acl_delete_def_file_fn = smb_time_audit_sys_acl_delete_def_file,
        .sys_acl_delete_def_fd_fn = smb_time_audit_sys_acl_delete_def_fd,
        .getxattr_fn = smb_time_audit_getxattr,
        .getxattrat_send_fn = smb_time_audit_getxattrat_send,
index 19744dfa39c8d34b2de74eb19a8a0a76d444537a..281ceeccbbb2c5f0f2920652948ef154bcd29c74 100644 (file)
@@ -2782,13 +2782,6 @@ int smb_vfs_call_sys_acl_set_fd(struct vfs_handle_struct *handle,
        return handle->fns->sys_acl_set_fd_fn(handle, fsp, type, theacl);
 }
 
-int smb_vfs_call_sys_acl_delete_def_file(struct vfs_handle_struct *handle,
-                               const struct smb_filename *smb_fname)
-{
-       VFS_FIND(sys_acl_delete_def_file);
-       return handle->fns->sys_acl_delete_def_file_fn(handle, smb_fname);
-}
-
 int smb_vfs_call_sys_acl_delete_def_fd(struct vfs_handle_struct *handle,
                                struct files_struct *fsp)
 {