opendoas

my fork of doas with custom prompt
git clone git://git.kocotian.pl/opendoas.git
Log | Files | Refs | README | LICENSE

commit b7e6671371e489fb6607f9ab883ddeb03895e51d
parent 380865b7ba94280a10cf6b9f55b289b5caab0c3e
Author: deraadt <deraadt>
Date:   Thu, 15 Sep 2016 00:58:23 +0000

use static in the right places to seperate modules better ok tedu

Diffstat:
Mdoas.c | 1-
Mdoas.h | 20+++++++++++++++++++-
Menv.c | 2+-
Mparse.y | 13+++++++------
4 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/doas.c b/doas.c @@ -174,7 +174,6 @@ static void parseconfig(const char *filename, int checkperms) { extern FILE *yyfp; - extern int yyparse(void); struct stat sb; yyfp = fopen(filename, "r"); diff --git a/doas.h b/doas.h @@ -1,4 +1,20 @@ /* $OpenBSD$ */ +/* + * Copyright (c) 2015 Ted Unangst <tedu@openbsd.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + struct rule { int action; int options; @@ -10,13 +26,15 @@ struct rule { }; extern struct rule **rules; -extern int nrules, maxrules; +extern int nrules; extern int parse_errors; size_t arraylen(const char **); char **prepenv(struct rule *); +int yyparse(void); + #define PERMIT 1 #define DENY 2 diff --git a/env.c b/env.c @@ -195,7 +195,7 @@ prepenv(struct rule *rule) NULL }; struct env *env; - + env = createenv(rule); /* if we started with blank, fill some defaults then apply rules */ diff --git a/parse.y b/parse.y @@ -49,13 +49,14 @@ typedef struct { FILE *yyfp; struct rule **rules; -int nrules, maxrules; +int nrules; +static int maxrules; + int parse_errors = 0; -int obsolete_warned = 0; +static int obsolete_warned = 0; -void yyerror(const char *, ...); -int yylex(void); -int yyparse(void); +static void yyerror(const char *, ...); +static int yylex(void); %} @@ -205,7 +206,7 @@ yyerror(const char *fmt, ...) parse_errors++; } -struct keyword { +static struct keyword { const char *word; int token; } keywords[] = {