X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=doas.h;h=c38fca2de968c017516d847c43b76768237c2384;hb=b82ffa68a6436ce3f4c4b480bc9c12ac284b0d99;hp=062c38725583446a49db2668af229f443a103fc6;hpb=27235dd398ab05cf7f992efe2027efc70fa0da0c;p=opendoas.git diff --git a/doas.h b/doas.h index 062c387..c38fca2 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,12 +26,15 @@ struct rule { }; extern struct rule **rules; -extern int nrules, maxrules; +extern int 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 @@ -23,3 +42,18 @@ char **prepenv(struct rule *); #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