xref: /plan9/sys/src/cmd/auth/authcmdlib.h (revision 5979f96214a33481f1724725761f2ef3585d2237)
19a747e4fSDavid du Colombier #pragma lib "./lib.$O.a"
29a747e4fSDavid du Colombier 
39a747e4fSDavid du Colombier enum{
49a747e4fSDavid du Colombier 	PASSLEN		= 10,
59a747e4fSDavid du Colombier 	MAXNETCHAL	= 100000,		/* max securenet challenge */
69a747e4fSDavid du Colombier 	Maxpath		= 256,
79a747e4fSDavid du Colombier };
89a747e4fSDavid du Colombier 
99a747e4fSDavid du Colombier #define	KEYDB		"/mnt/keys"
109a747e4fSDavid du Colombier #define NETKEYDB	"/mnt/netkeys"
119a747e4fSDavid du Colombier #define KEYDBBUF	(sizeof NETKEYDB)	/* enough for any keydb prefix */
129a747e4fSDavid du Colombier #define AUTHLOG		"auth"
139a747e4fSDavid du Colombier 
149a747e4fSDavid du Colombier enum
159a747e4fSDavid du Colombier {
169a747e4fSDavid du Colombier 	Nemail		= 10,
179a747e4fSDavid du Colombier 	Plan9		= 1,
189a747e4fSDavid du Colombier 	Securenet	= 2,
199a747e4fSDavid du Colombier };
209a747e4fSDavid du Colombier 
219a747e4fSDavid du Colombier typedef struct
229a747e4fSDavid du Colombier {
239a747e4fSDavid du Colombier 	char	*user;
249a747e4fSDavid du Colombier 	char	*postid;
259a747e4fSDavid du Colombier 	char	*name;
269a747e4fSDavid du Colombier 	char	*dept;
279a747e4fSDavid du Colombier 	char	*email[Nemail];
289a747e4fSDavid du Colombier } Acctbio;
299a747e4fSDavid du Colombier 
309a747e4fSDavid du Colombier typedef struct {
319a747e4fSDavid du Colombier 	char	*keys;
329a747e4fSDavid du Colombier 	char	*msg;
339a747e4fSDavid du Colombier 	char	*who;
349a747e4fSDavid du Colombier 	Biobuf 	*b;
359a747e4fSDavid du Colombier } Fs;
369a747e4fSDavid du Colombier 
379a747e4fSDavid du Colombier extern Fs fs[3];
389a747e4fSDavid du Colombier 
39*3ff48bf5SDavid du Colombier void	checksum(char*, char*);
409a747e4fSDavid du Colombier void	error(char*, ...);
41*3ff48bf5SDavid du Colombier void	fail(char*);
42*3ff48bf5SDavid du Colombier char*	findkey(char*, char*, char*);
43*3ff48bf5SDavid du Colombier char*	findsecret(char*, char*, char*);
44*3ff48bf5SDavid du Colombier int	getauthkey(char*);
459a747e4fSDavid du Colombier long	getexpiration(char *db, char *u);
469a747e4fSDavid du Colombier void	getpass(char*, char*, int, int);
479a747e4fSDavid du Colombier int	getsecret(int, char*);
489a747e4fSDavid du Colombier int	keyfmt(Fmt*);
49*3ff48bf5SDavid du Colombier void	logfail(char*);
50*3ff48bf5SDavid du Colombier int	netcheck(void*, long, char*);
51*3ff48bf5SDavid du Colombier char*	netdecimal(char*);
52*3ff48bf5SDavid du Colombier char*	netresp(char*, long, char*);
53*3ff48bf5SDavid du Colombier char*	okpasswd(char*);
549a747e4fSDavid du Colombier int	querybio(char*, char*, Acctbio*);
55*3ff48bf5SDavid du Colombier void	rdbio(char*, char*, Acctbio*);
56*3ff48bf5SDavid du Colombier int	readarg(int, char*, int);
57*3ff48bf5SDavid du Colombier int	readfile(char*, char*, int);
58*3ff48bf5SDavid du Colombier void	readln(char*, char*, int, int);
59*3ff48bf5SDavid du Colombier long	readn(int, void*, long);
60*3ff48bf5SDavid du Colombier char*	secureidcheck(char*, char*);
61*3ff48bf5SDavid du Colombier char*	setkey(char*, char*, char*);
62*3ff48bf5SDavid du Colombier char*	setsecret(char*, char*, char*);
63*3ff48bf5SDavid du Colombier int	smartcheck(void*, long, char*);
64*3ff48bf5SDavid du Colombier void	succeed(char*);
659a747e4fSDavid du Colombier void	wrbio(char*, Acctbio*);
66*3ff48bf5SDavid du Colombier int	writefile(char*, char*, int);
679a747e4fSDavid du Colombier 
689a747e4fSDavid du Colombier #pragma	varargck	type	"K"	char*
69