From 988199b01aefffc266804b40ef24ad00ef4610e5 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Tue, 19 Nov 2013 21:55:40 +0000 Subject: pam_warn: log flags passed to the module (ticket #25) * modules/pam_warn/pam_warn.c (log_items): Take "flags" argument and log it using pam_syslog. (pam_sm_authenticate, pam_sm_setcred, pam_sm_chauthtok, pam_sm_acct_mgmt, pam_sm_open_session, pam_sm_close_session): Pass "flags" argument to log_items. --- modules/pam_warn/pam_warn.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'modules/pam_warn') diff --git a/modules/pam_warn/pam_warn.c b/modules/pam_warn/pam_warn.c index 268e2289..a26c48d7 100644 --- a/modules/pam_warn/pam_warn.c +++ b/modules/pam_warn/pam_warn.c @@ -33,7 +33,7 @@ value = value ? value : default_value ; \ } while (0) -static void log_items(pam_handle_t *pamh, const char *function) +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; @@ -45,8 +45,8 @@ static void log_items(pam_handle_t *pamh, const char *function) OBTAIN(PAM_RHOST, rhost, ""); pam_syslog(pamh, LOG_NOTICE, - "function=[%s] service=[%s] terminal=[%s] user=[%s]" - " ruser=[%s] rhost=[%s]\n", function, + "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); @@ -55,52 +55,52 @@ static void log_items(pam_handle_t *pamh, const char *function) /* --- authentication management functions (only) --- */ PAM_EXTERN -int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED, +int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { - log_items(pamh, __FUNCTION__); + log_items(pamh, __FUNCTION__, flags); return PAM_IGNORE; } PAM_EXTERN -int pam_sm_setcred(pam_handle_t *pamh, int flags UNUSED, +int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { - log_items(pamh, __FUNCTION__); + log_items(pamh, __FUNCTION__, flags); return PAM_IGNORE; } /* password updating functions */ PAM_EXTERN -int pam_sm_chauthtok(pam_handle_t *pamh, int flags UNUSED, +int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { - log_items(pamh, __FUNCTION__); + log_items(pamh, __FUNCTION__, flags); return PAM_IGNORE; } PAM_EXTERN int -pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED, +pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { - log_items(pamh, __FUNCTION__); + log_items(pamh, __FUNCTION__, flags); return PAM_IGNORE; } PAM_EXTERN int -pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, +pam_sm_open_session(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { - log_items(pamh, __FUNCTION__); + log_items(pamh, __FUNCTION__, flags); return PAM_IGNORE; } PAM_EXTERN int -pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED, +pam_sm_close_session(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { - log_items(pamh, __FUNCTION__); + log_items(pamh, __FUNCTION__, flags); return PAM_IGNORE; } -- cgit v1.2.3 From a684595c0bbd88df71285f43fb27630e3829121e Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 29 Mar 2016 14:14:03 +0200 Subject: Remove "--enable-static-modules" option and support from Linux-PAM. It was never official supported and was broken since years. * configure.ac: Remove --enable-static-modules option. * doc/man/pam_sm_acct_mgmt.3.xml: Remove PAM_EXTERN. * doc/man/pam_sm_authenticate.3.xml: Likewise. * doc/man/pam_sm_chauthtok.3.xml: Likewise. * doc/man/pam_sm_close_session.3.xml: Likewise. * doc/man/pam_sm_open_session.3.xml: Likewise. * doc/man/pam_sm_setcred.3.xml: Likewise. * libpam/Makefile.am: Remove STATIC_MODULES cases. * libpam/include/security/pam_modules.h: Remove PAM_STATIC parts. * libpam/pam_dynamic.c: Likewise. * libpam/pam_handlers.c: Likewise. * libpam/pam_private.h: Likewise. * libpam/pam_static.c: Remove file. * libpam/pam_static_modules.h: Remove header file. * modules/pam_access/pam_access.c: Remove PAM_EXTERN and PAM_STATIC parts. * modules/pam_cracklib/pam_cracklib.c: Likewise. * modules/pam_debug/pam_debug.c: Likewise. * modules/pam_deny/pam_deny.c: Likewise. * modules/pam_echo/pam_echo.c: Likewise. * modules/pam_env/pam_env.c: Likewise. * modules/pam_exec/pam_exec.c: Likewise. * modules/pam_faildelay/pam_faildelay.c: Likewise. * modules/pam_filter/pam_filter.c: Likewise. * modules/pam_ftp/pam_ftp.c: Likewise. * modules/pam_group/pam_group.c: Likewise. * modules/pam_issue/pam_issue.c: Likewise. * modules/pam_keyinit/pam_keyinit.c: Likewise. * modules/pam_lastlog/pam_lastlog.c: Likewise. * modules/pam_limits/pam_limits.c: Likewise. * modules/pam_listfile/pam_listfile.c: Likewise. * modules/pam_localuser/pam_localuser.c: Likewise. * modules/pam_loginuid/pam_loginuid.c: Likewise. * modules/pam_mail/pam_mail.c: Likewise. * modules/pam_mkhomedir/pam_mkhomedir.c: Likewise. * modules/pam_motd/pam_motd.c: Likewise. * modules/pam_namespace/pam_namespace.c: Likewise. * modules/pam_nologin/pam_nologin.c: Likewise. * modules/pam_permit/pam_permit.c: Likewise. * modules/pam_pwhistory/pam_pwhistory.c: Likewise. * modules/pam_rhosts/pam_rhosts.c: Likewise. * modules/pam_rootok/pam_rootok.c: Likewise. * modules/pam_securetty/pam_securetty.c: Likewise. * modules/pam_selinux/pam_selinux.c: Likewise. * modules/pam_sepermit/pam_sepermit.c: Likewise. * modules/pam_shells/pam_shells.c: Likewise. * modules/pam_stress/pam_stress.c: Likewise. * modules/pam_succeed_if/pam_succeed_if.c: Likewise. * modules/pam_tally/pam_tally.c: Likewise. * modules/pam_tally2/pam_tally2.c: Likewise. * modules/pam_time/pam_time.c: Likewise. * modules/pam_timestamp/pam_timestamp.c: Likewise. * modules/pam_tty_audit/pam_tty_audit.c: Likewise. * modules/pam_umask/pam_umask.c: Likewise. * modules/pam_userdb/pam_userdb.c: Likewise. * modules/pam_warn/pam_warn.c: Likewise. * modules/pam_wheel/pam_wheel.c: Likewise. * modules/pam_xauth/pam_xauth.c: Likewise. * modules/pam_unix/Makefile.am: Remove STATIC_MODULES part. * modules/pam_unix/pam_unix_acct.c: Remove PAM_STATIC part. * modules/pam_unix/pam_unix_auth.c: Likewise. * modules/pam_unix/pam_unix_passwd.c: Likewise. * modules/pam_unix/pam_unix_sess.c: Likewise. * modules/pam_unix/pam_unix_static.c: Removed. * modules/pam_unix/pam_unix_static.h: Removed. * po/POTFILES.in: Remove removed files. * tests/tst-dlopen.c: Remove PAM_STATIC part. --- modules/pam_warn/pam_warn.c | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) (limited to 'modules/pam_warn') diff --git a/modules/pam_warn/pam_warn.c b/modules/pam_warn/pam_warn.c index a26c48d7..1d196ad3 100644 --- a/modules/pam_warn/pam_warn.c +++ b/modules/pam_warn/pam_warn.c @@ -54,7 +54,6 @@ static void log_items(pam_handle_t *pamh, const char *function, int flags) /* --- authentication management functions (only) --- */ -PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { @@ -62,7 +61,6 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags, return PAM_IGNORE; } -PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { @@ -72,7 +70,6 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags, /* password updating functions */ -PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { @@ -80,7 +77,7 @@ int pam_sm_chauthtok(pam_handle_t *pamh, int flags, return PAM_IGNORE; } -PAM_EXTERN int +int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { @@ -88,7 +85,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, return PAM_IGNORE; } -PAM_EXTERN int +int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { @@ -96,7 +93,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, return PAM_IGNORE; } -PAM_EXTERN int +int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc UNUSED, const char **argv UNUSED) { @@ -104,20 +101,4 @@ pam_sm_close_session(pam_handle_t *pamh, int flags, return PAM_IGNORE; } -#ifdef PAM_STATIC - -/* static module data */ - -struct pam_module _pam_warn_modstruct = { - "pam_warn", - pam_sm_authenticate, - pam_sm_setcred, - pam_sm_acct_mgmt, - pam_sm_open_session, - pam_sm_close_session, - pam_sm_chauthtok, -}; - -#endif - /* end of module definition */ -- cgit v1.2.3