From ad5bd6e401657b9cb0fed04d15cdc6feeef91e15 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Sat, 5 Mar 2016 15:14:24 +0200 Subject: 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): 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. --- src/comp.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/comp.c') 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); -- cgit v1.2.1