summaryrefslogtreecommitdiff
path: root/source3/include/vfs.h
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-09-10 12:44:01 +1000
committerAndrew Bartlett <abartlet@samba.org>2012-09-12 07:06:01 +0200
commite8375ddf2d29b12cfe84ceec7195de957d0a743c (patch)
tree0f25cb893ec23796eeab197889bc251b0bec2db5 /source3/include/vfs.h
parent6638d1036688f7b0f15a1a18c9a251ab0a7ab626 (diff)
downloadsamba-e8375ddf2d29b12cfe84ceec7195de957d0a743c.tar.gz
samba-e8375ddf2d29b12cfe84ceec7195de957d0a743c.tar.bz2
samba-e8375ddf2d29b12cfe84ceec7195de957d0a743c.zip
smbd: Add extra VFS hooks to get the posix ACL as a blob
This will allow us to hash this, rather than the NT ACL it maps to. This will in turn allow us to know if the NT ACL is valid even if we have to change the mapping code. Andrew Bartlett Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Wed Sep 12 07:06:01 CEST 2012 on sn-devel-104
Diffstat (limited to 'source3/include/vfs.h')
-rw-r--r--source3/include/vfs.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 17ec2625a2..8e48803fe7 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -143,6 +143,7 @@
/* Leave at 29 - not yet released. Remove sys_acl functions other than set and get - abartlet */
/* Leave at 29 - not yet released. Added backup_intent bool to files_struct - JRA */
/* Leave at 29 - not yet released. Add durable handle functions - metze/obnox */
+/* Leave at 29 - not yet released. Added sys_acl_blob_get_file and sys_acl_blob_get_fd */
/* Bump to version 30 - Samba 4.0.0 will ship with interface version 30 */
#define SMB_VFS_INTERFACE_VERSION 30
@@ -691,6 +692,12 @@ struct vfs_fn_pointers {
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_blob_get_file_fn)(struct vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type,
+ TALLOC_CTX *mem_ctx, char **blob_description,
+ DATA_BLOB *blob);
+ int (*sys_acl_blob_get_fd_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp,
+ TALLOC_CTX *mem_ctx, char **blob_description,
+ DATA_BLOB *blob);
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);
@@ -1088,6 +1095,17 @@ SMB_ACL_T smb_vfs_call_sys_acl_get_file(struct vfs_handle_struct *handle,
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_blob_get_file(struct vfs_handle_struct *handle,
+ const char *path_p,
+ SMB_ACL_TYPE_T type,
+ TALLOC_CTX *mem_ctx,
+ char **blob_description,
+ DATA_BLOB *blob);
+int smb_vfs_call_sys_acl_blob_get_fd(struct vfs_handle_struct *handle,
+ struct files_struct *fsp,
+ TALLOC_CTX *mem_ctx,
+ char **blob_description,
+ DATA_BLOB *blob);
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);