From e25830dcd87387a237b96f0d70deb204a5bf0a54 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 13 Aug 2012 20:03:48 +1000 Subject: [PATCH] s3-smbd: Remove sys_acl_*() VFS wrapper functions We no longer do struct smb_acl_t manipuations via the VFS layer, which is now reduced to handling the get/set functions. The only backend that implemented these functions (aside from audit) was the vfs_default module calling the sys_acl code. The various ACL implementation modules either worked on the fully initilaised smb_acl_t object or on NT ACLs. This not only makes the operation of the posix ACL code more efficient (as allocation and free is not put via the VFS), it makes it easier to test and removes the fantasy that a module could safely redefine this structure or the behaviour here. The smb_acls.idl now defines the structure, and it is now allocated with talloc. These operations were originally added to the VFS in commit 3bb219161a270f12c27c3bc7e1220829c6e9f284. Andrew Bartlett --- docs-xml/manpages-3/vfs_full_audit.8.xml | 17 -- examples/VFS/skel_opaque.c | 119 ----------- examples/VFS/skel_transparent.c | 102 --------- source3/include/vfs.h | 59 +---- source3/include/vfs_macros.h | 85 -------- source3/modules/vfs_default.c | 102 --------- source3/modules/vfs_full_audit.c | 302 -------------------------- source3/modules/vfs_time_audit.c | 357 ------------------------------- source3/smbd/vfs.c | 129 ----------- 9 files changed, 1 insertion(+), 1271 deletions(-) diff --git a/docs-xml/manpages-3/vfs_full_audit.8.xml b/docs-xml/manpages-3/vfs_full_audit.8.xml index 0f0d96d1fb5..f773a086a89 100644 --- a/docs-xml/manpages-3/vfs_full_audit.8.xml +++ b/docs-xml/manpages-3/vfs_full_audit.8.xml @@ -95,28 +95,11 @@ stat statvfs symlink - sys_acl_add_perm - sys_acl_clear_perms - sys_acl_create_entry sys_acl_delete_def_file - sys_acl_free_acl - sys_acl_free_qualifier - sys_acl_free_text - sys_acl_get_entry sys_acl_get_fd sys_acl_get_file - sys_acl_get_perm - sys_acl_get_permset - sys_acl_get_qualifier - sys_acl_get_tag_type - sys_acl_init sys_acl_set_fd sys_acl_set_file - sys_acl_set_permset - sys_acl_set_qualifier - sys_acl_set_tag_type - sys_acl_to_text - sys_acl_valid telldir unlink utime diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c index 03a5157e8ab..edfb7726981 100644 --- a/examples/VFS/skel_opaque.c +++ b/examples/VFS/skel_opaque.c @@ -574,30 +574,6 @@ static int skel_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp, mode_t return -1; } -static int skel_sys_acl_get_entry(vfs_handle_struct *handle, SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_get_tag_type(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T *tag_type_p) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_get_permset(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T *permset_p) -{ - errno = ENOSYS; - return -1; -} - -static void *skel_sys_acl_get_qualifier(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d) -{ - errno = ENOSYS; - return NULL; -} - static SMB_ACL_T skel_sys_acl_get_file(vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type) { errno = ENOSYS; @@ -610,60 +586,6 @@ static SMB_ACL_T skel_sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fs return (SMB_ACL_T)NULL; } -static int skel_sys_acl_clear_perms(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_add_perm(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm) -{ - errno = ENOSYS; - return -1; -} - -static char *skel_sys_acl_to_text(vfs_handle_struct *handle, SMB_ACL_T theacl, ssize_t *plen) -{ - errno = ENOSYS; - return NULL; -} - -static SMB_ACL_T skel_sys_acl_init(vfs_handle_struct *handle, int count) -{ - errno = ENOSYS; - return (SMB_ACL_T)NULL; -} - -static int skel_sys_acl_create_entry(vfs_handle_struct *handle, SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_set_tag_type(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T tagtype) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_set_qualifier(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, void *qual) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_set_permset(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_PERMSET_T permset) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_valid(vfs_handle_struct *handle, SMB_ACL_T theacl ) -{ - errno = ENOSYS; - return -1; -} - static int skel_sys_acl_set_file(vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl) { errno = ENOSYS; @@ -682,30 +604,6 @@ static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle, const char * return -1; } -static int skel_sys_acl_get_perm(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_free_text(vfs_handle_struct *handle, char *text) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_free_acl(vfs_handle_struct *handle, SMB_ACL_T posix_acl) -{ - errno = ENOSYS; - return -1; -} - -static int skel_sys_acl_free_qualifier(vfs_handle_struct *handle, void *qualifier, SMB_ACL_TAG_T tagtype) -{ - errno = ENOSYS; - return -1; -} - static ssize_t skel_getxattr(vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size) { errno = ENOSYS; @@ -871,28 +769,11 @@ struct vfs_fn_pointers skel_opaque_fns = { .chmod_acl_fn = skel_chmod_acl, .fchmod_acl_fn = skel_fchmod_acl, - .sys_acl_get_entry_fn = skel_sys_acl_get_entry, - .sys_acl_get_tag_type_fn = skel_sys_acl_get_tag_type, - .sys_acl_get_permset_fn = skel_sys_acl_get_permset, - .sys_acl_get_qualifier_fn = skel_sys_acl_get_qualifier, .sys_acl_get_file_fn = skel_sys_acl_get_file, .sys_acl_get_fd_fn = skel_sys_acl_get_fd, - .sys_acl_clear_perms_fn = skel_sys_acl_clear_perms, - .sys_acl_add_perm_fn = skel_sys_acl_add_perm, - .sys_acl_to_text_fn = skel_sys_acl_to_text, - .sys_acl_init_fn = skel_sys_acl_init, - .sys_acl_create_entry_fn = skel_sys_acl_create_entry, - .sys_acl_set_tag_type_fn = skel_sys_acl_set_tag_type, - .sys_acl_set_qualifier_fn = skel_sys_acl_set_qualifier, - .sys_acl_set_permset_fn = skel_sys_acl_set_permset, - .sys_acl_valid_fn = skel_sys_acl_valid, .sys_acl_set_file_fn = skel_sys_acl_set_file, .sys_acl_set_fd_fn = skel_sys_acl_set_fd, .sys_acl_delete_def_file_fn = skel_sys_acl_delete_def_file, - .sys_acl_get_perm_fn = skel_sys_acl_get_perm, - .sys_acl_free_text_fn = skel_sys_acl_free_text, - .sys_acl_free_acl_fn = skel_sys_acl_free_acl, - .sys_acl_free_qualifier_fn = skel_sys_acl_free_qualifier, /* EA operations. */ .getxattr_fn = skel_getxattr, diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c index 6981b5da050..711b7fc1396 100644 --- a/examples/VFS/skel_transparent.c +++ b/examples/VFS/skel_transparent.c @@ -689,26 +689,6 @@ static int skel_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp, mode_t return SMB_VFS_NEXT_FCHMOD_ACL(handle, fsp, mode); } -static int skel_sys_acl_get_entry(vfs_handle_struct *handle, SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p) -{ - return SMB_VFS_NEXT_SYS_ACL_GET_ENTRY(handle, theacl, entry_id, entry_p); -} - -static int skel_sys_acl_get_tag_type(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T *tag_type_p) -{ - return SMB_VFS_NEXT_SYS_ACL_GET_TAG_TYPE(handle, entry_d, tag_type_p); -} - -static int skel_sys_acl_get_permset(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T *permset_p) -{ - return SMB_VFS_NEXT_SYS_ACL_GET_PERMSET(handle, entry_d, permset_p); -} - -static void *skel_sys_acl_get_qualifier(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d) -{ - return SMB_VFS_NEXT_SYS_ACL_GET_QUALIFIER(handle, entry_d); -} - static SMB_ACL_T skel_sys_acl_get_file(vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type) { return SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, path_p, type); @@ -719,51 +699,6 @@ static SMB_ACL_T skel_sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fs return SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp); } -static int skel_sys_acl_clear_perms(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset) -{ - return SMB_VFS_NEXT_SYS_ACL_CLEAR_PERMS(handle, permset); -} - -static int skel_sys_acl_add_perm(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm) -{ - return SMB_VFS_NEXT_SYS_ACL_ADD_PERM(handle, permset, perm); -} - -static char *skel_sys_acl_to_text(vfs_handle_struct *handle, SMB_ACL_T theacl, ssize_t *plen) -{ - return SMB_VFS_NEXT_SYS_ACL_TO_TEXT(handle, theacl, plen); -} - -static SMB_ACL_T skel_sys_acl_init(vfs_handle_struct *handle, int count) -{ - return SMB_VFS_NEXT_SYS_ACL_INIT(handle, count); -} - -static int skel_sys_acl_create_entry(vfs_handle_struct *handle, SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry) -{ - return SMB_VFS_NEXT_SYS_ACL_CREATE_ENTRY(handle, pacl, pentry); -} - -static int skel_sys_acl_set_tag_type(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T tagtype) -{ - return SMB_VFS_NEXT_SYS_ACL_SET_TAG_TYPE(handle, entry, tagtype); -} - -static int skel_sys_acl_set_qualifier(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, void *qual) -{ - return SMB_VFS_NEXT_SYS_ACL_SET_QUALIFIER(handle, entry, qual); -} - -static int skel_sys_acl_set_permset(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_PERMSET_T permset) -{ - return SMB_VFS_NEXT_SYS_ACL_SET_PERMSET(handle, entry, permset); -} - -static int skel_sys_acl_valid(vfs_handle_struct *handle, SMB_ACL_T theacl ) -{ - return SMB_VFS_NEXT_SYS_ACL_VALID(handle, theacl); -} - static int skel_sys_acl_set_file(vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl) { return SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, name, acltype, theacl); @@ -779,26 +714,6 @@ static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle, const char * return SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, path); } -static int skel_sys_acl_get_perm(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm) -{ - return SMB_VFS_NEXT_SYS_ACL_GET_PERM(handle, permset, perm); -} - -static int skel_sys_acl_free_text(vfs_handle_struct *handle, char *text) -{ - return SMB_VFS_NEXT_SYS_ACL_FREE_TEXT(handle, text); -} - -static int skel_sys_acl_free_acl(vfs_handle_struct *handle, SMB_ACL_T posix_acl) -{ - return SMB_VFS_NEXT_SYS_ACL_FREE_ACL(handle, posix_acl); -} - -static int skel_sys_acl_free_qualifier(vfs_handle_struct *handle, void *qualifier, SMB_ACL_TAG_T tagtype) -{ - return SMB_VFS_NEXT_SYS_ACL_FREE_QUALIFIER(handle, qualifier, tagtype); -} - static ssize_t skel_getxattr(vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size) { return SMB_VFS_NEXT_GETXATTR(handle, path, name, value, size); @@ -952,28 +867,11 @@ struct vfs_fn_pointers skel_transparent_fns = { .chmod_acl_fn = skel_chmod_acl, .fchmod_acl_fn = skel_fchmod_acl, - .sys_acl_get_entry_fn = skel_sys_acl_get_entry, - .sys_acl_get_tag_type_fn = skel_sys_acl_get_tag_type, - .sys_acl_get_permset_fn = skel_sys_acl_get_permset, - .sys_acl_get_qualifier_fn = skel_sys_acl_get_qualifier, .sys_acl_get_file_fn = skel_sys_acl_get_file, .sys_acl_get_fd_fn = skel_sys_acl_get_fd, - .sys_acl_clear_perms_fn = skel_sys_acl_clear_perms, - .sys_acl_add_perm_fn = skel_sys_acl_add_perm, - .sys_acl_to_text_fn = skel_sys_acl_to_text, - .sys_acl_init_fn = skel_sys_acl_init, - .sys_acl_create_entry_fn = skel_sys_acl_create_entry, - .sys_acl_set_tag_type_fn = skel_sys_acl_set_tag_type, - .sys_acl_set_qualifier_fn = skel_sys_acl_set_qualifier, - .sys_acl_set_permset_fn = skel_sys_acl_set_permset, - .sys_acl_valid_fn = skel_sys_acl_valid, .sys_acl_set_file_fn = skel_sys_acl_set_file, .sys_acl_set_fd_fn = skel_sys_acl_set_fd, .sys_acl_delete_def_file_fn = skel_sys_acl_delete_def_file, - .sys_acl_get_perm_fn = skel_sys_acl_get_perm, - .sys_acl_free_text_fn = skel_sys_acl_free_text, - .sys_acl_free_acl_fn = skel_sys_acl_free_acl, - .sys_acl_free_qualifier_fn = skel_sys_acl_free_qualifier, /* EA operations. */ .getxattr_fn = skel_getxattr, diff --git a/source3/include/vfs.h b/source3/include/vfs.h index c5b896db0f2..f2cfd24cd39 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -140,6 +140,7 @@ /* Leave at 29 - not yet released. add SMB_VFS_GET_DFS_REFERRAL() - metze */ /* Leave at 29 - not yet released. Remove l{list,get,set,remove}xattr - abartlet */ /* Leave at 29 - not yet released. move to plain off_t - abartlet */ +/* Leave at 29 - not yet released. Remove sys_acl functions other than set and get - abartlet */ #define SMB_VFS_INTERFACE_VERSION 29 /* @@ -683,28 +684,11 @@ struct vfs_fn_pointers { int (*chmod_acl_fn)(struct vfs_handle_struct *handle, const char *name, mode_t mode); int (*fchmod_acl_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, mode_t mode); - int (*sys_acl_get_entry_fn)(struct vfs_handle_struct *handle, SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p); - int (*sys_acl_get_tag_type_fn)(struct vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T *tag_type_p); - int (*sys_acl_get_permset_fn)(struct vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T *permset_p); - void * (*sys_acl_get_qualifier_fn)(struct vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d); SMB_ACL_T (*sys_acl_get_file_fn)(struct vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type); SMB_ACL_T (*sys_acl_get_fd_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp); - int (*sys_acl_clear_perms_fn)(struct vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset); - int (*sys_acl_add_perm_fn)(struct vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm); - char * (*sys_acl_to_text_fn)(struct vfs_handle_struct *handle, SMB_ACL_T theacl, ssize_t *plen); - SMB_ACL_T (*sys_acl_init_fn)(struct vfs_handle_struct *handle, int count); - int (*sys_acl_create_entry_fn)(struct vfs_handle_struct *handle, SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); - int (*sys_acl_set_tag_type_fn)(struct vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T tagtype); - int (*sys_acl_set_qualifier_fn)(struct vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, void *qual); - int (*sys_acl_set_permset_fn)(struct vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_PERMSET_T permset); - int (*sys_acl_valid_fn)(struct vfs_handle_struct *handle, SMB_ACL_T theacl ); int (*sys_acl_set_file_fn)(struct vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl); int (*sys_acl_set_fd_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, SMB_ACL_T theacl); int (*sys_acl_delete_def_file_fn)(struct vfs_handle_struct *handle, const char *path); - int (*sys_acl_get_perm_fn)(struct vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm); - int (*sys_acl_free_text_fn)(struct vfs_handle_struct *handle, char *text); - int (*sys_acl_free_acl_fn)(struct vfs_handle_struct *handle, SMB_ACL_T posix_acl); - int (*sys_acl_free_qualifier_fn)(struct vfs_handle_struct *handle, void *qualifier, SMB_ACL_TAG_T tagtype); /* EA operations. */ ssize_t (*getxattr_fn)(struct vfs_handle_struct *handle,const char *path, const char *name, void *value, size_t size); @@ -1076,43 +1060,11 @@ int smb_vfs_call_chmod_acl(struct vfs_handle_struct *handle, const char *name, mode_t mode); int smb_vfs_call_fchmod_acl(struct vfs_handle_struct *handle, struct files_struct *fsp, mode_t mode); -int smb_vfs_call_sys_acl_get_entry(struct vfs_handle_struct *handle, - SMB_ACL_T theacl, int entry_id, - SMB_ACL_ENTRY_T *entry_p); -int smb_vfs_call_sys_acl_get_tag_type(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_TAG_T *tag_type_p); -int smb_vfs_call_sys_acl_get_permset(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_PERMSET_T *permset_p); -void * smb_vfs_call_sys_acl_get_qualifier(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d); SMB_ACL_T smb_vfs_call_sys_acl_get_file(struct vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type); SMB_ACL_T smb_vfs_call_sys_acl_get_fd(struct vfs_handle_struct *handle, struct files_struct *fsp); -int smb_vfs_call_sys_acl_clear_perms(struct vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset); -int smb_vfs_call_sys_acl_add_perm(struct vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm); -char * smb_vfs_call_sys_acl_to_text(struct vfs_handle_struct *handle, - SMB_ACL_T theacl, ssize_t *plen); -SMB_ACL_T smb_vfs_call_sys_acl_init(struct vfs_handle_struct *handle, - int count); -int smb_vfs_call_sys_acl_create_entry(struct vfs_handle_struct *handle, - SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); -int smb_vfs_call_sys_acl_set_tag_type(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, - SMB_ACL_TAG_T tagtype); -int smb_vfs_call_sys_acl_set_qualifier(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, void *qual); -int smb_vfs_call_sys_acl_set_permset(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, - SMB_ACL_PERMSET_T permset); -int smb_vfs_call_sys_acl_valid(struct vfs_handle_struct *handle, - SMB_ACL_T theacl); int smb_vfs_call_sys_acl_set_file(struct vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl); @@ -1120,15 +1072,6 @@ int smb_vfs_call_sys_acl_set_fd(struct vfs_handle_struct *handle, struct files_struct *fsp, SMB_ACL_T theacl); int smb_vfs_call_sys_acl_delete_def_file(struct vfs_handle_struct *handle, const char *path); -int smb_vfs_call_sys_acl_get_perm(struct vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm); -int smb_vfs_call_sys_acl_free_text(struct vfs_handle_struct *handle, - char *text); -int smb_vfs_call_sys_acl_free_acl(struct vfs_handle_struct *handle, - SMB_ACL_T posix_acl); -int smb_vfs_call_sys_acl_free_qualifier(struct vfs_handle_struct *handle, - void *qualifier, SMB_ACL_TAG_T tagtype); ssize_t smb_vfs_call_getxattr(struct vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size); diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h index 515f68f16e2..e577e9950ff 100644 --- a/source3/include/vfs_macros.h +++ b/source3/include/vfs_macros.h @@ -429,26 +429,6 @@ #define SMB_VFS_NEXT_FCHMOD_ACL(handle, fsp, mode) \ smb_vfs_call_fchmod_acl((handle)->next, (fsp), (mode)) -#define SMB_VFS_SYS_ACL_GET_ENTRY(conn, theacl, entry_id, entry_p) \ - smb_vfs_call_sys_acl_get_entry((conn)->vfs_handles, (theacl), (entry_id), (entry_p)) -#define SMB_VFS_NEXT_SYS_ACL_GET_ENTRY(handle, theacl, entry_id, entry_p) \ - smb_vfs_call_sys_acl_get_entry((handle)->next, (theacl), (entry_id), (entry_p)) - -#define SMB_VFS_SYS_ACL_GET_TAG_TYPE(conn, entry_d, tag_type_p) \ - smb_vfs_call_sys_acl_get_tag_type((conn)->vfs_handles, (entry_d), (tag_type_p)) -#define SMB_VFS_NEXT_SYS_ACL_GET_TAG_TYPE(handle, entry_d, tag_type_p) \ - smb_vfs_call_sys_acl_get_tag_type((handle)->next, (entry_d), (tag_type_p)) - -#define SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry_d, permset_p) \ - smb_vfs_call_sys_acl_get_permset((conn)->vfs_handles, (entry_d), (permset_p)) -#define SMB_VFS_NEXT_SYS_ACL_GET_PERMSET(handle, entry_d, permset_p) \ - smb_vfs_call_sys_acl_get_permset((handle)->next, (entry_d), (permset_p)) - -#define SMB_VFS_SYS_ACL_GET_QUALIFIER(conn, entry_d) \ - smb_vfs_call_sys_acl_get_qualifier((conn)->vfs_handles, (entry_d)) -#define SMB_VFS_NEXT_SYS_ACL_GET_QUALIFIER(handle, entry_d) \ - smb_vfs_call_sys_acl_get_qualifier((handle)->next, (entry_d)) - #define SMB_VFS_SYS_ACL_GET_FILE(conn, path_p, type) \ smb_vfs_call_sys_acl_get_file((conn)->vfs_handles, (path_p), (type)) #define SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, path_p, type) \ @@ -459,51 +439,6 @@ #define SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp) \ smb_vfs_call_sys_acl_get_fd((handle)->next, (fsp)) -#define SMB_VFS_SYS_ACL_CLEAR_PERMS(conn, permset) \ - smb_vfs_call_sys_acl_clear_perms((conn)->vfs_handles, (permset)) -#define SMB_VFS_NEXT_SYS_ACL_CLEAR_PERMS(handle, permset) \ - smb_vfs_call_sys_acl_clear_perms((handle)->next, (permset)) - -#define SMB_VFS_SYS_ACL_ADD_PERM(conn, permset, perm) \ - smb_vfs_call_sys_acl_add_perm((conn)->vfs_handles, (permset), (perm)) -#define SMB_VFS_NEXT_SYS_ACL_ADD_PERM(handle, permset, perm) \ - smb_vfs_call_sys_acl_add_perm((handle)->next, (permset), (perm)) - -#define SMB_VFS_SYS_ACL_TO_TEXT(conn, theacl, plen) \ - smb_vfs_call_sys_acl_to_text((conn)->vfs_handles, (theacl), (plen)) -#define SMB_VFS_NEXT_SYS_ACL_TO_TEXT(handle, theacl, plen) \ - smb_vfs_call_sys_acl_to_text((handle)->next, (theacl), (plen)) - -#define SMB_VFS_SYS_ACL_INIT(conn, count) \ - smb_vfs_call_sys_acl_init((conn)->vfs_handles, (count)) -#define SMB_VFS_NEXT_SYS_ACL_INIT(handle, count) \ - smb_vfs_call_sys_acl_init((handle)->next, (count)) - -#define SMB_VFS_SYS_ACL_CREATE_ENTRY(conn, pacl, pentry) \ - smb_vfs_call_sys_acl_create_entry((conn)->vfs_handles, (pacl), (pentry)) -#define SMB_VFS_NEXT_SYS_ACL_CREATE_ENTRY(handle, pacl, pentry) \ - smb_vfs_call_sys_acl_create_entry((handle)->next, (pacl), (pentry)) - -#define SMB_VFS_SYS_ACL_SET_TAG_TYPE(conn, entry, tagtype) \ - smb_vfs_call_sys_acl_set_tag_type((conn)->vfs_handles, (entry), (tagtype)) -#define SMB_VFS_NEXT_SYS_ACL_SET_TAG_TYPE(handle, entry, tagtype) \ - smb_vfs_call_sys_acl_set_tag_type((handle)->next, (entry), (tagtype)) - -#define SMB_VFS_SYS_ACL_SET_QUALIFIER(conn, entry, qual) \ - smb_vfs_call_sys_acl_set_qualifier((conn)->vfs_handles, (entry), (qual)) -#define SMB_VFS_NEXT_SYS_ACL_SET_QUALIFIER(handle, entry, qual) \ - smb_vfs_call_sys_acl_set_qualifier((handle)->next, (entry), (qual)) - -#define SMB_VFS_SYS_ACL_SET_PERMSET(conn, entry, permset) \ - smb_vfs_call_sys_acl_set_permset((conn)->vfs_handles, (entry), (permset)) -#define SMB_VFS_NEXT_SYS_ACL_SET_PERMSET(handle, entry, permset) \ - smb_vfs_call_sys_acl_set_permset((handle)->next, (entry), (permset)) - -#define SMB_VFS_SYS_ACL_VALID(conn, theacl) \ - smb_vfs_call_sys_acl_valid((conn)->vfs_handles, (theacl)) -#define SMB_VFS_NEXT_SYS_ACL_VALID(handle, theacl) \ - smb_vfs_call_sys_acl_valid((handle)->next, (theacl)) - #define SMB_VFS_SYS_ACL_SET_FILE(conn, name, acltype, theacl) \ smb_vfs_call_sys_acl_set_file((conn)->vfs_handles, (name), (acltype), (theacl)) #define SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, name, acltype, theacl) \ @@ -519,26 +454,6 @@ #define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, path) \ smb_vfs_call_sys_acl_delete_def_file((handle)->next, (path)) -#define SMB_VFS_SYS_ACL_GET_PERM(conn, permset, perm) \ - smb_vfs_call_sys_acl_get_perm((conn)->vfs_handles, (permset), (perm)) -#define SMB_VFS_NEXT_SYS_ACL_GET_PERM(handle, permset, perm) \ - smb_vfs_call_sys_acl_get_perm((handle)->next, (permset), (perm)) - -#define SMB_VFS_SYS_ACL_FREE_TEXT(conn, text) \ - smb_vfs_call_sys_acl_free_text((conn)->vfs_handles, (text)) -#define SMB_VFS_NEXT_SYS_ACL_FREE_TEXT(handle, text) \ - smb_vfs_call_sys_acl_free_text((handle)->next, (text)) - -#define SMB_VFS_SYS_ACL_FREE_ACL(conn, posix_acl) \ - smb_vfs_call_sys_acl_free_acl((conn)->vfs_handles, (posix_acl)) -#define SMB_VFS_NEXT_SYS_ACL_FREE_ACL(handle, posix_acl) \ - smb_vfs_call_sys_acl_free_acl((handle)->next, (posix_acl)) - -#define SMB_VFS_SYS_ACL_FREE_QUALIFIER(conn, qualifier, tagtype) \ - smb_vfs_call_sys_acl_free_qualifier((conn)->vfs_handles, (qualifier), (tagtype)) -#define SMB_VFS_NEXT_SYS_ACL_FREE_QUALIFIER(handle, qualifier, tagtype) \ - smb_vfs_call_sys_acl_free_qualifier((handle)->next, (qualifier), (tagtype)) - #define SMB_VFS_GETXATTR(conn,path,name,value,size) \ smb_vfs_call_getxattr((conn)->vfs_handles,(path),(name),(value),(size)) #define SMB_VFS_NEXT_GETXATTR(handle,path,name,value,size) \ diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 002a5501fde..42671a1dbe9 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -2111,26 +2111,6 @@ static int vfswrap_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp, mode #endif } -static int vfswrap_sys_acl_get_entry(vfs_handle_struct *handle, SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p) -{ - return sys_acl_get_entry(theacl, entry_id, entry_p); -} - -static int vfswrap_sys_acl_get_tag_type(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T *tag_type_p) -{ - return sys_acl_get_tag_type(entry_d, tag_type_p); -} - -static int vfswrap_sys_acl_get_permset(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T *permset_p) -{ - return sys_acl_get_permset(entry_d, permset_p); -} - -static void * vfswrap_sys_acl_get_qualifier(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry_d) -{ - return sys_acl_get_qualifier(entry_d); -} - static SMB_ACL_T vfswrap_sys_acl_get_file(vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type) { return sys_acl_get_file(handle, path_p, type); @@ -2141,51 +2121,6 @@ static SMB_ACL_T vfswrap_sys_acl_get_fd(vfs_handle_struct *handle, files_struct return sys_acl_get_fd(handle, fsp); } -static int vfswrap_sys_acl_clear_perms(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset) -{ - return sys_acl_clear_perms(permset); -} - -static int vfswrap_sys_acl_add_perm(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm) -{ - return sys_acl_add_perm(permset, perm); -} - -static char * vfswrap_sys_acl_to_text(vfs_handle_struct *handle, SMB_ACL_T theacl, ssize_t *plen) -{ - return sys_acl_to_text(theacl, plen); -} - -static SMB_ACL_T vfswrap_sys_acl_init(vfs_handle_struct *handle, int count) -{ - return sys_acl_init(count); -} - -static int vfswrap_sys_acl_create_entry(vfs_handle_struct *handle, SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry) -{ - return sys_acl_create_entry(pacl, pentry); -} - -static int vfswrap_sys_acl_set_tag_type(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T tagtype) -{ - return sys_acl_set_tag_type(entry, tagtype); -} - -static int vfswrap_sys_acl_set_qualifier(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, void *qual) -{ - return sys_acl_set_qualifier(entry, qual); -} - -static int vfswrap_sys_acl_set_permset(vfs_handle_struct *handle, SMB_ACL_ENTRY_T entry, SMB_ACL_PERMSET_T permset) -{ - return sys_acl_set_permset(entry, permset); -} - -static int vfswrap_sys_acl_valid(vfs_handle_struct *handle, SMB_ACL_T theacl ) -{ - return sys_acl_valid(theacl ); -} - static int vfswrap_sys_acl_set_file(vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl) { return sys_acl_set_file(handle, name, acltype, theacl); @@ -2201,26 +2136,6 @@ static int vfswrap_sys_acl_delete_def_file(vfs_handle_struct *handle, const cha return sys_acl_delete_def_file(handle, path); } -static int vfswrap_sys_acl_get_perm(vfs_handle_struct *handle, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm) -{ - return sys_acl_get_perm(permset, perm); -} - -static int vfswrap_sys_acl_free_text(vfs_handle_struct *handle, char *text) -{ - return sys_acl_free_text(text); -} - -static int vfswrap_sys_acl_free_acl(vfs_handle_struct *handle, SMB_ACL_T posix_acl) -{ - return sys_acl_free_acl(posix_acl); -} - -static int vfswrap_sys_acl_free_qualifier(vfs_handle_struct *handle, void *qualifier, SMB_ACL_TAG_T tagtype) -{ - return sys_acl_free_qualifier(qualifier, tagtype); -} - /**************************************************************** Extended attribute operations. *****************************************************************/ @@ -2408,28 +2323,11 @@ static struct vfs_fn_pointers vfs_default_fns = { .chmod_acl_fn = vfswrap_chmod_acl, .fchmod_acl_fn = vfswrap_fchmod_acl, - .sys_acl_get_entry_fn = vfswrap_sys_acl_get_entry, - .sys_acl_get_tag_type_fn = vfswrap_sys_acl_get_tag_type, - .sys_acl_get_permset_fn = vfswrap_sys_acl_get_permset, - .sys_acl_get_qualifier_fn = vfswrap_sys_acl_get_qualifier, .sys_acl_get_file_fn = vfswrap_sys_acl_get_file, .sys_acl_get_fd_fn = vfswrap_sys_acl_get_fd, - .sys_acl_clear_perms_fn = vfswrap_sys_acl_clear_perms, - .sys_acl_add_perm_fn = vfswrap_sys_acl_add_perm, - .sys_acl_to_text_fn = vfswrap_sys_acl_to_text, - .sys_acl_init_fn = vfswrap_sys_acl_init, - .sys_acl_create_entry_fn = vfswrap_sys_acl_create_entry, - .sys_acl_set_tag_type_fn = vfswrap_sys_acl_set_tag_type, - .sys_acl_set_qualifier_fn = vfswrap_sys_acl_set_qualifier, - .sys_acl_set_permset_fn = vfswrap_sys_acl_set_permset, - .sys_acl_valid_fn = vfswrap_sys_acl_valid, .sys_acl_set_file_fn = vfswrap_sys_acl_set_file, .sys_acl_set_fd_fn = vfswrap_sys_acl_set_fd, .sys_acl_delete_def_file_fn = vfswrap_sys_acl_delete_def_file, - .sys_acl_get_perm_fn = vfswrap_sys_acl_get_perm, - .sys_acl_free_text_fn = vfswrap_sys_acl_free_text, - .sys_acl_free_acl_fn = vfswrap_sys_acl_free_acl, - .sys_acl_free_qualifier_fn = vfswrap_sys_acl_free_qualifier, /* EA operations. */ .getxattr_fn = vfswrap_getxattr, diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c index 3199503e521..48198e7fa5b 100644 --- a/source3/modules/vfs_full_audit.c +++ b/source3/modules/vfs_full_audit.c @@ -173,28 +173,11 @@ typedef enum _vfs_op_type { SMB_VFS_OP_CHMOD_ACL, SMB_VFS_OP_FCHMOD_ACL, - SMB_VFS_OP_SYS_ACL_GET_ENTRY, - SMB_VFS_OP_SYS_ACL_GET_TAG_TYPE, - SMB_VFS_OP_SYS_ACL_GET_PERMSET, - SMB_VFS_OP_SYS_ACL_GET_QUALIFIER, SMB_VFS_OP_SYS_ACL_GET_FILE, SMB_VFS_OP_SYS_ACL_GET_FD, - SMB_VFS_OP_SYS_ACL_CLEAR_PERMS, - SMB_VFS_OP_SYS_ACL_ADD_PERM, - SMB_VFS_OP_SYS_ACL_TO_TEXT, - SMB_VFS_OP_SYS_ACL_INIT, - SMB_VFS_OP_SYS_ACL_CREATE_ENTRY, - SMB_VFS_OP_SYS_ACL_SET_TAG_TYPE, - SMB_VFS_OP_SYS_ACL_SET_QUALIFIER, - SMB_VFS_OP_SYS_ACL_SET_PERMSET, - SMB_VFS_OP_SYS_ACL_VALID, SMB_VFS_OP_SYS_ACL_SET_FILE, SMB_VFS_OP_SYS_ACL_SET_FD, SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE, - SMB_VFS_OP_SYS_ACL_GET_PERM, - SMB_VFS_OP_SYS_ACL_FREE_TEXT, - SMB_VFS_OP_SYS_ACL_FREE_ACL, - SMB_VFS_OP_SYS_ACL_FREE_QUALIFIER, /* EA operations. */ SMB_VFS_OP_GETXATTR, @@ -299,28 +282,11 @@ static struct { { SMB_VFS_OP_FSET_NT_ACL, "fset_nt_acl" }, { SMB_VFS_OP_CHMOD_ACL, "chmod_acl" }, { SMB_VFS_OP_FCHMOD_ACL, "fchmod_acl" }, - { SMB_VFS_OP_SYS_ACL_GET_ENTRY, "sys_acl_get_entry" }, - { SMB_VFS_OP_SYS_ACL_GET_TAG_TYPE, "sys_acl_get_tag_type" }, - { SMB_VFS_OP_SYS_ACL_GET_PERMSET, "sys_acl_get_permset" }, - { SMB_VFS_OP_SYS_ACL_GET_QUALIFIER, "sys_acl_get_qualifier" }, { SMB_VFS_OP_SYS_ACL_GET_FILE, "sys_acl_get_file" }, { SMB_VFS_OP_SYS_ACL_GET_FD, "sys_acl_get_fd" }, - { SMB_VFS_OP_SYS_ACL_CLEAR_PERMS, "sys_acl_clear_perms" }, - { SMB_VFS_OP_SYS_ACL_ADD_PERM, "sys_acl_add_perm" }, - { SMB_VFS_OP_SYS_ACL_TO_TEXT, "sys_acl_to_text" }, - { SMB_VFS_OP_SYS_ACL_INIT, "sys_acl_init" }, - { SMB_VFS_OP_SYS_ACL_CREATE_ENTRY, "sys_acl_create_entry" }, - { SMB_VFS_OP_SYS_ACL_SET_TAG_TYPE, "sys_acl_set_tag_type" }, - { SMB_VFS_OP_SYS_ACL_SET_QUALIFIER, "sys_acl_set_qualifier" }, - { SMB_VFS_OP_SYS_ACL_SET_PERMSET, "sys_acl_set_permset" }, - { SMB_VFS_OP_SYS_ACL_VALID, "sys_acl_valid" }, { SMB_VFS_OP_SYS_ACL_SET_FILE, "sys_acl_set_file" }, { 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_GET_PERM, "sys_acl_get_perm" }, - { SMB_VFS_OP_SYS_ACL_FREE_TEXT, "sys_acl_free_text" }, - { SMB_VFS_OP_SYS_ACL_FREE_ACL, "sys_acl_free_acl" }, - { SMB_VFS_OP_SYS_ACL_FREE_QUALIFIER, "sys_acl_free_qualifier" }, { SMB_VFS_OP_GETXATTR, "getxattr" }, { SMB_VFS_OP_FGETXATTR, "fgetxattr" }, { SMB_VFS_OP_LISTXATTR, "listxattr" }, @@ -1828,68 +1794,6 @@ static int smb_full_audit_fchmod_acl(vfs_handle_struct *handle, files_struct *fs return result; } -static int smb_full_audit_sys_acl_get_entry(vfs_handle_struct *handle, - - SMB_ACL_T theacl, int entry_id, - SMB_ACL_ENTRY_T *entry_p) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_GET_ENTRY(handle, theacl, entry_id, - entry_p); - - do_log(SMB_VFS_OP_SYS_ACL_GET_ENTRY, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_get_tag_type(vfs_handle_struct *handle, - - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_TAG_T *tag_type_p) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_GET_TAG_TYPE(handle, entry_d, - tag_type_p); - - do_log(SMB_VFS_OP_SYS_ACL_GET_TAG_TYPE, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_get_permset(vfs_handle_struct *handle, - - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_PERMSET_T *permset_p) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_GET_PERMSET(handle, entry_d, - permset_p); - - do_log(SMB_VFS_OP_SYS_ACL_GET_PERMSET, (result >= 0), handle, - ""); - - return result; -} - -static void * smb_full_audit_sys_acl_get_qualifier(vfs_handle_struct *handle, - - SMB_ACL_ENTRY_T entry_d) -{ - void *result; - - result = SMB_VFS_NEXT_SYS_ACL_GET_QUALIFIER(handle, entry_d); - - do_log(SMB_VFS_OP_SYS_ACL_GET_QUALIFIER, (result != NULL), handle, - ""); - - return result; -} - static SMB_ACL_T smb_full_audit_sys_acl_get_file(vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type) @@ -1917,137 +1821,6 @@ static SMB_ACL_T smb_full_audit_sys_acl_get_fd(vfs_handle_struct *handle, return result; } -static int smb_full_audit_sys_acl_clear_perms(vfs_handle_struct *handle, - - SMB_ACL_PERMSET_T permset) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_CLEAR_PERMS(handle, permset); - - do_log(SMB_VFS_OP_SYS_ACL_CLEAR_PERMS, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_add_perm(vfs_handle_struct *handle, - - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_ADD_PERM(handle, permset, perm); - - do_log(SMB_VFS_OP_SYS_ACL_ADD_PERM, (result >= 0), handle, - ""); - - return result; -} - -static char * smb_full_audit_sys_acl_to_text(vfs_handle_struct *handle, - SMB_ACL_T theacl, - ssize_t *plen) -{ - char * result; - - result = SMB_VFS_NEXT_SYS_ACL_TO_TEXT(handle, theacl, plen); - - do_log(SMB_VFS_OP_SYS_ACL_TO_TEXT, (result != NULL), handle, - ""); - - return result; -} - -static SMB_ACL_T smb_full_audit_sys_acl_init(vfs_handle_struct *handle, - - int count) -{ - SMB_ACL_T result; - - result = SMB_VFS_NEXT_SYS_ACL_INIT(handle, count); - - do_log(SMB_VFS_OP_SYS_ACL_INIT, (result != NULL), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_create_entry(vfs_handle_struct *handle, - SMB_ACL_T *pacl, - SMB_ACL_ENTRY_T *pentry) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_CREATE_ENTRY(handle, pacl, pentry); - - do_log(SMB_VFS_OP_SYS_ACL_CREATE_ENTRY, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_set_tag_type(vfs_handle_struct *handle, - - SMB_ACL_ENTRY_T entry, - SMB_ACL_TAG_T tagtype) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_SET_TAG_TYPE(handle, entry, - tagtype); - - do_log(SMB_VFS_OP_SYS_ACL_SET_TAG_TYPE, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_set_qualifier(vfs_handle_struct *handle, - - SMB_ACL_ENTRY_T entry, - void *qual) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_SET_QUALIFIER(handle, entry, qual); - - do_log(SMB_VFS_OP_SYS_ACL_SET_QUALIFIER, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_set_permset(vfs_handle_struct *handle, - - SMB_ACL_ENTRY_T entry, - SMB_ACL_PERMSET_T permset) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_SET_PERMSET(handle, entry, permset); - - do_log(SMB_VFS_OP_SYS_ACL_SET_PERMSET, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_valid(vfs_handle_struct *handle, - - SMB_ACL_T theacl ) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_VALID(handle, theacl); - - do_log(SMB_VFS_OP_SYS_ACL_VALID, (result >= 0), handle, - ""); - - return result; -} - static int smb_full_audit_sys_acl_set_file(vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, @@ -2091,64 +1864,6 @@ static int smb_full_audit_sys_acl_delete_def_file(vfs_handle_struct *handle, return result; } -static int smb_full_audit_sys_acl_get_perm(vfs_handle_struct *handle, - - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_GET_PERM(handle, permset, perm); - - do_log(SMB_VFS_OP_SYS_ACL_GET_PERM, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_free_text(vfs_handle_struct *handle, - - char *text) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_FREE_TEXT(handle, text); - - do_log(SMB_VFS_OP_SYS_ACL_FREE_TEXT, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_free_acl(vfs_handle_struct *handle, - - SMB_ACL_T posix_acl) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_FREE_ACL(handle, posix_acl); - - do_log(SMB_VFS_OP_SYS_ACL_FREE_ACL, (result >= 0), handle, - ""); - - return result; -} - -static int smb_full_audit_sys_acl_free_qualifier(vfs_handle_struct *handle, - void *qualifier, - SMB_ACL_TAG_T tagtype) -{ - int result; - - result = SMB_VFS_NEXT_SYS_ACL_FREE_QUALIFIER(handle, qualifier, - tagtype); - - do_log(SMB_VFS_OP_SYS_ACL_FREE_QUALIFIER, (result >= 0), handle, - ""); - - return result; -} - static ssize_t smb_full_audit_getxattr(struct vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size) @@ -2377,28 +2092,11 @@ static struct vfs_fn_pointers vfs_full_audit_fns = { .fset_nt_acl_fn = smb_full_audit_fset_nt_acl, .chmod_acl_fn = smb_full_audit_chmod_acl, .fchmod_acl_fn = smb_full_audit_fchmod_acl, - .sys_acl_get_entry_fn = smb_full_audit_sys_acl_get_entry, - .sys_acl_get_tag_type_fn = smb_full_audit_sys_acl_get_tag_type, - .sys_acl_get_permset_fn = smb_full_audit_sys_acl_get_permset, - .sys_acl_get_qualifier_fn = smb_full_audit_sys_acl_get_qualifier, .sys_acl_get_file_fn = smb_full_audit_sys_acl_get_file, .sys_acl_get_fd_fn = smb_full_audit_sys_acl_get_fd, - .sys_acl_clear_perms_fn = smb_full_audit_sys_acl_clear_perms, - .sys_acl_add_perm_fn = smb_full_audit_sys_acl_add_perm, - .sys_acl_to_text_fn = smb_full_audit_sys_acl_to_text, - .sys_acl_init_fn = smb_full_audit_sys_acl_init, - .sys_acl_create_entry_fn = smb_full_audit_sys_acl_create_entry, - .sys_acl_set_tag_type_fn = smb_full_audit_sys_acl_set_tag_type, - .sys_acl_set_qualifier_fn = smb_full_audit_sys_acl_set_qualifier, - .sys_acl_set_permset_fn = smb_full_audit_sys_acl_set_permset, - .sys_acl_valid_fn = smb_full_audit_sys_acl_valid, .sys_acl_set_file_fn = smb_full_audit_sys_acl_set_file, .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_get_perm_fn = smb_full_audit_sys_acl_get_perm, - .sys_acl_free_text_fn = smb_full_audit_sys_acl_free_text, - .sys_acl_free_acl_fn = smb_full_audit_sys_acl_free_acl, - .sys_acl_free_qualifier_fn = smb_full_audit_sys_acl_free_qualifier, .getxattr_fn = smb_full_audit_getxattr, .fgetxattr_fn = smb_full_audit_fgetxattr, .listxattr_fn = smb_full_audit_listxattr, diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c index 9b42ec9d2d8..4a400bd17d6 100644 --- a/source3/modules/vfs_time_audit.c +++ b/source3/modules/vfs_time_audit.c @@ -1680,88 +1680,6 @@ static int smb_time_audit_fchmod_acl(vfs_handle_struct *handle, return result; } -static int smb_time_audit_sys_acl_get_entry(vfs_handle_struct *handle, - SMB_ACL_T theacl, int entry_id, - SMB_ACL_ENTRY_T *entry_p) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_GET_ENTRY(handle, theacl, entry_id, - entry_p); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_get_entry", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_get_tag_type(vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_TAG_T *tag_type_p) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_GET_TAG_TYPE(handle, entry_d, - tag_type_p); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_get_tag_type", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_get_permset(vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_PERMSET_T *permset_p) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_GET_PERMSET(handle, entry_d, - permset_p); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_get_permset", timediff); - } - - return result; -} - -static void * smb_time_audit_sys_acl_get_qualifier(vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d) -{ - void *result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_GET_QUALIFIER(handle, entry_d); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_get_qualifier", timediff); - } - - return result; -} - static SMB_ACL_T smb_time_audit_sys_acl_get_file(vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type) @@ -1801,184 +1719,6 @@ static SMB_ACL_T smb_time_audit_sys_acl_get_fd(vfs_handle_struct *handle, return result; } -static int smb_time_audit_sys_acl_clear_perms(vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_CLEAR_PERMS(handle, permset); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_clear_perms", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_add_perm(vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_ADD_PERM(handle, permset, perm); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_add_perm", timediff); - } - - return result; -} - -static char * smb_time_audit_sys_acl_to_text(vfs_handle_struct *handle, - SMB_ACL_T theacl, - ssize_t *plen) -{ - char * result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_TO_TEXT(handle, theacl, plen); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_to_text", timediff); - } - - return result; -} - -static SMB_ACL_T smb_time_audit_sys_acl_init(vfs_handle_struct *handle, - int count) -{ - SMB_ACL_T result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_INIT(handle, count); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_init", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_create_entry(vfs_handle_struct *handle, - SMB_ACL_T *pacl, - SMB_ACL_ENTRY_T *pentry) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_CREATE_ENTRY(handle, pacl, pentry); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_create_entry", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_set_tag_type(vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, - SMB_ACL_TAG_T tagtype) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_SET_TAG_TYPE(handle, entry, - tagtype); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_set_tag_type", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_set_qualifier(vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, - void *qual) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_SET_QUALIFIER(handle, entry, qual); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_set_qualifier", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_set_permset(vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, - SMB_ACL_PERMSET_T permset) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_SET_PERMSET(handle, entry, permset); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_set_permset", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_valid(vfs_handle_struct *handle, - SMB_ACL_T theacl) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_VALID(handle, theacl); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_valid", timediff); - } - - return result; -} - static int smb_time_audit_sys_acl_set_file(vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, @@ -2040,85 +1780,6 @@ static int smb_time_audit_sys_acl_delete_def_file(vfs_handle_struct *handle, return result; } -static int smb_time_audit_sys_acl_get_perm(vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_GET_PERM(handle, permset, perm); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_get_perm", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_free_text(vfs_handle_struct *handle, - char *text) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_FREE_TEXT(handle, text); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_free_text", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_free_acl(vfs_handle_struct *handle, - SMB_ACL_T posix_acl) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_FREE_ACL(handle, posix_acl); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_free_acl", timediff); - } - - return result; -} - -static int smb_time_audit_sys_acl_free_qualifier(vfs_handle_struct *handle, - void *qualifier, - SMB_ACL_TAG_T tagtype) -{ - int result; - struct timespec ts1,ts2; - double timediff; - - clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_SYS_ACL_FREE_QUALIFIER(handle, qualifier, - tagtype); - clock_gettime_mono(&ts2); - timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; - - if (timediff > audit_timeout) { - smb_time_audit_log("sys_acl_free_qualifier", timediff); - } - - return result; -} - static ssize_t smb_time_audit_getxattr(struct vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size) @@ -2382,28 +2043,10 @@ static struct vfs_fn_pointers vfs_time_audit_fns = { .fset_nt_acl_fn = smb_time_audit_fset_nt_acl, .chmod_acl_fn = smb_time_audit_chmod_acl, .fchmod_acl_fn = smb_time_audit_fchmod_acl, - .sys_acl_get_entry_fn = smb_time_audit_sys_acl_get_entry, - .sys_acl_get_tag_type_fn = smb_time_audit_sys_acl_get_tag_type, - .sys_acl_get_permset_fn = smb_time_audit_sys_acl_get_permset, - .sys_acl_get_qualifier_fn = smb_time_audit_sys_acl_get_qualifier, .sys_acl_get_file_fn = smb_time_audit_sys_acl_get_file, .sys_acl_get_fd_fn = smb_time_audit_sys_acl_get_fd, - .sys_acl_clear_perms_fn = smb_time_audit_sys_acl_clear_perms, - .sys_acl_add_perm_fn = smb_time_audit_sys_acl_add_perm, - .sys_acl_to_text_fn = smb_time_audit_sys_acl_to_text, - .sys_acl_init_fn = smb_time_audit_sys_acl_init, - .sys_acl_create_entry_fn = smb_time_audit_sys_acl_create_entry, - .sys_acl_set_tag_type_fn = smb_time_audit_sys_acl_set_tag_type, - .sys_acl_set_qualifier_fn = smb_time_audit_sys_acl_set_qualifier, - .sys_acl_set_permset_fn = smb_time_audit_sys_acl_set_permset, - .sys_acl_valid_fn = smb_time_audit_sys_acl_valid, .sys_acl_set_file_fn = smb_time_audit_sys_acl_set_file, .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_get_perm_fn = smb_time_audit_sys_acl_get_perm, - .sys_acl_free_text_fn = smb_time_audit_sys_acl_free_text, - .sys_acl_free_acl_fn = smb_time_audit_sys_acl_free_acl, - .sys_acl_free_qualifier_fn = smb_time_audit_sys_acl_free_qualifier, .getxattr_fn = smb_time_audit_getxattr, .fgetxattr_fn = smb_time_audit_fgetxattr, .listxattr_fn = smb_time_audit_listxattr, diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c index 1438f6834d3..d4412a92b65 100644 --- a/source3/smbd/vfs.c +++ b/source3/smbd/vfs.c @@ -2211,39 +2211,6 @@ int smb_vfs_call_fchmod_acl(struct vfs_handle_struct *handle, return handle->fns->fchmod_acl_fn(handle, fsp, mode); } -int smb_vfs_call_sys_acl_get_entry(struct vfs_handle_struct *handle, - SMB_ACL_T theacl, int entry_id, - SMB_ACL_ENTRY_T *entry_p) -{ - VFS_FIND(sys_acl_get_entry); - return handle->fns->sys_acl_get_entry_fn(handle, theacl, entry_id, - entry_p); -} - -int smb_vfs_call_sys_acl_get_tag_type(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_TAG_T *tag_type_p) -{ - VFS_FIND(sys_acl_get_tag_type); - return handle->fns->sys_acl_get_tag_type_fn(handle, entry_d, - tag_type_p); -} - -int smb_vfs_call_sys_acl_get_permset(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d, - SMB_ACL_PERMSET_T *permset_p) -{ - VFS_FIND(sys_acl_get_permset); - return handle->fns->sys_acl_get_permset_fn(handle, entry_d, permset_p); -} - -void * smb_vfs_call_sys_acl_get_qualifier(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry_d) -{ - VFS_FIND(sys_acl_get_qualifier); - return handle->fns->sys_acl_get_qualifier_fn(handle, entry_d); -} - SMB_ACL_T smb_vfs_call_sys_acl_get_file(struct vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type) @@ -2259,72 +2226,6 @@ SMB_ACL_T smb_vfs_call_sys_acl_get_fd(struct vfs_handle_struct *handle, return handle->fns->sys_acl_get_fd_fn(handle, fsp); } -int smb_vfs_call_sys_acl_clear_perms(struct vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset) -{ - VFS_FIND(sys_acl_clear_perms); - return handle->fns->sys_acl_clear_perms_fn(handle, permset); -} - -int smb_vfs_call_sys_acl_add_perm(struct vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm) -{ - VFS_FIND(sys_acl_add_perm); - return handle->fns->sys_acl_add_perm_fn(handle, permset, perm); -} - -char * smb_vfs_call_sys_acl_to_text(struct vfs_handle_struct *handle, - SMB_ACL_T theacl, ssize_t *plen) -{ - VFS_FIND(sys_acl_to_text); - return handle->fns->sys_acl_to_text_fn(handle, theacl, plen); -} - -SMB_ACL_T smb_vfs_call_sys_acl_init(struct vfs_handle_struct *handle, - int count) -{ - VFS_FIND(sys_acl_init); - return handle->fns->sys_acl_init_fn(handle, count); -} - -int smb_vfs_call_sys_acl_create_entry(struct vfs_handle_struct *handle, - SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry) -{ - VFS_FIND(sys_acl_create_entry); - return handle->fns->sys_acl_create_entry_fn(handle, pacl, pentry); -} - -int smb_vfs_call_sys_acl_set_tag_type(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, - SMB_ACL_TAG_T tagtype) -{ - VFS_FIND(sys_acl_set_tag_type); - return handle->fns->sys_acl_set_tag_type_fn(handle, entry, tagtype); -} - -int smb_vfs_call_sys_acl_set_qualifier(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, void *qual) -{ - VFS_FIND(sys_acl_set_qualifier); - return handle->fns->sys_acl_set_qualifier_fn(handle, entry, qual); -} - -int smb_vfs_call_sys_acl_set_permset(struct vfs_handle_struct *handle, - SMB_ACL_ENTRY_T entry, - SMB_ACL_PERMSET_T permset) -{ - VFS_FIND(sys_acl_set_permset); - return handle->fns->sys_acl_set_permset_fn(handle, entry, permset); -} - -int smb_vfs_call_sys_acl_valid(struct vfs_handle_struct *handle, - SMB_ACL_T theacl) -{ - VFS_FIND(sys_acl_valid); - return handle->fns->sys_acl_valid_fn(handle, theacl); -} - int smb_vfs_call_sys_acl_set_file(struct vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl) @@ -2347,36 +2248,6 @@ int smb_vfs_call_sys_acl_delete_def_file(struct vfs_handle_struct *handle, return handle->fns->sys_acl_delete_def_file_fn(handle, path); } -int smb_vfs_call_sys_acl_get_perm(struct vfs_handle_struct *handle, - SMB_ACL_PERMSET_T permset, - SMB_ACL_PERM_T perm) -{ - VFS_FIND(sys_acl_get_perm); - return handle->fns->sys_acl_get_perm_fn(handle, permset, perm); -} - -int smb_vfs_call_sys_acl_free_text(struct vfs_handle_struct *handle, - char *text) -{ - VFS_FIND(sys_acl_free_text); - return handle->fns->sys_acl_free_text_fn(handle, text); -} - -int smb_vfs_call_sys_acl_free_acl(struct vfs_handle_struct *handle, - SMB_ACL_T posix_acl) -{ - VFS_FIND(sys_acl_free_acl); - return handle->fns->sys_acl_free_acl_fn(handle, posix_acl); -} - -int smb_vfs_call_sys_acl_free_qualifier(struct vfs_handle_struct *handle, - void *qualifier, SMB_ACL_TAG_T tagtype) -{ - VFS_FIND(sys_acl_free_qualifier); - return handle->fns->sys_acl_free_qualifier_fn(handle, qualifier, - tagtype); -} - ssize_t smb_vfs_call_getxattr(struct vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size) -- 2.11.4.GIT