summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* pam_timestamp: include "config.h" in hmacsha1.c as the first headerDmitry V. Levin2020-04-24
| | | | | | | | | This ensures "config.h" is included before any system header which fixes the following bug reported by ALT diagnostics: verify-elf: ERROR: ./lib/security/pam_timestamp.so: uses non-LFS functions: __fxstat open * modules/pam_timestamp/hmacsha1.c: Include "config.h".
* libpamc.h: include "config.h" as the first headerDmitry V. Levin2020-04-24
| | | | | | | | | This ensures "config.h" is included before any system header included by libpamc.h, which fixes the following bug reported by ALT diagnostics: verify-elf: ERROR: ./lib/libpamc.so.0.82.1: uses non-LFS functions: __xstat readdir * libpamc/libpamc.h: Include "config.h".
* pam_setquota: apply WARN_CFLAGSDmitry V. Levin2020-04-24
| | | | | | All other modules already build with WARN_CFLAGS. * modules/pam_setquota/Makefile.am (AM_CFLAGS): Add $(WARN_CFLAGS).
* pam_setquota: fix harmless compilation warningsDmitry V. Levin2020-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix -Wunused-variable compilation warnings: pam_setquota.c: In function 'pam_sm_open_session': pam_setquota.c:173:9: warning: unused variable 'ep' [-Wunused-variable] 173 | char *ep, *val, *mntdevice = NULL; | ^~ pam_setquota.c:172:17: warning: unused variable 'ul' [-Wunused-variable] 172 | unsigned long ul; | ^~ Fix -Wunused-parameter compilation warnings: pam_setquota.c: In function 'pam_sm_open_session': pam_setquota.c:169:60: warning: unused parameter 'flags' [-Wunused-parameter] 169 | PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, | ~~~~^~~~~ pam_setquota.c: In function 'pam_sm_close_session': pam_setquota.c:382:40: warning: unused parameter 'pamh' [-Wunused-parameter] 382 | int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, | ~~~~~~~~~~~~~~^~~~ pam_setquota.c:382:50: warning: unused parameter 'flags' [-Wunused-parameter] 382 | int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, | ~~~~^~~~~ pam_setquota.c:382:61: warning: unused parameter 'argc' [-Wunused-parameter] 382 | int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, | ~~~~^~~~ pam_setquota.c:383:39: warning: unused parameter 'argv' [-Wunused-parameter] 383 | const char **argv) { | ~~~~~~~~~~~~~^~~~ * modules/pam_setquota/pam_setquota.c (pam_sm_open_session): Mark 'flags' parameter as unused. Remove unused 'ep' and 'ul' variables. (pam_sm_close_session): Mark all parameters as unused.
* Translated using Weblate (Turkish)Oğuz Ersen2020-04-18
| | | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/tr/ Resolves: https://github.com/linux-pam/linux-pam/pull/214
* pam_setquota: new module to set or modify disk quotas on session startSven Hartge2020-04-17
| | | | | | | This makes disk quotas usable with central user databases, such as MySQL or LDAP. Resolves: https://github.com/linux-pam/linux-pam/issues/92
* pam_access, pam_issue: do not assume that getdomainname always existsDmitry V. Levin2020-04-15
| | | | | | | | * modules/pam_access/pam_access.c (netgroup_match): Place the code that calls getdomainname under HAVE_GETDOMAINNAME guard. * modules/pam_issue/pam_issue.c (read_issue_quoted): Likewise. Resolves: https://github.com/linux-pam/linux-pam/issues/43
* Translated using Weblate (Turkish)Oğuz Ersen2020-04-13
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/tr/
* Translated using Weblate (Odia)Ankit Behera2020-04-13
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/or/
* pam_unix: modernize example in manual pageTopi Miettinen2020-04-12
| | | | | | | According to crypt(5), md5 should not be used for new hashes. Let's give a modern example with yescrypt. Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
* Translated using Weblate (Catalan)Robert Antoni Buj Gelonch2020-04-10
| | | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/ca/ Resolves: https://github.com/linux-pam/linux-pam/pull/207
* travis: remove faulty jobsDmitry V. Levin2020-04-07
| | | | | | * .travis.yml: Remove faulty gcc-9 jobs on aarch64 and s390x, gcc-9 became uninstallable on these platforms several days ago and hasn't been fixed yet.
* pam_access: add an example of using groups in access.conf to permit accessLucas Ramage2020-04-07
| | | | | Resolves: https://github.com/linux-pam/linux-pam/issues/65 Resolves: https://github.com/linux-pam/linux-pam/pull/199
* github: add CI actionDmitry V. Levin2020-04-07
| | | | | | | | | | | | | | | | Somewhat similar to Travis CI, this runs "make distcheck" on Ubuntu 18.04 using gcc-9, gcc-8, gcc, clang-9, clang-8, and clang on x86_64, x86, and x32 architectures. Compared with Travis CI, GitHub Actions service currently provides a significantly better parallelism as well as (unsurprisingly) better integration with github. However, GitHub Actions cannot replace Travis CI completely yet as the latter can build on aarch64, s390x, and ppc64le architectures. * .github/workflows/whitespace-errors-check.yml: Remove * .github/workflows/ci.yml: New file.
* Translated using Weblate (Danish)scootergrisen2020-04-07
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/da/
* Translated using Weblate (Danish)scootergrisen2020-04-07
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/da/
* pam_timestamp: Fix // in TIMESTAMPDIRPetr Lautrbach2020-03-31
| | | | | | | | | _PATH_VARRUN already provides trailing slash for building paths Fixes: $ strings /usr/lib64/security/pam_timestamp.so | grep /run/ /var/run//pam_timestamp /var/run//pam_timestamp/_pam_timestamp_key
* pam_unix: Return PAM_AUTHINFO_UNAVAIL when appropriate.James Ralston2020-03-30
| | | | | | | | | | | | | | | | | | | | | The pam_unix.so will never return PAM_AUTHINFO_UNAVAIL on systems that use the unix_chkpwd helper. The reason is that in unix_chkpwd.c, towards the end of main(), if helper_verify_password() does not return PAM_SUCCESS, main() ignores the actual error that helper_verify_password() returned and instead returns PAM_AUTH_ERR. This commit corrects this behavior. Specifically, if helper_verify_password() returns PAM_USER_UNKNOWN, which it does when /etc/passwd entry indicates that shadow information is present but the /etc/shadow entry is missing, the unix_chkpwd now exits with PAM_AUTHINFO_UNAVAIL. For any other error from helper_verify_password(), unix_chkpwd continues to exit with PAM_AUTH_ERR. * modules/pam_unix/unix_chkpwd.c (main): Return PAM_AUTHINFO_UNAVAIL when helper_verify_password() returns PAM_USER_UNKNOWN.
* Fix various typos found using codespell toolDmitry V. Levin2020-03-28
|
* po: semi-automatically fix translations of pam_get_authtok default promptsDmitry V. Levin2020-03-28
| | | | Complements: 4daceedd ("pam_get_authtok: fix i18n of default prompts")
* _pam_load_module: reduce redundancyDmitry V. Levin2020-03-24
| | | | | | | * libpam/pam_handlers.c (_pam_load_module): Reorganize $ISA handling to reduce redundancy. Resolves: https://github.com/linux-pam/linux-pam/pull/198
* pam_time: add conffile option to specify an alternative configuration fileblueskycs2c2020-03-24
| | | | | Resolves: https://github.com/linux-pam/linux-pam/pull/163 Resolves: https://github.com/linux-pam/linux-pam/pull/191
* pam_exec: require user name to be ready for the commandAlexander Zubkov2020-03-23
| | | | | | | | | | pam_exec module can be called when a user name has not been prompted yet. And thus the command is called without a user name available. This fix asks PAM for the user name to ensure it is ready or to force the prompt. Resolves: https://github.com/linux-pam/linux-pam/issues/131 Resolves: https://github.com/linux-pam/linux-pam/pull/195
* pam_selinux: fall back to log to syslog if audit logging failsChristian Göttsche2020-03-23
| | | | Resolves: https://github.com/linux-pam/linux-pam/pull/194
* pam_selinux: sanitize asprintf argument on failureChristian Göttsche2020-03-23
|
* pam_selinux: print additional information on failuresChristian Göttsche2020-03-23
|
* pam_selinux: convert send_audit_message to void functionChristian Göttsche2020-03-23
| | | | | The result is nowhere checked and other logging functions like pam_syslog are also not checked.
* pam_selinux: fix indentationChristian Göttsche2020-03-23
|
* pam_selinux: substitute legacy security_context_t typeChristian Göttsche2020-03-23
| | | | | | | | `security_context_t` is a legacy typedef to `char *`, substitute all usage. See https://github.com/SELinuxProject/selinux/commit/9eb9c9327563014ad6a807814e7975424642d5b9 https://github.com/SELinuxProject/selinux/blob/f8c110c8a615eb640510eab39640a0957a6ba19c/libselinux/include/selinux/selinux.h#L16
* Translated using Weblate (Finnish)Jiri Grönroos2020-03-20
| | | | | | | Currently translated at 90.8% (109 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/fi/
* Translated using Weblate (Slovak)Dmitry V. Levin2020-03-20
| | | | | | | | | | | | | | | | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/sk/ Translated using Weblate (Czech) Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/cs/ Translated using Weblate (French) Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/fr/
* Translated using Weblate (Ukrainian)Yuri Chornoivan2020-03-20
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/uk/
* Translated using Weblate (Turkish)Oğuz Ersen2020-03-20
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/tr/
* Translated using Weblate (Dutch)Geert Warrink2020-03-20
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/nl/
* Translated using Weblate (French)Julien Humbert2020-03-20
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/fr/
* Translated using Weblate (Russian)Dmitry V. Levin2020-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/ru/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/pt_BR/ Translated using Weblate (Portuguese) Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/pt/ Translated using Weblate (German) Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/de/
* Translated using Weblate (Polish)Piotr Drąg2020-03-20
| | | | | | | Currently translated at 100.0% (120 of 120 strings) Translation: linux-pam/master Translate-URL: https://translate.fedoraproject.org/projects/linux-pam/master/pl/
* modules/pam_userdb: use pam_str_skip_icase_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_userdb/pam_userdb.c: Include "pam_inline.h". (_pam_parse, user_lookup): Use pam_str_skip_icase_prefix instead of ugly strncasecmp invocations.
* modules/pam_umask: use pam_str_skip_icase_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_umask/pam_umask.c: Include "pam_inline.h". (parse_option, setup_limits_from_gecos): Use pam_str_skip_icase_prefix instead of ugly strncasecmp invocations.
* modules/pam_pwhistory: use pam_str_skip_icase_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_pwhistory/pam_pwhistory.c: Include "pam_inline.h". (parse_option): Use pam_str_skip_icase_prefix instead of ugly strncasecmp invocations.
* modules/pam_exec: use pam_str_skip_icase_prefixDmitry V. Levin2020-03-19
| | | | | * modules/pam_exec/pam_exec.c (call_exec): Use pam_str_skip_icase_prefix instead of ugly strncasecmp invocations.
* Introduce pam_str_skip_icase_prefix_len and pam_str_skip_icase_prefixDmitry V. Levin2020-03-19
| | | | | | | | | | | | | | | | Every time I see a code like if (strncasecmp(argv, "remember=", 9) == 0) options->remember = strtol(&argv[9], NULL, 10); my eyes are bleeding. Similar to pam_str_skip_prefix_len() and pam_str_skip_prefix(), introduce a new helper inline function pam_str_skip_icase_prefix_len() and a new macro pam_str_skip_icase_prefix() on top of it, to be used in subsequent commits to cleanup the ugliness. * libpam/include/pam_inline.h (pam_str_skip_icase_prefix_len): New function. (pam_str_skip_icase_prefix): New macro.
* modules/pam_xauth: use pam_str_skip_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_xauth/pam_xauth.c: Include "pam_inline.h". (pam_sm_open_session, pam_sm_close_session): Use pam_str_skip_prefix instead of ugly strncmp invocations.
* modules/pam_wheel: use pam_str_skip_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_wheel/pam_wheel.c: Include "pam_inline.h". (_pam_parse): Use pam_str_skip_prefix instead of ugly strncmp invocations.
* modules/pam_unix: use pam_str_skip_prefix and pam_str_skip_prefix_lenDmitry V. Levin2020-03-19
| | | | | | | | | | | | | * modules/pam_unix/passverify.c: Include "pam_inline.h". (verify_pwd_hash): Use pam_str_skip_prefix instead of ugly strncmp invocations. * modules/pam_unix/support.c: Include "pam_inline.h". (_set_ctrl): Use pam_str_skip_prefix_len instead of hardcoding string lengths. * modules/pam_unix/md5_crypt.c: Include "pam_inline.h". (crypt_md5): Use pam_str_skip_prefix_len. squash! modules/pam_unix: use pam_str_skip_prefix and pam_str_skip_prefix_len
* modules/pam_tty_audit: use pam_str_skip_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_tty_audit/pam_tty_audit.c: Include "pam_inline.h". (pam_sm_open_session): Use pam_str_skip_prefix instead of ugly strncmp invocations.
* modules/pam_timestamp: use pam_str_skip_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_timestamp/pam_timestamp.c: Include "pam_inline.h". (check_tty, get_timestamp_name, pam_sm_authenticate): Use pam_str_skip_prefix instead of ugly strncmp invocations.
* modules/pam_tally: use pam_str_skip_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_tally/pam_tally.c: Include "pam_inline.h". (tally_parse_args, getopts): Use pam_str_skip_prefix instead of ugly strncmp invocations.
* modules/pam_tally2: use pam_str_skip_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_tally2/pam_tally2.c: Include "pam_inline.h". (tally_parse_args, getopts): Use pam_str_skip_prefix instead of ugly strncmp invocations.
* modules/pam_selinux: use pam_str_skip_prefixDmitry V. Levin2020-03-19
| | | | | | * modules/pam_selinux/pam_selinux.c: Include "pam_inline.h". (compute_exec_context, compute_tty_context): Use pam_str_skip_prefix instead of ugly strncmp invocations.