diff options
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/sysacls.c | 51 |
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. */ |