This series introduces a new internal header file for definitions
of handly inline functions and macros providing some convenient
functionality to libpam and its modules.
These macros are then used to cleanup the following coding patterns:
- sizeof(x) / sizeof(*x)
- if (!strncmp(*argv,"user_readenv=",13))
*user_readenv = atoi(13+*argv);
- if (strncasecmp(argv, "remember=", 9) == 0)
options->remember = strtol(&argv[9], NULL, 10);
I've also pushed the series to ldv/pam_str_skip_prefix branch
so you can have a look at travis build logs.
Dmitry V. Levin (33):
Introduce pam_inline.h
Use PAM_ARRAY_SIZE
Introduce pam_str_skip_prefix_len and pam_str_skip_prefix
modules/pam_access: use pam_str_skip_prefix
modules/pam_cracklib: use pam_str_skip_prefix
modules/pam_echo: use pam_str_skip_prefix
modules/pam_env: use pam_str_skip_prefix
modules/pam_ftp: use pam_str_skip_prefix
modules/pam_issue: use pam_str_skip_prefix
modules/pam_lastlog: use pam_str_skip_prefix
modules/pam_limits: use pam_str_skip_prefix
modules/pam_listfile: use pam_str_skip_prefix
modules/pam_localuser: use pam_str_skip_prefix
modules/pam_mail: use pam_str_skip_prefix
modules/pam_mkhomedir: use pam_str_skip_prefix
modules/pam_motd: use pam_str_skip_prefix
modules/pam_namespace: use pam_str_skip_prefix
modules/pam_nologin: use pam_str_skip_prefix
modules/pam_rhosts: use pam_str_skip_prefix
modules/pam_securetty: use pam_str_skip_prefix and pam_str_skip_prefix_len
modules/pam_selinux: use pam_str_skip_prefix
modules/pam_tally2: use pam_str_skip_prefix
modules/pam_tally: use pam_str_skip_prefix
modules/pam_timestamp: use pam_str_skip_prefix
modules/pam_tty_audit: use pam_str_skip_prefix
modules/pam_unix: use pam_str_skip_prefix and pam_str_skip_prefix_len
modules/pam_wheel: use pam_str_skip_prefix
modules/pam_xauth: use pam_str_skip_prefix
Introduce pam_str_skip_icase_prefix_len and pam_str_skip_icase_prefix
modules/pam_exec: use pam_str_skip_icase_prefix
modules/pam_pwhistory: use pam_str_skip_icase_prefix
modules/pam_umask: use pam_str_skip_icase_prefix
modules/pam_userdb: use pam_str_skip_icase_prefix
libpam/Makefile.am | 3 +-
libpam/include/pam_cc_compat.h | 6 +++
libpam/include/pam_inline.h | 60 +++++++++++++++++++++++
libpam/pam_handlers.c | 3 +-
modules/pam_access/pam_access.c | 19 +++++---
modules/pam_cracklib/pam_cracklib.c | 70 ++++++++++++++-------------
modules/pam_echo/pam_echo.c | 6 ++-
modules/pam_env/pam_env.c | 45 +++++++++--------
modules/pam_exec/pam_exec.c | 13 +++--
modules/pam_ftp/pam_ftp.c | 11 +++--
modules/pam_issue/pam_issue.c | 14 ++++--
modules/pam_lastlog/pam_lastlog.c | 19 +++++---
modules/pam_limits/pam_limits.c | 8 +--
modules/pam_listfile/pam_listfile.c | 14 +++---
modules/pam_localuser/pam_localuser.c | 7 ++-
modules/pam_mail/pam_mail.c | 10 ++--
modules/pam_mkhomedir/pam_mkhomedir.c | 11 +++--
modules/pam_motd/pam_motd.c | 10 ++--
modules/pam_namespace/pam_namespace.c | 7 +--
modules/pam_nologin/pam_nologin.c | 7 ++-
modules/pam_pwhistory/pam_pwhistory.c | 13 +++--
modules/pam_rhosts/pam_rhosts.c | 7 ++-
modules/pam_securetty/pam_securetty.c | 12 ++---
modules/pam_selinux/pam_selinux.c | 5 +-
modules/pam_tally/pam_tally.c | 29 ++++++-----
modules/pam_tally2/pam_tally2.c | 33 +++++++------
modules/pam_timestamp/hmacfile.c | 4 +-
modules/pam_timestamp/pam_timestamp.c | 15 ++++--
modules/pam_tty_audit/pam_tty_audit.c | 9 ++--
modules/pam_umask/pam_umask.c | 21 +++++---
modules/pam_unix/md5_crypt.c | 5 +-
modules/pam_unix/passverify.c | 3 +-
modules/pam_unix/support.c | 14 ++++--
modules/pam_userdb/pam_userdb.c | 15 +++---
modules/pam_wheel/pam_wheel.c | 6 ++-
modules/pam_xauth/pam_xauth.c | 33 +++++++------
tests/tst-pam_get_item.c | 10 ++--
tests/tst-pam_set_item.c | 8 +--
xtests/tst-pam_pwhistory1.c | 12 ++---
xtests/tst-pam_time1.c | 7 ++-
40 files changed, 377 insertions(+), 227 deletions(-)
create mode 100644 libpam/include/pam_inline.h
--
ldv