X-Git-Url: https://git.armaanb.net/?p=opendoas.git;a=blobdiff_plain;f=doas.h;h=ecf0db222f7fc5101c940fdf39c02517429c9ad8;hp=2f95310d6e5e30a8a1d5fe1501458dce6bc0733e;hb=HEAD;hpb=a3ceebbcdde17d0fbfb0a334ad88cc4b4f73f533 diff --git a/doas.h b/doas.h index 2f95310..ecf0db2 100644 --- a/doas.h +++ b/doas.h @@ -1,4 +1,20 @@ /* $OpenBSD$ */ +/* + * Copyright (c) 2015 Ted Unangst + * + * 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,15 +26,32 @@ struct rule { }; extern struct rule **rules; -extern int nrules, maxrules; +extern size_t nrules; extern int parse_errors; -size_t arraylen(const char **); +extern const char *formerpath; + +struct passwd; -char **prepenv(struct rule *); +char **prepenv(const struct rule *, const struct passwd *, + const struct passwd *); #define PERMIT 1 #define DENY 2 #define NOPASS 0x1 #define KEEPENV 0x2 +#define PERSIST 0x4 +#define NOLOG 0x8 +#define INSULT 0x10 + +int shadowauth(const char *, int); + +#ifdef USE_TIMESTAMP +int timestamp_open(int *, int); +int timestamp_set(int, int); +int timestamp_clear(void); +#endif + +const char * getinsult(void); +void authfail(int);