Only apply masks on non-default ACL entries when setting the ACL.
[Samba.git] / source3 / modules / vfs_irixacl.c
blobb14abcca47cfec53791a3c03ac0350c4ed516ebe
1 /*
2 Unix SMB/Netbios implementation.
3 VFS module to get and set irix acls
4 Copyright (C) Michael Adam 2006,2008
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include "includes.h"
21 #include "system/filesys.h"
22 #include "smbd/smbd.h"
23 #include "modules/vfs_irixacl.h"
26 /* prototypes for private functions first - for clarity */
28 /* public functions - the api */
30 SMB_ACL_T irixacl_sys_acl_get_file(vfs_handle_struct *handle,
31 const char *path_p,
32 SMB_ACL_TYPE_T type)
34 errno = ENOTSUP;
35 return NULL;
38 SMB_ACL_T irixacl_sys_acl_get_fd(vfs_handle_struct *handle,
39 files_struct *fsp)
41 errno = ENOTSUP;
42 return NULL;
45 int irixacl_sys_acl_set_file(vfs_handle_struct *handle,
46 const char *name,
47 SMB_ACL_TYPE_T type,
48 SMB_ACL_T theacl)
50 errno = ENOTSUP;
51 return -1;
54 int irixacl_sys_acl_set_fd(vfs_handle_struct *handle,
55 files_struct *fsp,
56 SMB_ACL_T theacl)
58 errno = ENOTSUP;
59 return -1;
62 int irixacl_sys_acl_delete_def_file(vfs_handle_struct *handle,
63 const char *path)
65 errno = ENOTSUP;
66 return -1;
69 /* private functions */
71 /* VFS operations structure */
73 static struct vfs_fn_pointers irixacl_fns = {
74 .sys_acl_get_file = irixacl_sys_acl_get_file,
75 .sys_acl_get_fd = irixacl_sys_acl_get_fd,
76 .sys_acl_set_file = irixacl_sys_acl_set_file,
77 .sys_acl_set_fd = irixacl_sys_acl_set_fd,
78 .sys_acl_delete_def_file = irixacl_sys_acl_delete_def_file,
81 NTSTATUS vfs_irixacl_init(void);
82 NTSTATUS vfs_irixacl_init(void)
84 return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "irixacl",
85 &irixacl_fns);
88 /* ENTE */