xref: /plan9/sys/src/cmd/auth/authcmdlib.h (revision 5979f96214a33481f1724725761f2ef3585d2237)
1 #pragma lib "./lib.$O.a"
2 
3 enum{
4 	PASSLEN		= 10,
5 	MAXNETCHAL	= 100000,		/* max securenet challenge */
6 	Maxpath		= 256,
7 };
8 
9 #define	KEYDB		"/mnt/keys"
10 #define NETKEYDB	"/mnt/netkeys"
11 #define KEYDBBUF	(sizeof NETKEYDB)	/* enough for any keydb prefix */
12 #define AUTHLOG		"auth"
13 
14 enum
15 {
16 	Nemail		= 10,
17 	Plan9		= 1,
18 	Securenet	= 2,
19 };
20 
21 typedef struct
22 {
23 	char	*user;
24 	char	*postid;
25 	char	*name;
26 	char	*dept;
27 	char	*email[Nemail];
28 } Acctbio;
29 
30 typedef struct {
31 	char	*keys;
32 	char	*msg;
33 	char	*who;
34 	Biobuf 	*b;
35 } Fs;
36 
37 extern Fs fs[3];
38 
39 void	checksum(char*, char*);
40 void	error(char*, ...);
41 void	fail(char*);
42 char*	findkey(char*, char*, char*);
43 char*	findsecret(char*, char*, char*);
44 int	getauthkey(char*);
45 long	getexpiration(char *db, char *u);
46 void	getpass(char*, char*, int, int);
47 int	getsecret(int, char*);
48 int	keyfmt(Fmt*);
49 void	logfail(char*);
50 int	netcheck(void*, long, char*);
51 char*	netdecimal(char*);
52 char*	netresp(char*, long, char*);
53 char*	okpasswd(char*);
54 int	querybio(char*, char*, Acctbio*);
55 void	rdbio(char*, char*, Acctbio*);
56 int	readarg(int, char*, int);
57 int	readfile(char*, char*, int);
58 void	readln(char*, char*, int, int);
59 long	readn(int, void*, long);
60 char*	secureidcheck(char*, char*);
61 char*	setkey(char*, char*, char*);
62 char*	setsecret(char*, char*, char*);
63 int	smartcheck(void*, long, char*);
64 void	succeed(char*);
65 void	wrbio(char*, Acctbio*);
66 int	writefile(char*, char*, int);
67 
68 #pragma	varargck	type	"K"	char*
69