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