X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=doas.h;h=1e9a0e599475306424f8768c710b40e5b976f43a;hb=71b759e2542878de5c75a7101f2400cf35ec6299;hp=2f95310d6e5e30a8a1d5fe1501458dce6bc0733e;hpb=a3ceebbcdde17d0fbfb0a334ad88cc4b4f73f533;p=opendoas.git diff --git a/doas.h b/doas.h index 2f95310..1e9a0e5 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,37 @@ 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 + +#ifdef USE_PAM +void pamauth(const char *, const char *, int, int, int); +#endif + +#ifdef USE_SHADOW +void shadowauth(const char *, int); +#endif + +#ifdef USE_TIMESTAMP +int timestamp_open(int *, int); +int timestamp_set(int, int); +int timestamp_clear(void); +#endif + +const char * getinsult(void); +void authfail(void);