]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: VFS: vfs_full_audit. Implement mkdirat().
authorJeremy Allison <jra@samba.org>
Wed, 4 Sep 2019 22:48:23 +0000 (15:48 -0700)
committerRalph Boehme <slow@samba.org>
Wed, 11 Sep 2019 18:24:29 +0000 (18:24 +0000)
Currently identical to mkdir().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/modules/vfs_full_audit.c

index afdf779491fc2e40cebf2a800e20c9f7988b0d54..a3011887a5d8cba1a7027e5d3cfd22211a84b06a 100644 (file)
@@ -109,6 +109,7 @@ typedef enum _vfs_op_type {
        SMB_VFS_OP_TELLDIR,
        SMB_VFS_OP_REWINDDIR,
        SMB_VFS_OP_MKDIR,
+       SMB_VFS_OP_MKDIRAT,
        SMB_VFS_OP_RMDIR,
        SMB_VFS_OP_CLOSEDIR,
 
@@ -255,6 +256,7 @@ static struct {
        { SMB_VFS_OP_TELLDIR,   "telldir" },
        { SMB_VFS_OP_REWINDDIR, "rewinddir" },
        { SMB_VFS_OP_MKDIR,     "mkdir" },
+       { SMB_VFS_OP_MKDIRAT,   "mkdirat" },
        { SMB_VFS_OP_RMDIR,     "rmdir" },
        { SMB_VFS_OP_CLOSEDIR,  "closedir" },
        { SMB_VFS_OP_OPEN,      "open" },
@@ -1009,6 +1011,24 @@ static int smb_full_audit_mkdir(vfs_handle_struct *handle,
        return result;
 }
 
+static int smb_full_audit_mkdirat(vfs_handle_struct *handle,
+                       struct files_struct *dirfsp,
+                       const struct smb_filename *smb_fname,
+                       mode_t mode)
+{
+       int result;
+
+       result = SMB_VFS_NEXT_MKDIRAT(handle,
+                       dirfsp,
+                       smb_fname,
+                       mode);
+
+       do_log(SMB_VFS_OP_MKDIRAT, (result >= 0), handle, "%s",
+               smb_fname->base_name);
+
+       return result;
+}
+
 static int smb_full_audit_rmdir(vfs_handle_struct *handle,
                       const struct smb_filename *smb_fname)
 {
@@ -2860,6 +2880,7 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
        .telldir_fn = smb_full_audit_telldir,
        .rewind_dir_fn = smb_full_audit_rewinddir,
        .mkdir_fn = smb_full_audit_mkdir,
+       .mkdirat_fn = smb_full_audit_mkdirat,
        .rmdir_fn = smb_full_audit_rmdir,
        .closedir_fn = smb_full_audit_closedir,
        .open_fn = smb_full_audit_open,