xref: /plan9-contrib/sys/src/cmd/auth/lib/log.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1 #include <u.h>
2 #include <libc.h>
3 #include <authsrv.h>
4 #include "authcmdlib.h"
5 
6 static void
7 record(char *db, char *user, char *msg)
8 {
9 	char buf[Maxpath];
10 	int fd;
11 
12 	snprint(buf, sizeof 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