From 4e30282b85b28d56d0a0d42c8e8be93af5f3919a Mon Sep 17 00:00:00 2001 From: Ian C Date: Fri, 5 Dec 2025 09:01:30 +0000 Subject: Added syslog switch --- pam_file.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'pam_file.c') diff --git a/pam_file.c b/pam_file.c index 72cd877..7c05aa5 100644 --- a/pam_file.c +++ b/pam_file.c @@ -23,6 +23,9 @@ #include #include #include + +#include + #include #include @@ -43,8 +46,10 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pam, { static const char *file_arg="file="; static const char *mode_arg="mode="; + static const char *syslog_arg="syslog"; const char *file = NULL; const char *mode = NULL; + int do_syslog = 0; const char *user; char buff[1024]; FILE *fp; @@ -68,6 +73,11 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pam, { mode = argv[f] + strlen(mode_arg); } + + if (strcmp(syslog_arg, argv[f]) == 0) + { + do_syslog = 1; + } } if (!file && !mode) @@ -108,6 +118,13 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pam, } } + if (do_syslog) + { + syslog(LOG_INFO, "pam_file %s user %s", + result == PAM_SUCCESS ? "allowed":"blocked", + user); + } + fclose(fp); return result; -- cgit v1.2.3