diff options
author | Jeremy Allison <jra@samba.org> | 2008-05-08 18:09:07 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-05-08 18:09:07 -0700 |
commit | 00b2cdf75e9bea25034440054b4acd91a179c86d (patch) | |
tree | 1e049c04c17693bd64c1d8d80a6fd3f0d85c878d /source3/include | |
parent | f7d39653f5c5bea025a77191555231e8a28b25b8 (diff) | |
download | samba-00b2cdf75e9bea25034440054b4acd91a179c86d.tar.gz samba-00b2cdf75e9bea25034440054b4acd91a179c86d.tar.bz2 samba-00b2cdf75e9bea25034440054b4acd91a179c86d.zip |
Yay ! Remove a VFS entry. Removed the set_nt_acl() call,
this can only be done via fset_nt_acl() using an open
file/directory handle. I'd like to do the same with
get_nt_acl() but am concerned about efficiency
problems with "hide unreadable/hide unwritable" when
doing a directory listing (this would mean opening
every file in the dir on list).
Moving closer to rationalizing the ACL model and
maybe moving the POSIX calls into a posix_acl VFS
module rather than having them as first class citizens
of the VFS.
Jeremy.
(This used to be commit f487f742cb903a06fbf2be006ddc9ce9063339ed)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/smbprofile.h | 4 | ||||
-rw-r--r-- | source3/include/vfs.h | 11 | ||||
-rw-r--r-- | source3/include/vfs_macros.h | 3 |
3 files changed, 3 insertions, 15 deletions
diff --git a/source3/include/smbprofile.h b/source3/include/smbprofile.h index 864f2bf90f..f58a6452bf 100644 --- a/source3/include/smbprofile.h +++ b/source3/include/smbprofile.h @@ -631,10 +631,6 @@ enum profile_stats_values #define fget_nt_acl_count __profile_stats_value(PR_VALUE_FGET_NT_ACL, count) #define fget_nt_acl_time __profile_stats_value(PR_VALUE_FGET_NT_ACL, time) - PR_VALUE_SET_NT_ACL, -#define set_nt_acl_count __profile_stats_value(PR_VALUE_SET_NT_ACL, count) -#define set_nt_acl_time __profile_stats_value(PR_VALUE_SET_NT_ACL, time) - PR_VALUE_FSET_NT_ACL, #define fset_nt_acl_count __profile_stats_value(PR_VALUE_FSET_NT_ACL, count) #define fset_nt_acl_time __profile_stats_value(PR_VALUE_FSET_NT_ACL, time) diff --git a/source3/include/vfs.h b/source3/include/vfs.h index c8397164bc..7f285b7770 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -106,8 +106,10 @@ /* Leave at 22 - not yet released. Additional change: add operations for offline files -- ab */ /* Leave at 22 - not yet released. Add the streaminfo call. -- jpeach, vl */ /* Leave at 22 - not yet released. Remove parameter fd from close_fn. - obnox */ +/* Changed to version 23 - remove set_nt_acl call. This can only be done via an + open handle. JRA. */ -#define SMB_VFS_INTERFACE_VERSION 22 +#define SMB_VFS_INTERFACE_VERSION 23 /* to bug old modules which are trying to compile with the old functions */ @@ -208,7 +210,6 @@ typedef enum _vfs_op_type { SMB_VFS_OP_FGET_NT_ACL, SMB_VFS_OP_GET_NT_ACL, SMB_VFS_OP_FSET_NT_ACL, - SMB_VFS_OP_SET_NT_ACL, /* POSIX ACL operations. */ @@ -365,11 +366,6 @@ struct vfs_ops { struct files_struct *fsp, uint32 security_info_sent, struct security_descriptor *psd); - NTSTATUS (*set_nt_acl)(struct vfs_handle_struct *handle, - struct files_struct *fsp, - const char *name, - uint32 security_info_sent, - struct security_descriptor *psd); /* POSIX ACL operations. */ @@ -496,7 +492,6 @@ struct vfs_ops { struct vfs_handle_struct *fget_nt_acl; struct vfs_handle_struct *get_nt_acl; struct vfs_handle_struct *fset_nt_acl; - struct vfs_handle_struct *set_nt_acl; /* POSIX ACL operations. */ diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h index f0a9809ecc..bb3aeba77b 100644 --- a/source3/include/vfs_macros.h +++ b/source3/include/vfs_macros.h @@ -89,7 +89,6 @@ #define SMB_VFS_FGET_NT_ACL(fsp, security_info, ppdesc) ((fsp)->conn->vfs.ops.fget_nt_acl((fsp)->conn->vfs.handles.fget_nt_acl, (fsp), (security_info), (ppdesc))) #define SMB_VFS_GET_NT_ACL(conn, name, security_info, ppdesc) ((conn)->vfs.ops.get_nt_acl((conn)->vfs.handles.get_nt_acl, (name), (security_info), (ppdesc))) #define SMB_VFS_FSET_NT_ACL(fsp, security_info_sent, psd) ((fsp)->conn->vfs.ops.fset_nt_acl((fsp)->conn->vfs.handles.fset_nt_acl, (fsp), (security_info_sent), (psd))) -#define SMB_VFS_SET_NT_ACL(fsp, name, security_info_sent, psd) ((fsp)->conn->vfs.ops.set_nt_acl((fsp)->conn->vfs.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd))) /* POSIX ACL operations. */ #define SMB_VFS_CHMOD_ACL(conn, name, mode) ((conn)->vfs.ops.chmod_acl((conn)->vfs.handles.chmod_acl, (name), (mode))) @@ -215,7 +214,6 @@ #define SMB_VFS_OPAQUE_FGET_NT_ACL(fsp, security_info, ppdesc) ((fsp)->conn->vfs_opaque.ops.fget_nt_acl((fsp)->conn->vfs_opaque.handles.fget_nt_acl, (fsp), (security_info), (ppdesc))) #define SMB_VFS_OPAQUE_GET_NT_ACL(conn, name, security_info, ppdesc) ((conn)->vfs_opaque.ops.get_nt_acl((conn)->vfs_opaque.handles.get_nt_acl, (name), (security_info), (ppdesc))) #define SMB_VFS_OPAQUE_FSET_NT_ACL(fsp, security_info_sent, psd) ((fsp)->conn->vfs_opaque.ops.fset_nt_acl((fsp)->conn->vfs_opaque.handles.fset_nt_acl, (fsp), (security_info_sent), (psd))) -#define SMB_VFS_OPAQUE_SET_NT_ACL(fsp, name, security_info_sent, psd) ((fsp)->conn->vfs_opaque.ops.set_nt_acl((fsp)->conn->vfs_opaque.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd))) /* POSIX ACL operations. */ #define SMB_VFS_OPAQUE_CHMOD_ACL(conn, name, mode) ((conn)->vfs_opaque.ops.chmod_acl((conn)->vfs_opaque.handles.chmod_acl, (name), (mode))) @@ -342,7 +340,6 @@ #define SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, security_info, ppdesc) ((handle)->vfs_next.ops.fget_nt_acl((handle)->vfs_next.handles.fget_nt_acl, (fsp), (security_info), (ppdesc))) #define SMB_VFS_NEXT_GET_NT_ACL(handle, name, security_info, ppdesc) ((handle)->vfs_next.ops.get_nt_acl((handle)->vfs_next.handles.get_nt_acl, (name), (security_info), (ppdesc))) #define SMB_VFS_NEXT_FSET_NT_ACL(handle, fsp, security_info_sent, psd) ((handle)->vfs_next.ops.fset_nt_acl((handle)->vfs_next.handles.fset_nt_acl, (fsp), (security_info_sent), (psd))) -#define SMB_VFS_NEXT_SET_NT_ACL(handle, fsp, name, security_info_sent, psd) ((handle)->vfs_next.ops.set_nt_acl((handle)->vfs_next.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd))) /* POSIX ACL operations. */ #define SMB_VFS_NEXT_CHMOD_ACL(handle, name, mode) ((handle)->vfs_next.ops.chmod_acl((handle)->vfs_next.handles.chmod_acl, (name), (mode))) |