mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
vfs: Remove type parameter from sys_acl_blob_get_{fd,file}
This interface actually needs to match the get_nt_acl interface in that the system ACL implmenetation may not be posix ACLs, and the blob is not meant to be enforced to be of a particular system ACL structure. Andrew Bartlett
This commit is contained in:
parent
c8ade07760
commit
1f36ec1293
@ -595,7 +595,7 @@ static SMB_ACL_T skel_sys_acl_get_fd(vfs_handle_struct *handle,
|
||||
return (SMB_ACL_T)NULL;
|
||||
}
|
||||
|
||||
static int skel_sys_acl_blob_get_file(vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type, TALLOC_CTX *mem_ctx, char **blob_description, DATA_BLOB *blob)
|
||||
static int skel_sys_acl_blob_get_file(vfs_handle_struct *handle, const char *path_p, TALLOC_CTX *mem_ctx, char **blob_description, DATA_BLOB *blob)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
|
@ -708,12 +708,12 @@ static SMB_ACL_T skel_sys_acl_get_fd(vfs_handle_struct *handle,
|
||||
return SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp, mem_ctx);
|
||||
}
|
||||
|
||||
static int skel_sys_acl_blob_get_file(vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type,
|
||||
static int skel_sys_acl_blob_get_file(vfs_handle_struct *handle, const char *path_p,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
char **blob_description,
|
||||
DATA_BLOB *blob)
|
||||
{
|
||||
return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, type, mem_ctx, blob_description, blob);
|
||||
return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, mem_ctx, blob_description, blob);
|
||||
}
|
||||
|
||||
static int skel_sys_acl_blob_get_fd(vfs_handle_struct *handle, files_struct *fsp,
|
||||
|
@ -146,6 +146,7 @@
|
||||
/* 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 */
|
||||
/* Leave at 30 - not yet released. Added conn->cwd to save vfs_GetWd() calls. */
|
||||
/* Leave at 30 - not yet released. Changed sys_acl_blob_get_file interface to remove type */
|
||||
#define SMB_VFS_INTERFACE_VERSION 30
|
||||
|
||||
/*
|
||||
@ -701,10 +702,12 @@ struct vfs_fn_pointers {
|
||||
SMB_ACL_T (*sys_acl_get_fd_fn)(struct vfs_handle_struct *handle,
|
||||
struct files_struct *fsp,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
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,
|
||||
int (*sys_acl_blob_get_file_fn)(struct vfs_handle_struct *handle,
|
||||
const char *path_p,
|
||||
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,
|
||||
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);
|
||||
@ -1110,7 +1113,6 @@ SMB_ACL_T smb_vfs_call_sys_acl_get_fd(struct vfs_handle_struct *handle,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
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);
|
||||
|
@ -439,10 +439,10 @@
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp, mem_ctx) \
|
||||
smb_vfs_call_sys_acl_get_fd((handle)->next, (fsp), (mem_ctx))
|
||||
|
||||
#define SMB_VFS_SYS_ACL_BLOB_GET_FILE(conn, path_p, type, mem_ctx, blob_description, blob) \
|
||||
smb_vfs_call_sys_acl_blob_get_file((conn)->vfs_handles, (path_p), (type), (mem_ctx), (blob_description), (blob))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, type, mem_ctx, blob_description, blob) \
|
||||
smb_vfs_call_sys_acl_blob_get_file((handle)->next, (path_p), (type), (mem_ctx), (blob_description), (blob))
|
||||
#define SMB_VFS_SYS_ACL_BLOB_GET_FILE(conn, path_p, mem_ctx, blob_description, blob) \
|
||||
smb_vfs_call_sys_acl_blob_get_file((conn)->vfs_handles, (path_p), (mem_ctx), (blob_description), (blob))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, mem_ctx, blob_description, blob) \
|
||||
smb_vfs_call_sys_acl_blob_get_file((handle)->next, (path_p), (mem_ctx), (blob_description), (blob))
|
||||
|
||||
#define SMB_VFS_SYS_ACL_BLOB_GET_FD(fsp, mem_ctx, blob_description, blob) \
|
||||
smb_vfs_call_sys_acl_blob_get_fd((fsp)->conn->vfs_handles, (fsp), (mem_ctx), (blob_description), (blob))
|
||||
|
@ -1835,14 +1835,13 @@ static SMB_ACL_T smb_full_audit_sys_acl_get_fd(vfs_handle_struct *handle,
|
||||
|
||||
static int smb_full_audit_sys_acl_blob_get_file(vfs_handle_struct *handle,
|
||||
const char *path_p,
|
||||
SMB_ACL_TYPE_T type,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
char **blob_description,
|
||||
DATA_BLOB *blob)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, type, mem_ctx, blob_description, blob);
|
||||
result = SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, mem_ctx, blob_description, blob);
|
||||
|
||||
do_log(SMB_VFS_OP_SYS_ACL_BLOB_GET_FILE, (result >= 0), handle,
|
||||
"%s", path_p);
|
||||
|
@ -1818,7 +1818,6 @@ static SMB_ACL_T smb_time_audit_sys_acl_get_fd(vfs_handle_struct *handle,
|
||||
|
||||
static int smb_time_audit_sys_acl_blob_get_file(vfs_handle_struct *handle,
|
||||
const char *path_p,
|
||||
SMB_ACL_TYPE_T type,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
char **blob_description,
|
||||
DATA_BLOB *blob)
|
||||
@ -1828,7 +1827,7 @@ static int smb_time_audit_sys_acl_blob_get_file(vfs_handle_struct *handle,
|
||||
double timediff;
|
||||
|
||||
clock_gettime_mono(&ts1);
|
||||
result = SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, type, mem_ctx, blob_description, blob);
|
||||
result = SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, mem_ctx, blob_description, blob);
|
||||
clock_gettime_mono(&ts2);
|
||||
timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
|
||||
|
||||
|
@ -2240,13 +2240,12 @@ SMB_ACL_T smb_vfs_call_sys_acl_get_fd(struct vfs_handle_struct *handle,
|
||||
|
||||
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)
|
||||
{
|
||||
VFS_FIND(sys_acl_blob_get_file);
|
||||
return handle->fns->sys_acl_blob_get_file_fn(handle, path_p, type, mem_ctx, blob_description, blob);
|
||||
return handle->fns->sys_acl_blob_get_file_fn(handle, path_p, mem_ctx, blob_description, blob);
|
||||
}
|
||||
|
||||
int smb_vfs_call_sys_acl_blob_get_fd(struct vfs_handle_struct *handle,
|
||||
|
Loading…
Reference in New Issue
Block a user