return result;
}
+static int audit_renameat(vfs_handle_struct *handle,
+ files_struct *srcfsp,
+ const struct smb_filename *smb_fname_src,
+ files_struct *dstfsp,
+ const struct smb_filename *smb_fname_dst)
+{
+ int result;
+
+ result = SMB_VFS_NEXT_RENAMEAT(handle,
+ srcfsp,
+ smb_fname_src,
+ dstfsp,
+ smb_fname_dst);
+
+ syslog(audit_syslog_priority(handle), "renameat %s -> %s %s%s\n",
+ smb_fname_src->base_name,
+ smb_fname_dst->base_name,
+ (result < 0) ? "failed: " : "",
+ (result < 0) ? strerror(errno) : "");
+
+ return result;
+}
+
+
static int audit_unlink(vfs_handle_struct *handle,
const struct smb_filename *smb_fname)
{
.open_fn = audit_open,
.close_fn = audit_close,
.rename_fn = audit_rename,
+ .renameat_fn = audit_renameat,
.unlink_fn = audit_unlink,
.chmod_fn = audit_chmod,
.fchmod_fn = audit_fchmod,