diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-10-12 23:41:21 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-10-12 23:42:04 +0300 |
commit | 8a4ba77068e5d7f6eab2cc1c1c10f31dcbccf7a6 (patch) | |
tree | c70f38d943c778684bb9dbfc7db018e7efb21bf1 /src/acl.h | |
parent | af04ed630f18e9003756317cc627a11084d0d59a (diff) | |
download | pies-8a4ba77068e5d7f6eab2cc1c1c10f31dcbccf7a6.tar.gz pies-8a4ba77068e5d7f6eab2cc1c1c10f31dcbccf7a6.tar.bz2 |
Fix make distcheck and check-docs.
* doc/Makefile.am: Fix `check-*' goals.
* doc/pies.texi: Update and rearrange material.
Document new configuration.
* lib/Makefile.am (libpies_a_SOURCES): Remove nls.c
* src/Makefile.am (EXTRA_DIST): Remove pies.rc, add
pp-setup.
(INCLUDES): Add $(top_builddir)/gnu
* src/pies.c: Minor changes.
* src/progman.c: Minor changes.
* README-hacking: New file.
Diffstat (limited to 'src/acl.h')
-rw-r--r-- | src/acl.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/acl.h b/src/acl.h new file mode 100644 index 0000000..8d7725e --- /dev/null +++ b/src/acl.h @@ -0,0 +1,43 @@ +/* This file is part of Pies + Copyright (C) 2009 Sergey Poznyakoff + + Pies is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + Pies is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Pies. If not, see <http://www.gnu.org/licenses/>. */ + +/* acl.c */ +typedef struct pies_acl *pies_acl_t; + +struct acl_input +{ + struct sockaddr *addr; + socklen_t addrlen; + const char *user; + const char **groups; +}; + +pies_acl_t pies_acl_create (const char *name, grecs_locus_t *locus); +int pies_acl_check (pies_acl_t acl, struct acl_input *input, int result); +int parse_acl_line (grecs_locus_t *locus, int allow, pies_acl_t acl, + grecs_value_t *value); +pies_acl_t pies_acl_lookup (const char *name); +int pies_acl_install (pies_acl_t acl, grecs_locus_t * locus); + +int assert_grecs_value_type (grecs_locus_t *locus, + const grecs_value_t *value, int type); + +extern struct grecs_keyword acl_keywords[]; +extern int acl_section_parser (enum grecs_callback_command cmd, + grecs_locus_t *locus, + void *varptr, + grecs_value_t *value, + void *cb_data); |