doas

https://man.openbsd.org/doas.1
git clone anongit@rnpnr.xyz:doas.git
Log | Files | Refs | Feed

doas.h (1467B)


      1 /* $OpenBSD: doas.h,v 1.18 2021/09/07 13:46:07 jcs Exp $ */
      2 /*
      3  * Copyright (c) 2015 Ted Unangst <tedu@openbsd.org>
      4  *
      5  * Permission to use, copy, modify, and distribute this software for any
      6  * purpose with or without fee is hereby granted, provided that the above
      7  * copyright notice and this permission notice appear in all copies.
      8  *
      9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     16  */
     17 
     18 struct rule {
     19 	int action;
     20 	int options;
     21 	const char *ident;
     22 	const char *target;
     23 	const char *cmd;
     24 	const char **cmdargs;
     25 	const char **envlist;
     26 };
     27 
     28 extern struct rule **rules;
     29 extern size_t nrules;
     30 extern int parse_error;
     31 
     32 extern const char *safepath;
     33 
     34 struct passwd;
     35 
     36 char **prepenv(const struct rule *, const struct passwd *,
     37     const struct passwd *);
     38 
     39 int openpersist(int *valid);
     40 int setpersist(int fd);
     41 int clearpersist(void);
     42 
     43 #define PERMIT	1
     44 #define DENY	2
     45 
     46 #define NOPASS		0x1
     47 #define KEEPENV		0x2
     48 #define PERSIST		0x4
     49 #define NOLOG		0x8
     50 
     51 #define AUTH_FAILED	-1
     52 #define AUTH_OK		0
     53 #define AUTH_RETRIES	3