From de848d9e9146434817c65d74d1d0313e9d729462 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 14:01:37 +0200 Subject: Adding upstream version 1.4.0. Signed-off-by: Daniel Baumann --- modules/pam_warn/pam_warn.c | 92 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 modules/pam_warn/pam_warn.c (limited to 'modules/pam_warn/pam_warn.c') diff --git a/modules/pam_warn/pam_warn.c b/modules/pam_warn/pam_warn.c new file mode 100644 index 0000000..d91c3e9 --- /dev/null +++ b/modules/pam_warn/pam_warn.c @@ -0,0 +1,92 @@ +/* + * pam_warn module + * + * Written by Andrew Morgan 1996/3/11 + */ + +#include "config.h" + +#include +#include +#include +#include + +#include +#include + +/* some syslogging */ + +#define OBTAIN(item, value, default_value) do { \ + (void) pam_get_item(pamh, item, &value); \ + value = value ? value : default_value ; \ +} while (0) + +static void log_items(pam_handle_t *pamh, const char *function, int flags) +{ + const void *service=NULL, *user=NULL, *terminal=NULL, + *rhost=NULL, *ruser=NULL; + + OBTAIN(PAM_SERVICE, service, ""); + OBTAIN(PAM_TTY, terminal, ""); + OBTAIN(PAM_USER, user, ""); + OBTAIN(PAM_RUSER, ruser, ""); + OBTAIN(PAM_RHOST, rhost, ""); + + pam_syslog(pamh, LOG_NOTICE, + "function=[%s] flags=%#x service=[%s] terminal=[%s] user=[%s]" + " ruser=[%s] rhost=[%s]\n", function, flags, + (const char *) service, (const char *) terminal, + (const char *) user, (const char *) ruser, + (const char *) rhost); +} + +/* --- authentication management functions (only) --- */ + +int pam_sm_authenticate(pam_handle_t *pamh, int flags, + int argc UNUSED, const char **argv UNUSED) +{ + log_items(pamh, __FUNCTION__, flags); + return PAM_IGNORE; +} + +int pam_sm_setcred(pam_handle_t *pamh, int flags, + int argc UNUSED, const char **argv UNUSED) +{ + log_items(pamh, __FUNCTION__, flags); + return PAM_IGNORE; +} + +/* password updating functions */ + +int pam_sm_chauthtok(pam_handle_t *pamh, int flags, + int argc UNUSED, const char **argv UNUSED) +{ + log_items(pamh, __FUNCTION__, flags); + return PAM_IGNORE; +} + +int +pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, + int argc UNUSED, const char **argv UNUSED) +{ + log_items(pamh, __FUNCTION__, flags); + return PAM_IGNORE; +} + +int +pam_sm_open_session(pam_handle_t *pamh, int flags, + int argc UNUSED, const char **argv UNUSED) +{ + log_items(pamh, __FUNCTION__, flags); + return PAM_IGNORE; +} + +int +pam_sm_close_session(pam_handle_t *pamh, int flags, + int argc UNUSED, const char **argv UNUSED) +{ + log_items(pamh, __FUNCTION__, flags); + return PAM_IGNORE; +} + +/* end of module definition */ -- cgit v1.2.3