SMB_VFS_OP_READLINK,
SMB_VFS_OP_LINKAT,
SMB_VFS_OP_MKNOD,
+ SMB_VFS_OP_MKNODAT,
SMB_VFS_OP_REALPATH,
SMB_VFS_OP_CHFLAGS,
SMB_VFS_OP_FILE_ID_CREATE,
{ SMB_VFS_OP_READLINK, "readlink" },
{ SMB_VFS_OP_LINKAT, "linkat" },
{ SMB_VFS_OP_MKNOD, "mknod" },
+ { SMB_VFS_OP_MKNODAT, "mknodat" },
{ SMB_VFS_OP_REALPATH, "realpath" },
{ SMB_VFS_OP_CHFLAGS, "chflags" },
{ SMB_VFS_OP_FILE_ID_CREATE, "file_id_create" },
return result;
}
+static int smb_full_audit_mknodat(vfs_handle_struct *handle,
+ files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ mode_t mode,
+ SMB_DEV_T dev)
+{
+ int result;
+
+ result = SMB_VFS_NEXT_MKNODAT(handle,
+ dirfsp,
+ smb_fname,
+ mode,
+ dev);
+
+ do_log(SMB_VFS_OP_MKNODAT, (result >= 0), handle, "%s",
+ smb_fname->base_name);
+
+ return result;
+}
+
static struct smb_filename *smb_full_audit_realpath(vfs_handle_struct *handle,
TALLOC_CTX *ctx,
const struct smb_filename *smb_fname)
.readlink_fn = smb_full_audit_readlink,
.linkat_fn = smb_full_audit_linkat,
.mknod_fn = smb_full_audit_mknod,
+ .mknodat_fn = smb_full_audit_mknodat,
.realpath_fn = smb_full_audit_realpath,
.chflags_fn = smb_full_audit_chflags,
.file_id_create_fn = smb_full_audit_file_id_create,