log.c 964 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. *
  3. */
  4. #include <assert.h>
  5. #include <stdio.h>
  6. #include <unistd.h>
  7. #include <string.h>
  8. #include <stdlib.h>
  9. #include <errno.h>
  10. #include <sys/types.h>
  11. #include <sys/utsname.h>
  12. #include <syslog.h>
  13. #include <faux/str.h>
  14. #include <faux/list.h>
  15. #include <faux/sysdb.h>
  16. #include <klish/kcontext.h>
  17. #include <klish/ksession.h>
  18. #include <klish/kpath.h>
  19. int klish_syslog(kcontext_t *context)
  20. {
  21. const kcontext_t *parent_context = NULL;
  22. const ksession_t *session = NULL;
  23. assert(context);
  24. parent_context = kcontext_parent_context(context);
  25. if (!parent_context)
  26. return -1;
  27. session = kcontext_session(context);
  28. if (!session)
  29. return -1;
  30. syslog(LOG_INFO, "%u(%s) %s : %d",
  31. ksession_uid(session), ksession_user(session),
  32. kcontext_line(parent_context), kcontext_retcode(parent_context));
  33. /* uname = clish_shell_format_username(this);
  34. syslog(LOG_INFO, "%u(%s) %s : %d",
  35. user ? user->pw_uid : getuid(), uname, line, retcode);
  36. free(uname);
  37. */
  38. return 0;
  39. }