diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-08-13 20:03:48 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-08-15 11:44:50 +1000 |
commit | e25830dcd87387a237b96f0d70deb204a5bf0a54 (patch) | |
tree | 3bd7838560de386df5bb935b9e94b4ba8436d3d8 /source3/modules | |
parent | a63a2a72ebb3d9c9a41c5519c85e8b294f1110a8 (diff) | |
download | samba-e25830dcd87387a237b96f0d70deb204a5bf0a54.tar.gz samba-e25830dcd87387a237b96f0d70deb204a5bf0a54.tar.bz2 samba-e25830dcd87387a237b96f0d70deb204a5bf0a54.zip |
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
Diffstat (limited to 'source3/modules')
-rw-r--r-- | source3/modules/vfs_default.c | 102 | ||||
-rw-r--r-- | source3/modules/vfs_full_audit.c | 302 | ||||
-rw-r--r-- | source3/modules/vfs_time_audit.c | 357 |
3 files changed, 0 insertions, 761 deletions
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 002a5501fd..42671a1dbe 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 3199503e52..48198e7fa5 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 9b42ec9d2d..4a400bd17d 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, |