log.c 618 B

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