diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2016-03-05 15:14:24 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2016-03-05 15:22:55 +0200 |
commit | ad5bd6e401657b9cb0fed04d15cdc6feeef91e15 (patch) | |
tree | 59838ad72680ba73145708c7a30a765ec2afdba0 /src/comp.c | |
parent | e558ab9db422cfd2bd59a07b72119b67a7598896 (diff) | |
download | pies-ad5bd6e401657b9cb0fed04d15cdc6feeef91e15.tar.gz pies-ad5bd6e401657b9cb0fed04d15cdc6feeef91e15.tar.bz2 |
ACL reference statements.
All ACL keywords can be used in simple statement as well as in block form.
As simple statements, they take a name of an already defined named ACL. E.g.:
defacl forbid {
deny any;
}
component foo {
list-acl forbid;
}
This commit also fixes some eventual double-frees.
* doc/pies.texi: Update.
* src/acl.c (pies_acl)<refcnt>: New member.
(pies_acl_use): New function.
(pies_acl_create): Initialize refcnt.
(pies_acl_destroy): New function.
(pies_acl_free): Rewrite as a wrapper over pies_acl_destroy.
(_parse_sub_acl): Call pies_acl_use when installing a named ACL.
(_acl_common_section_parser): Handle grecs_callback_set_value.
* src/acl.h (pies_acl_destroy)
(pies_acl_use): New function.
* src/comp.c (component_free): Free acl.
Diffstat (limited to 'src/comp.c')
-rw-r--r-- | src/comp.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -186,2 +186,3 @@ component_free (struct component *comp) grecs_list_free (comp->act_list); + pies_acl_free (comp->acl); pies_acl_free (comp->list_acl); |