summaryrefslogtreecommitdiffabout
path: root/src/comp.c
authorSergey Poznyakoff <gray@gnu.org>2016-03-05 13:14:24 (GMT)
committer Sergey Poznyakoff <gray@gnu.org>2016-03-05 13:22:55 (GMT)
commitad5bd6e401657b9cb0fed04d15cdc6feeef91e15 (patch) (side-by-side diff)
tree59838ad72680ba73145708c7a30a765ec2afdba0 /src/comp.c
parente558ab9db422cfd2bd59a07b72119b67a7598896 (diff)
downloadpies-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') (more/less context) (ignore whitespace changes)
-rw-r--r--src/comp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/comp.c b/src/comp.c
index 851ce5b..18d1d74 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -184,6 +184,7 @@ component_free (struct component *comp)
free_redirector (&comp->redir[0]);
free_redirector (&comp->redir[1]);
grecs_list_free (comp->act_list);
+ pies_acl_free (comp->acl);
pies_acl_free (comp->list_acl);
pies_acl_free (comp->adm_acl);
free (comp);

Return to:

Send suggestions and report system problems to the System administrator.