mirror of
https://github.com/samba-team/samba.git
synced 2025-03-05 20:58:40 +03:00
vfs: RIP SMB_VFS_SYS_ACL_DELETE_DEF_FILE()
.--. .-, .-..-.__ .'(`.-` \_.-'-./` |\_( "\__ __.>\ '; _;---,._| / __/`'--) /.--. : |/' _.--.<| / | | _..-' `\ /' /` /_/ _/_/ >_.-``-. `Y /' _;---.`|/)))) '` .-''. \|: .' __, .-'"` .'--._ `-: \/: /' '.\ _|_ /.'`\ :; /' `- `-|-` -` | | | :.; : | .-'~^~`-. |: | .' _ _ `. |:. | | |_) | |_) | :. : | | | \ | | | : ; | | | : ; | | SMB_VFS | : ; | | SYS_ACL | : ; | |DELETE_DEF | .jgs. : ; | FILE | -."-/\\\/:::. `\."-._'."-"_\\-| |///."- " -."-.\\"-."//.-".`-."_\\-.".-\\`=.........=`//-". Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Noel Power <npower@samba.org>
This commit is contained in:
parent
bf34438ef5
commit
569474f153
@ -832,13 +832,6 @@ static int skel_sys_acl_set_fd(vfs_handle_struct *handle,
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int skel_sys_acl_delete_def_fd(vfs_handle_struct *handle,
|
||||
struct files_struct *fsp)
|
||||
{
|
||||
@ -1093,7 +1086,6 @@ static struct vfs_fn_pointers skel_opaque_fns = {
|
||||
.sys_acl_blob_get_file_fn = skel_sys_acl_blob_get_file,
|
||||
.sys_acl_blob_get_fd_fn = skel_sys_acl_blob_get_fd,
|
||||
.sys_acl_set_fd_fn = skel_sys_acl_set_fd,
|
||||
.sys_acl_delete_def_file_fn = skel_sys_acl_delete_def_file,
|
||||
.sys_acl_delete_def_fd_fn = skel_sys_acl_delete_def_fd,
|
||||
|
||||
/* EA operations. */
|
||||
|
@ -1093,12 +1093,6 @@ static int skel_sys_acl_set_fd(vfs_handle_struct *handle,
|
||||
return SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, type, theacl);
|
||||
}
|
||||
|
||||
static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname)
|
||||
{
|
||||
return SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname);
|
||||
}
|
||||
|
||||
static int skel_sys_acl_delete_def_fd(vfs_handle_struct *handle,
|
||||
struct files_struct *fsp)
|
||||
{
|
||||
@ -1397,7 +1391,6 @@ static struct vfs_fn_pointers skel_transparent_fns = {
|
||||
.sys_acl_blob_get_file_fn = skel_sys_acl_blob_get_file,
|
||||
.sys_acl_blob_get_fd_fn = skel_sys_acl_blob_get_fd,
|
||||
.sys_acl_set_fd_fn = skel_sys_acl_set_fd,
|
||||
.sys_acl_delete_def_file_fn = skel_sys_acl_delete_def_file,
|
||||
.sys_acl_delete_def_fd_fn = skel_sys_acl_delete_def_fd,
|
||||
|
||||
/* EA operations. */
|
||||
|
@ -353,6 +353,7 @@
|
||||
* Version 45 - Add SMB_VFS_FREADDIR_ATTR
|
||||
* Version 45 - Remove SMB_VFS_READDIR_ATTR
|
||||
* Version 45 - Add SMB_VFS_SYS_ACL_DELETE_DEF_FD
|
||||
* Version 45 - Remove SMB_VFS_SYS_ACL_DELETE_DEF_FILE
|
||||
*/
|
||||
|
||||
#define SMB_VFS_INTERFACE_VERSION 45
|
||||
@ -1225,8 +1226,6 @@ struct vfs_fn_pointers {
|
||||
struct files_struct *fsp,
|
||||
SMB_ACL_TYPE_T type,
|
||||
SMB_ACL_T theacl);
|
||||
int (*sys_acl_delete_def_file_fn)(struct vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname);
|
||||
int (*sys_acl_delete_def_fd_fn)(struct vfs_handle_struct *handle,
|
||||
struct files_struct *fsp);
|
||||
|
||||
@ -1735,8 +1734,6 @@ int smb_vfs_call_sys_acl_set_fd(struct vfs_handle_struct *handle,
|
||||
struct files_struct *fsp,
|
||||
SMB_ACL_TYPE_T type,
|
||||
SMB_ACL_T theacl);
|
||||
int smb_vfs_call_sys_acl_delete_def_file(struct vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname);
|
||||
int smb_vfs_call_sys_acl_delete_def_fd(struct vfs_handle_struct *handle,
|
||||
struct files_struct *fsp);
|
||||
ssize_t smb_vfs_call_getxattr(struct vfs_handle_struct *handle,
|
||||
@ -2141,8 +2138,6 @@ int vfs_not_implemented_sys_acl_set_fd(vfs_handle_struct *handle,
|
||||
struct files_struct *fsp,
|
||||
SMB_ACL_TYPE_T type,
|
||||
SMB_ACL_T theacl);
|
||||
int vfs_not_implemented_sys_acl_delete_def_file(vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname);
|
||||
int vfs_not_implemented_sys_acl_delete_def_fd(vfs_handle_struct *handle,
|
||||
files_struct *fsp);
|
||||
ssize_t vfs_not_implemented_getxattr(vfs_handle_struct *handle,
|
||||
|
@ -509,11 +509,6 @@
|
||||
#define SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, type, theacl) \
|
||||
smb_vfs_call_sys_acl_set_fd((handle)->next, (fsp), (type), (theacl))
|
||||
|
||||
#define SMB_VFS_SYS_ACL_DELETE_DEF_FILE(conn, smb_fname) \
|
||||
smb_vfs_call_sys_acl_delete_def_file((conn)->vfs_handles, (smb_fname))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname) \
|
||||
smb_vfs_call_sys_acl_delete_def_file((handle)->next, (smb_fname))
|
||||
|
||||
#define SMB_VFS_SYS_ACL_DELETE_DEF_FD(fsp) \
|
||||
smb_vfs_call_sys_acl_delete_def_fd((fsp)->conn->vfs_handles, (fsp))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FD(handle, fsp) \
|
||||
|
@ -3235,12 +3235,6 @@ static int vfswrap_sys_acl_set_fd(vfs_handle_struct *handle,
|
||||
theacl);
|
||||
}
|
||||
|
||||
static int vfswrap_sys_acl_delete_def_file(vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname)
|
||||
{
|
||||
return sys_acl_delete_def_file(handle, smb_fname);
|
||||
}
|
||||
|
||||
static int vfswrap_sys_acl_delete_def_fd(vfs_handle_struct *handle,
|
||||
files_struct *fsp)
|
||||
{
|
||||
@ -3857,7 +3851,6 @@ static struct vfs_fn_pointers vfs_default_fns = {
|
||||
.sys_acl_blob_get_file_fn = posix_sys_acl_blob_get_file,
|
||||
.sys_acl_blob_get_fd_fn = posix_sys_acl_blob_get_fd,
|
||||
.sys_acl_set_fd_fn = vfswrap_sys_acl_set_fd,
|
||||
.sys_acl_delete_def_file_fn = vfswrap_sys_acl_delete_def_file,
|
||||
.sys_acl_delete_def_fd_fn = vfswrap_sys_acl_delete_def_fd,
|
||||
|
||||
/* EA operations. */
|
||||
|
@ -201,7 +201,6 @@ typedef enum _vfs_op_type {
|
||||
SMB_VFS_OP_SYS_ACL_BLOB_GET_FILE,
|
||||
SMB_VFS_OP_SYS_ACL_BLOB_GET_FD,
|
||||
SMB_VFS_OP_SYS_ACL_SET_FD,
|
||||
SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE,
|
||||
SMB_VFS_OP_SYS_ACL_DELETE_DEF_FD,
|
||||
|
||||
/* EA operations. */
|
||||
@ -333,7 +332,6 @@ static struct {
|
||||
{ SMB_VFS_OP_SYS_ACL_BLOB_GET_FILE, "sys_acl_blob_get_file" },
|
||||
{ SMB_VFS_OP_SYS_ACL_BLOB_GET_FD, "sys_acl_blob_get_fd" },
|
||||
{ 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_DELETE_DEF_FD, "sys_acl_delete_def_fd" },
|
||||
{ SMB_VFS_OP_GETXATTR, "getxattr" },
|
||||
{ SMB_VFS_OP_GETXATTRAT_SEND, "getxattrat_send" },
|
||||
@ -2612,22 +2610,6 @@ static int smb_full_audit_sys_acl_set_fd(vfs_handle_struct *handle,
|
||||
return result;
|
||||
}
|
||||
|
||||
static int smb_full_audit_sys_acl_delete_def_file(vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname);
|
||||
|
||||
do_log(SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE,
|
||||
(result >= 0),
|
||||
handle,
|
||||
"%s",
|
||||
smb_fname_str_do_log(handle->conn, smb_fname));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static int smb_full_audit_sys_acl_delete_def_fd(vfs_handle_struct *handle,
|
||||
struct files_struct *fsp)
|
||||
{
|
||||
@ -3022,7 +3004,6 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
|
||||
.sys_acl_blob_get_file_fn = smb_full_audit_sys_acl_blob_get_file,
|
||||
.sys_acl_blob_get_fd_fn = smb_full_audit_sys_acl_blob_get_fd,
|
||||
.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_delete_def_fd_fn = smb_full_audit_sys_acl_delete_def_fd,
|
||||
.getxattr_fn = smb_full_audit_getxattr,
|
||||
.getxattrat_send_fn = smb_full_audit_getxattrat_send,
|
||||
|
@ -836,13 +836,6 @@ int vfs_not_implemented_sys_acl_set_fd(vfs_handle_struct *handle,
|
||||
return -1;
|
||||
}
|
||||
|
||||
int vfs_not_implemented_sys_acl_delete_def_file(vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int vfs_not_implemented_sys_acl_delete_def_fd(vfs_handle_struct *handle,
|
||||
struct files_struct *fsp)
|
||||
{
|
||||
@ -1097,7 +1090,6 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
|
||||
.sys_acl_blob_get_file_fn = vfs_not_implemented_sys_acl_blob_get_file,
|
||||
.sys_acl_blob_get_fd_fn = vfs_not_implemented_sys_acl_blob_get_fd,
|
||||
.sys_acl_set_fd_fn = vfs_not_implemented_sys_acl_set_fd,
|
||||
.sys_acl_delete_def_file_fn = vfs_not_implemented_sys_acl_delete_def_file,
|
||||
.sys_acl_delete_def_fd_fn = vfs_not_implemented_sys_acl_delete_def_fd,
|
||||
|
||||
/* EA operations. */
|
||||
|
@ -2428,26 +2428,6 @@ static int smb_time_audit_sys_acl_set_fd(vfs_handle_struct *handle,
|
||||
return result;
|
||||
}
|
||||
|
||||
static int smb_time_audit_sys_acl_delete_def_file(vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname)
|
||||
{
|
||||
int result;
|
||||
struct timespec ts1,ts2;
|
||||
double timediff;
|
||||
|
||||
clock_gettime_mono(&ts1);
|
||||
result = SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname);
|
||||
clock_gettime_mono(&ts2);
|
||||
timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
|
||||
|
||||
if (timediff > audit_timeout) {
|
||||
smb_time_audit_log_fname("sys_acl_delete_def_file", timediff,
|
||||
smb_fname->base_name);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static int smb_time_audit_sys_acl_delete_def_fd(vfs_handle_struct *handle,
|
||||
files_struct *fsp)
|
||||
{
|
||||
@ -2855,7 +2835,6 @@ static struct vfs_fn_pointers vfs_time_audit_fns = {
|
||||
.sys_acl_blob_get_file_fn = smb_time_audit_sys_acl_blob_get_file,
|
||||
.sys_acl_blob_get_fd_fn = smb_time_audit_sys_acl_blob_get_fd,
|
||||
.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_delete_def_fd_fn = smb_time_audit_sys_acl_delete_def_fd,
|
||||
.getxattr_fn = smb_time_audit_getxattr,
|
||||
.getxattrat_send_fn = smb_time_audit_getxattrat_send,
|
||||
|
@ -2782,13 +2782,6 @@ int smb_vfs_call_sys_acl_set_fd(struct vfs_handle_struct *handle,
|
||||
return handle->fns->sys_acl_set_fd_fn(handle, fsp, type, theacl);
|
||||
}
|
||||
|
||||
int smb_vfs_call_sys_acl_delete_def_file(struct vfs_handle_struct *handle,
|
||||
const struct smb_filename *smb_fname)
|
||||
{
|
||||
VFS_FIND(sys_acl_delete_def_file);
|
||||
return handle->fns->sys_acl_delete_def_file_fn(handle, smb_fname);
|
||||
}
|
||||
|
||||
int smb_vfs_call_sys_acl_delete_def_fd(struct vfs_handle_struct *handle,
|
||||
struct files_struct *fsp)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user