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