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