1 #include <u.h> 2 #include <libc.h> 3 #include <authsrv.h> 4 #include <bio.h> 5 #include "authcmdlib.h" 6 7 static void 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 23 logfail(char *user) 24 { 25 if(!user) 26 return; 27 record(KEYDB, user, "bad"); 28 record(NETKEYDB, user, "bad"); 29 } 30 31 void 32 succeed(char *user) 33 { 34 if(!user) 35 return; 36 record(KEYDB, user, "good"); 37 record(NETKEYDB, user, "good"); 38 } 39 40 void 41 fail(char *user) 42 { 43 logfail(user); 44 exits("failure"); 45 } 46