xref: /plan9/sys/src/cmd/auth/lib/log.c (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1*219b2ee8SDavid du Colombier #include <u.h>
2*219b2ee8SDavid du Colombier #include <libc.h>
3*219b2ee8SDavid du Colombier #include <auth.h>
4*219b2ee8SDavid du Colombier #include "authsrv.h"
5*219b2ee8SDavid du Colombier 
6*219b2ee8SDavid du Colombier static void
7*219b2ee8SDavid du Colombier record(char *db, char *user, char *msg)
8*219b2ee8SDavid du Colombier {
9*219b2ee8SDavid du Colombier 	char buf[sizeof(KEYDB)+sizeof(NETKEYDB)+NAMELEN+6];
10*219b2ee8SDavid du Colombier 	int fd;
11*219b2ee8SDavid du Colombier 
12*219b2ee8SDavid du Colombier 	sprint(buf, "%s/%s/log", db, user);
13*219b2ee8SDavid du Colombier 	fd = open(buf, OWRITE);
14*219b2ee8SDavid du Colombier 	if(fd < 0)
15*219b2ee8SDavid du Colombier 		return;
16*219b2ee8SDavid du Colombier 	write(fd, msg, strlen(msg));
17*219b2ee8SDavid du Colombier 	close(fd);
18*219b2ee8SDavid du Colombier 	return;
19*219b2ee8SDavid du Colombier }
20*219b2ee8SDavid du Colombier 
21*219b2ee8SDavid du Colombier void
22*219b2ee8SDavid du Colombier logfail(char *user)
23*219b2ee8SDavid du Colombier {
24*219b2ee8SDavid du Colombier 	if(!user)
25*219b2ee8SDavid du Colombier 		return;
26*219b2ee8SDavid du Colombier 	record(KEYDB, user, "bad");
27*219b2ee8SDavid du Colombier 	record(NETKEYDB, user, "bad");
28*219b2ee8SDavid du Colombier }
29*219b2ee8SDavid du Colombier 
30*219b2ee8SDavid du Colombier void
31*219b2ee8SDavid du Colombier succeed(char *user)
32*219b2ee8SDavid du Colombier {
33*219b2ee8SDavid du Colombier 	if(!user)
34*219b2ee8SDavid du Colombier 		return;
35*219b2ee8SDavid du Colombier 	record(KEYDB, user, "good");
36*219b2ee8SDavid du Colombier 	record(NETKEYDB, user, "good");
37*219b2ee8SDavid du Colombier }
38*219b2ee8SDavid du Colombier 
39*219b2ee8SDavid du Colombier void
40*219b2ee8SDavid du Colombier fail(char *user)
41*219b2ee8SDavid du Colombier {
42*219b2ee8SDavid du Colombier 	logfail(user);
43*219b2ee8SDavid du Colombier 	exits("failure");
44*219b2ee8SDavid du Colombier }
45