summaryrefslogtreecommitdiff
path: root/source3/lib/sysacls.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/sysacls.c')
-rw-r--r--source3/lib/sysacls.c51
1 files changed, 49 insertions, 2 deletions
diff --git a/source3/lib/sysacls.c b/source3/lib/sysacls.c
index da62479cd8..22fbaee26f 100644
--- a/source3/lib/sysacls.c
+++ b/source3/lib/sysacls.c
@@ -37,7 +37,14 @@ extern int DEBUGLEVEL;
SMB_ACL_T sys_acl_get_file( const char *path_p, SMB_ACL_TYPE_T type)
SMB_ACL_T sys_acl_get_fd(int fd)
int sys_acl_free( void *obj_p)
-
+ int sys_acl_clear_perms(SMB_ACL_PERMSET_T permset);
+ int sys_acl_add_perm( SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm);
+ char *sys_acl_to_text( SMB_ACL_T acl, ssize_t *plen)
+
+ This next one is not POSIX complient - but we *have* to have it !
+ More POSIX braindamage.
+
+ int sys_acl_get_perm( SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm)
*/
#if defined(HAVE_POSIX_ACLS)
@@ -66,7 +73,7 @@ void *sys_acl_get_qualifier( SMB_ACL_ENTRY_T entry_d)
SMB_ACL_T sys_acl_get_file( const char *path_p, SMB_ACL_TYPE_T type)
{
- sys_acl_get_file( const char *path_p, SMB_ACL_TYPE_T type)
+ return sys_acl_get_file( path_p, type);
}
SMB_ACL_T sys_acl_get_fd(int fd)
@@ -79,6 +86,26 @@ int sys_acl_free( void *obj_p)
return acl_free(obj_p);
}
+int sys_acl_clear_perms(SMB_ACL_PERMSET_T permset)
+{
+ return acl_clear_perms(permset);
+}
+
+int sys_acl_add_perm( SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm)
+{
+ return acl_add_perm(permset, perm);
+}
+
+int sys_acl_get_perm( SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm)
+{
+ return acl_get_perm(permset, perm);
+}
+
+char *sys_acl_to_text( SMB_ACL_T acl, ssize_t *plen)
+{
+ return acl_to_text( acl, plen);
+}
+
#elif defined(HAVE_SOLARIS_ACLS)
#elif defined(HAVE_IRIX_ACLS)
@@ -119,4 +146,24 @@ int sys_acl_free( void *obj_p)
{
return -1;
}
+
+int sys_acl_clear_perms(SMB_ACL_PERMSET_T permset)
+{
+ return -1;
+}
+
+int sys_acl_add_perm( SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm)
+{
+ return -1;
+}
+
+int sys_acl_get_perm( SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm)
+{
+ return (permset & perm) ? 1 : 0;
+}
+
+char *sys_acl_to_text( SMB_ACL_T acl, ssize_t *plen)
+{
+ return NULL;
+}
#endif /* No ACLs. */