summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog257
-rw-r--r--Makefile.am4
-rw-r--r--Makefile.in9
-rw-r--r--NEWS17
-rw-r--r--aclocal.m47
-rw-r--r--[-rwxr-xr-x]build-aux/ltmain.sh0
-rwxr-xr-x[-rw-r--r--]build-aux/test-driver0
-rw-r--r--conf/pam_conv1/pam_conv_l.c32
-rwxr-xr-xconfigure38
-rw-r--r--configure.ac14
-rw-r--r--doc/man/PAM.84
-rw-r--r--doc/man/misc_conv.34
-rw-r--r--doc/man/pam.34
-rw-r--r--doc/man/pam.8.xml3
-rw-r--r--doc/man/pam.conf.54
-rw-r--r--doc/man/pam_acct_mgmt.34
-rw-r--r--doc/man/pam_authenticate.34
-rw-r--r--doc/man/pam_chauthtok.34
-rw-r--r--doc/man/pam_close_session.34
-rw-r--r--doc/man/pam_conv.34
-rw-r--r--doc/man/pam_end.34
-rw-r--r--doc/man/pam_error.34
-rw-r--r--doc/man/pam_fail_delay.38
-rw-r--r--doc/man/pam_fail_delay.3.xml4
-rw-r--r--doc/man/pam_get_authtok.34
-rw-r--r--doc/man/pam_get_data.34
-rw-r--r--doc/man/pam_get_item.34
-rw-r--r--doc/man/pam_get_user.36
-rw-r--r--doc/man/pam_get_user.3.xml2
-rw-r--r--doc/man/pam_getenv.34
-rw-r--r--doc/man/pam_getenvlist.34
-rw-r--r--doc/man/pam_info.34
-rw-r--r--doc/man/pam_misc_drop_env.34
-rw-r--r--doc/man/pam_misc_paste_env.34
-rw-r--r--doc/man/pam_misc_setenv.34
-rw-r--r--doc/man/pam_open_session.34
-rw-r--r--doc/man/pam_prompt.34
-rw-r--r--doc/man/pam_putenv.34
-rw-r--r--doc/man/pam_set_data.34
-rw-r--r--doc/man/pam_set_item.34
-rw-r--r--doc/man/pam_setcred.34
-rw-r--r--doc/man/pam_sm_acct_mgmt.34
-rw-r--r--doc/man/pam_sm_authenticate.34
-rw-r--r--doc/man/pam_sm_chauthtok.34
-rw-r--r--doc/man/pam_sm_close_session.34
-rw-r--r--doc/man/pam_sm_open_session.34
-rw-r--r--doc/man/pam_sm_setcred.34
-rw-r--r--doc/man/pam_start.34
-rw-r--r--doc/man/pam_strerror.34
-rw-r--r--doc/man/pam_syslog.34
-rw-r--r--doc/man/pam_xauth_data.34
-rw-r--r--doc/specs/parse_l.c32
-rw-r--r--libpam/pam_handlers.c6
-rw-r--r--libpam/pam_modutil_priv.c2
-rw-r--r--modules/pam_access/Makefile.am3
-rw-r--r--modules/pam_access/Makefile.in3
-rw-r--r--modules/pam_access/README30
-rw-r--r--modules/pam_access/access.conf28
-rw-r--r--modules/pam_access/access.conf.531
-rw-r--r--modules/pam_access/access.conf.5.xml34
-rw-r--r--modules/pam_access/pam_access.812
-rw-r--r--modules/pam_access/pam_access.8.xml8
-rw-r--r--modules/pam_access/pam_access.c41
-rw-r--r--modules/pam_cracklib/pam_cracklib.84
-rw-r--r--modules/pam_cracklib/pam_cracklib.c8
-rw-r--r--modules/pam_debug/pam_debug.84
-rw-r--r--modules/pam_deny/pam_deny.84
-rw-r--r--modules/pam_echo/pam_echo.84
-rw-r--r--modules/pam_echo/pam_echo.c2
-rw-r--r--modules/pam_env/pam_env.84
-rw-r--r--modules/pam_env/pam_env.c10
-rw-r--r--modules/pam_env/pam_env.conf.54
-rw-r--r--modules/pam_exec/pam_exec.84
-rw-r--r--modules/pam_exec/pam_exec.c15
-rw-r--r--modules/pam_faildelay/pam_faildelay.84
-rw-r--r--modules/pam_filter/pam_filter.84
-rw-r--r--modules/pam_filter/pam_filter.c40
-rw-r--r--modules/pam_ftp/pam_ftp.84
-rw-r--r--modules/pam_ftp/pam_ftp.c21
-rw-r--r--modules/pam_group/group.conf.54
-rw-r--r--modules/pam_group/pam_group.84
-rw-r--r--modules/pam_group/pam_group.c2
-rw-r--r--modules/pam_issue/pam_issue.84
-rw-r--r--modules/pam_issue/pam_issue.c8
-rw-r--r--modules/pam_keyinit/pam_keyinit.84
-rw-r--r--modules/pam_lastlog/pam_lastlog.84
-rw-r--r--modules/pam_lastlog/pam_lastlog.c12
-rw-r--r--modules/pam_limits/limits.conf.57
-rw-r--r--modules/pam_limits/limits.conf.5.xml2
-rw-r--r--modules/pam_limits/pam_limits.84
-rw-r--r--modules/pam_limits/pam_limits.c12
-rw-r--r--modules/pam_listfile/pam_listfile.84
-rw-r--r--modules/pam_listfile/pam_listfile.c2
-rw-r--r--modules/pam_localuser/README2
-rw-r--r--modules/pam_localuser/pam_localuser.812
-rw-r--r--modules/pam_localuser/pam_localuser.8.xml10
-rw-r--r--modules/pam_loginuid/pam_loginuid.84
-rw-r--r--modules/pam_mail/pam_mail.84
-rw-r--r--modules/pam_mkhomedir/mkhomedir_helper.84
-rw-r--r--modules/pam_mkhomedir/mkhomedir_helper.c16
-rw-r--r--modules/pam_mkhomedir/pam_mkhomedir.84
-rw-r--r--modules/pam_motd/README24
-rw-r--r--modules/pam_motd/pam_motd.854
-rw-r--r--modules/pam_motd/pam_motd.8.xml36
-rw-r--r--modules/pam_motd/pam_motd.c100
-rw-r--r--modules/pam_namespace/namespace.conf.54
-rw-r--r--modules/pam_namespace/pam_namespace.84
-rw-r--r--modules/pam_namespace/pam_namespace.c10
-rw-r--r--modules/pam_nologin/pam_nologin.84
-rw-r--r--modules/pam_nologin/pam_nologin.c4
-rw-r--r--modules/pam_permit/pam_permit.84
-rw-r--r--modules/pam_pwhistory/pam_pwhistory.84
-rw-r--r--modules/pam_rhosts/pam_rhosts.84
-rw-r--r--modules/pam_rootok/pam_rootok.84
-rw-r--r--modules/pam_securetty/pam_securetty.84
-rw-r--r--modules/pam_securetty/pam_securetty.c4
-rw-r--r--modules/pam_selinux/pam_selinux.84
-rw-r--r--modules/pam_selinux/pam_selinux.c6
-rw-r--r--modules/pam_sepermit/pam_sepermit.84
-rw-r--r--modules/pam_sepermit/sepermit.conf.54
-rw-r--r--modules/pam_shells/pam_shells.84
-rw-r--r--modules/pam_succeed_if/pam_succeed_if.84
-rw-r--r--modules/pam_succeed_if/pam_succeed_if.c8
-rw-r--r--modules/pam_tally/pam_tally.84
-rw-r--r--modules/pam_tally2/pam_tally2.84
-rw-r--r--modules/pam_tally2/pam_tally2.c12
-rw-r--r--modules/pam_time/pam_time.84
-rw-r--r--modules/pam_time/pam_time.c2
-rw-r--r--modules/pam_time/time.conf.54
-rw-r--r--modules/pam_timestamp/pam_timestamp.84
-rw-r--r--modules/pam_timestamp/pam_timestamp.c4
-rw-r--r--modules/pam_timestamp/pam_timestamp_check.84
-rw-r--r--modules/pam_tty_audit/README17
-rw-r--r--modules/pam_tty_audit/pam_tty_audit.828
-rw-r--r--modules/pam_tty_audit/pam_tty_audit.8.xml26
-rw-r--r--modules/pam_tty_audit/pam_tty_audit.c83
-rw-r--r--modules/pam_umask/README6
-rw-r--r--modules/pam_umask/pam_umask.812
-rw-r--r--modules/pam_umask/pam_umask.8.xml8
-rw-r--r--modules/pam_unix/pam_unix.84
-rw-r--r--modules/pam_unix/pam_unix_acct.c4
-rw-r--r--modules/pam_unix/pam_unix_auth.c20
-rw-r--r--modules/pam_unix/pam_unix_passwd.c4
-rw-r--r--modules/pam_unix/pam_unix_sess.c4
-rw-r--r--modules/pam_unix/passverify.c2
-rw-r--r--modules/pam_unix/support.c6
-rw-r--r--modules/pam_unix/unix_chkpwd.84
-rw-r--r--modules/pam_unix/unix_chkpwd.c2
-rw-r--r--modules/pam_unix/unix_update.84
-rw-r--r--modules/pam_userdb/pam_userdb.84
-rw-r--r--modules/pam_userdb/pam_userdb.c2
-rw-r--r--modules/pam_warn/pam_warn.84
-rw-r--r--modules/pam_wheel/pam_wheel.84
-rw-r--r--modules/pam_xauth/pam_xauth.84
-rw-r--r--modules/pam_xauth/pam_xauth.c4
-rw-r--r--po/Linux-PAM.pot52
-rw-r--r--po/af.gmobin525 -> 525 bytes
-rw-r--r--po/af.po50
-rw-r--r--po/am.gmobin522 -> 522 bytes
-rw-r--r--po/am.po50
-rw-r--r--po/anp.gmobin424 -> 424 bytes
-rw-r--r--po/anp.po50
-rw-r--r--po/ar.gmobin9024 -> 9024 bytes
-rw-r--r--po/ar.po50
-rw-r--r--po/as.gmobin16552 -> 16552 bytes
-rw-r--r--po/as.po50
-rw-r--r--po/ast.gmobin526 -> 526 bytes
-rw-r--r--po/ast.po50
-rw-r--r--po/bal.gmobin502 -> 502 bytes
-rw-r--r--po/bal.po50
-rw-r--r--po/be.gmobin600 -> 600 bytes
-rw-r--r--po/be.po50
-rw-r--r--po/bg.gmobin14311 -> 14311 bytes
-rw-r--r--po/bg.po50
-rw-r--r--po/bn.gmobin17176 -> 17176 bytes
-rw-r--r--po/bn.po50
-rw-r--r--po/bn_IN.gmobin17180 -> 17180 bytes
-rw-r--r--po/bn_IN.po50
-rw-r--r--po/bo.gmobin516 -> 516 bytes
-rw-r--r--po/bo.po50
-rw-r--r--po/br.gmobin521 -> 521 bytes
-rw-r--r--po/br.po50
-rw-r--r--po/brx.gmobin522 -> 522 bytes
-rw-r--r--po/brx.po50
-rw-r--r--po/bs.gmobin597 -> 597 bytes
-rw-r--r--po/bs.po50
-rw-r--r--po/ca.gmobin11559 -> 11559 bytes
-rw-r--r--po/ca.po50
-rw-r--r--po/cs.gmobin11602 -> 11602 bytes
-rw-r--r--po/cs.po50
-rw-r--r--po/cy.gmobin566 -> 566 bytes
-rw-r--r--po/cy.po50
-rw-r--r--po/da.gmobin10943 -> 10943 bytes
-rw-r--r--po/da.po50
-rw-r--r--po/de.gmobin11500 -> 11500 bytes
-rw-r--r--po/de.po50
-rw-r--r--po/de_CH.gmobin542 -> 542 bytes
-rw-r--r--po/de_CH.po50
-rw-r--r--po/el.gmobin498 -> 498 bytes
-rw-r--r--po/el.po50
-rw-r--r--po/en_GB.gmobin546 -> 546 bytes
-rw-r--r--po/en_GB.po50
-rw-r--r--po/eo.gmobin525 -> 525 bytes
-rw-r--r--po/eo.po50
-rw-r--r--po/es.gmobin12004 -> 12004 bytes
-rw-r--r--po/es.po50
-rw-r--r--po/et.gmobin3212 -> 3212 bytes
-rw-r--r--po/et.po50
-rw-r--r--po/eu.gmobin923 -> 923 bytes
-rw-r--r--po/eu.po50
-rw-r--r--po/fa.gmobin516 -> 516 bytes
-rw-r--r--po/fa.po50
-rw-r--r--po/fi.gmobin11377 -> 11377 bytes
-rw-r--r--po/fi.po50
-rw-r--r--po/fr.gmobin11762 -> 11762 bytes
-rw-r--r--po/fr.po50
-rw-r--r--po/ga.gmobin12240 -> 12240 bytes
-rw-r--r--po/ga.po50
-rw-r--r--po/gl.gmobin524 -> 524 bytes
-rw-r--r--po/gl.po50
-rw-r--r--po/gu.gmobin16417 -> 16417 bytes
-rw-r--r--po/gu.po50
-rw-r--r--po/he.gmobin4380 -> 4380 bytes
-rw-r--r--po/he.po50
-rw-r--r--po/hi.gmobin15579 -> 15579 bytes
-rw-r--r--po/hi.po50
-rw-r--r--po/hr.gmobin596 -> 596 bytes
-rw-r--r--po/hr.po50
-rw-r--r--po/hu.gmobin11373 -> 11373 bytes
-rw-r--r--po/hu.po50
-rw-r--r--po/ia.gmobin11514 -> 11514 bytes
-rw-r--r--po/ia.po50
-rw-r--r--po/id.gmobin4424 -> 4424 bytes
-rw-r--r--po/id.po50
-rw-r--r--po/ilo.gmobin523 -> 523 bytes
-rw-r--r--po/ilo.po50
-rw-r--r--po/is.gmobin525 -> 525 bytes
-rw-r--r--po/is.po50
-rw-r--r--po/it.gmobin11285 -> 11285 bytes
-rw-r--r--po/it.po50
-rw-r--r--po/ja.gmobin12397 -> 12397 bytes
-rw-r--r--po/ja.po50
-rw-r--r--po/ka.gmobin3350 -> 3350 bytes
-rw-r--r--po/ka.po50
-rw-r--r--po/kk.gmobin14216 -> 14216 bytes
-rw-r--r--po/kk.po50
-rw-r--r--po/km.gmobin12592 -> 12592 bytes
-rw-r--r--po/km.po50
-rw-r--r--po/kn.gmobin17598 -> 17598 bytes
-rw-r--r--po/kn.po50
-rw-r--r--po/ko.gmobin11366 -> 11366 bytes
-rw-r--r--po/ko.po50
-rw-r--r--po/kw.gmobin459 -> 459 bytes
-rw-r--r--po/kw.po50
-rw-r--r--po/kw@kkcor.gmobin486 -> 486 bytes
-rw-r--r--po/kw@kkcor.po50
-rw-r--r--po/kw@uccor.gmobin487 -> 487 bytes
-rw-r--r--po/kw@uccor.po50
-rw-r--r--po/kw_GB.gmobin479 -> 479 bytes
-rw-r--r--po/kw_GB.po50
-rw-r--r--po/ky.gmobin515 -> 515 bytes
-rw-r--r--po/ky.po50
-rw-r--r--po/lt.gmobin589 -> 589 bytes
-rw-r--r--po/lt.po50
-rw-r--r--po/lv.gmobin558 -> 558 bytes
-rw-r--r--po/lv.po50
-rw-r--r--po/mai.gmobin526 -> 526 bytes
-rw-r--r--po/mai.po50
-rw-r--r--po/mk.gmobin556 -> 556 bytes
-rw-r--r--po/mk.po50
-rw-r--r--po/ml.gmobin20368 -> 20368 bytes
-rw-r--r--po/ml.po50
-rw-r--r--po/mn.gmobin525 -> 525 bytes
-rw-r--r--po/mn.po50
-rw-r--r--po/mr.gmobin16727 -> 16727 bytes
-rw-r--r--po/mr.po50
-rw-r--r--po/ms.gmobin563 -> 563 bytes
-rw-r--r--po/ms.po50
-rw-r--r--po/my.gmobin516 -> 516 bytes
-rw-r--r--po/my.po50
-rw-r--r--po/nb.gmobin10769 -> 10769 bytes
-rw-r--r--po/nb.po50
-rw-r--r--po/nds.gmobin507 -> 507 bytes
-rw-r--r--po/nds.po50
-rw-r--r--po/ne.gmobin522 -> 522 bytes
-rw-r--r--po/ne.po50
-rw-r--r--po/nl.gmobin11265 -> 11265 bytes
-rw-r--r--po/nl.po50
-rw-r--r--po/nn.gmobin504 -> 504 bytes
-rw-r--r--po/nn.po50
-rw-r--r--po/nso.gmobin531 -> 531 bytes
-rw-r--r--po/nso.po50
-rw-r--r--po/or.gmobin17799 -> 17799 bytes
-rw-r--r--po/or.po50
-rw-r--r--po/pa.gmobin15741 -> 15741 bytes
-rw-r--r--po/pa.po50
-rw-r--r--po/pl.gmobin11837 -> 11837 bytes
-rw-r--r--po/pl.po50
-rw-r--r--po/pt.gmobin11579 -> 11579 bytes
-rw-r--r--po/pt.po50
-rw-r--r--po/pt_BR.gmobin11156 -> 11156 bytes
-rw-r--r--po/pt_BR.po50
-rw-r--r--po/ro.gmobin565 -> 565 bytes
-rw-r--r--po/ro.po50
-rw-r--r--po/ru.gmobin15084 -> 15084 bytes
-rw-r--r--po/ru.po50
-rw-r--r--po/si.gmobin12255 -> 12255 bytes
-rw-r--r--po/si.po50
-rw-r--r--po/sk.gmobin11328 -> 11328 bytes
-rw-r--r--po/sk.po50
-rw-r--r--po/sl.gmobin577 -> 577 bytes
-rw-r--r--po/sl.po50
-rw-r--r--po/sq.gmobin524 -> 524 bytes
-rw-r--r--po/sq.po50
-rw-r--r--po/sr.gmobin14351 -> 14351 bytes
-rw-r--r--po/sr.po50
-rw-r--r--po/sr@latin.gmobin10986 -> 10986 bytes
-rw-r--r--po/sr@latin.po50
-rw-r--r--po/sv.gmobin11041 -> 11041 bytes
-rw-r--r--po/sv.po50
-rw-r--r--po/ta.gmobin17474 -> 17474 bytes
-rw-r--r--po/ta.po50
-rw-r--r--po/te.gmobin17419 -> 17419 bytes
-rw-r--r--po/te.po50
-rw-r--r--po/tg.gmobin521 -> 521 bytes
-rw-r--r--po/tg.po50
-rw-r--r--po/th.gmobin513 -> 513 bytes
-rw-r--r--po/th.po50
-rw-r--r--po/tr.gmobin11229 -> 11229 bytes
-rw-r--r--po/tr.po50
-rw-r--r--po/tw.gmobin413 -> 413 bytes
-rw-r--r--po/tw.po50
-rw-r--r--po/uk.gmobin15111 -> 15111 bytes
-rw-r--r--po/uk.po50
-rw-r--r--po/ur.gmobin499 -> 499 bytes
-rw-r--r--po/ur.po50
-rw-r--r--po/vi.gmobin11675 -> 11675 bytes
-rw-r--r--po/vi.po50
-rw-r--r--po/wba.gmobin414 -> 414 bytes
-rw-r--r--po/wba.po50
-rw-r--r--po/yo.gmobin423 -> 423 bytes
-rw-r--r--po/yo.po50
-rw-r--r--po/zh_CN.gmobin10276 -> 10276 bytes
-rw-r--r--po/zh_CN.po50
-rw-r--r--po/zh_HK.gmobin507 -> 507 bytes
-rw-r--r--po/zh_HK.po50
-rw-r--r--po/zh_TW.gmobin10386 -> 10386 bytes
-rw-r--r--po/zh_TW.po50
-rw-r--r--po/zu.gmobin7853 -> 7853 bytes
-rw-r--r--po/zu.po50
-rwxr-xr-xxtests/run-xtests.sh2
-rwxr-xr-xxtests/tst-pam_access1.sh2
-rwxr-xr-xxtests/tst-pam_access2.sh2
-rwxr-xr-xxtests/tst-pam_access3.sh2
-rwxr-xr-xxtests/tst-pam_access4.sh2
-rwxr-xr-xxtests/tst-pam_assemble_line1.sh2
-rwxr-xr-xxtests/tst-pam_group1.sh2
-rwxr-xr-xxtests/tst-pam_limits1.sh2
-rwxr-xr-xxtests/tst-pam_pwhistory1.sh2
-rwxr-xr-xxtests/tst-pam_substack1.sh2
-rwxr-xr-xxtests/tst-pam_substack2.sh2
-rwxr-xr-xxtests/tst-pam_substack3.sh2
-rwxr-xr-xxtests/tst-pam_substack4.sh2
-rwxr-xr-xxtests/tst-pam_substack5.sh2
-rwxr-xr-xxtests/tst-pam_succeed_if1.sh2
-rwxr-xr-xxtests/tst-pam_unix1.sh2
-rwxr-xr-xxtests/tst-pam_unix2.sh2
-rwxr-xr-xxtests/tst-pam_unix3.sh2
-rwxr-xr-xxtests/tst-pam_unix4.sh2
369 files changed, 3596 insertions, 2980 deletions
diff --git a/ChangeLog b/ChangeLog
index 328a0da3..3e135be7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,260 @@
+2018-05-18 Thorsten Kukuk <kukuk@thkukuk.de>
+
+ Release version 1.3.1.
+
+ Add xz compression.
+
+2018-05-16 Allison Karlitskaya <allison.karlitskaya@redhat.com>
+
+ pam_motd: add support for a motd.d directory (#48)
+ Add a new feature to pam_motd to allow packages to install their own
+ message files in a "motd.d" directory, to be displayed after the primary
+ motd.
+
+ Add an option motd_d= to specify the location of this directory.
+
+ Modify the defaults, in the case where no options are given, to display
+ both /etc/motd and /etc/motd.d.
+
+ Fixes #47
+
+ * modules/pam_motd/pam_motd.c: add support for motd.d
+ * modules/pam_motd/pam_motd.8.xml: update the manpage
+
+2018-05-02 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_umask: Fix documentation to align with order of loading umask.
+ * modules/pam_umask/pam_umask.8.xml: Document the real order of loading
+ umask.
+
+2018-04-10 Joey Chagnon <joeychagnon@users.noreply.github.com>
+
+ Fix missing word in documentation.
+ * doc/man/pam_get_user.3.xml: Fix it.
+
+2017-11-10 Dmitry V. Levin <ldv@altlinux.org>
+
+ pam_tally2 --reset: avoid creating a missing tallylog file.
+ There is no need for pam_tally2 in --reset=0 mode to create a missing
+ tallylog file because its absence has the same meaning as its existence
+ with the appropriate entry reset.
+
+ This was not a big deal until useradd(8) from shadow suite release 4.5
+ started to invoke /sbin/pam_tally2 --reset routinely regardless of PAM
+ configuration.
+
+ The positive effect of this change is noticeable when using tools like
+ cpio(1) that cannot archive huge sparse files efficiently.
+
+ * modules/pam_tally2/pam_tally2.c [MAIN] (main) <cline_user>: Stat
+ cline_filename when cline_reset == 0, exit early if the file is missing.
+
+2017-11-10 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_mkhomedir: Allow creating parent of homedir under /
+ * modules/pam_mkhomedir/mkhomedir_helper.c (make_parent_dirs): Do not
+ skip creating the directory if we are under /.
+
+2017-10-09 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_tty_audit: Fix regression introduced by adding the uid range support.
+ * modules/pam_tty_audit/pam_tty_audit.c (parse_uid_range): Fix constification and
+ remove unneeded code carried from pam_limits.
+ (pam_sm_open_session): When multiple enable/disable options are present do not
+ stop after first match.
+
+2017-09-06 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_access: Add note about spaces around ':' in access.conf(5)
+ * modules/pam_access/access.conf.5.xml: Add note about spaces around ':'
+
+ Workaround formatting problem in pam(8)
+ * doc/man/pam.8.xml: Workaround formatting problem.
+
+2017-07-12 Peter Urbanec <peterurbanec@users.noreply.github.com>
+
+ pam_unix: Check return value of malloc used for setcred data (#24)
+ Check the return value of malloc and if it failed print debug info, send
+ a syslog message and return an error code.
+
+ The test in AUTH_RETURN for ret_data not being NULL becomes redundant.
+
+2017-07-10 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_cracklib: Drop unused prompt macros.
+ * modules/pam_cracklib/pam_cracklib.c: Drop the unused macros.
+
+2017-06-28 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_tty_audit: Support matching users by uid range.
+ * modules/pam_tty_audit/pam_tty_audit.c (parse_uid_range): New function to
+ parse the uid range.
+ (pam_sm_open_session): Call parse_uid_range() and behave according to its result.
+ * modules/pam_tty_audit/pam_tty_audit.8.xml: Document the uid range matching.
+
+2017-05-31 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_access: support parsing files in /etc/security/access.d/*.conf.
+ * modules/pam_access/pam_access.c (login_access): Return NOMATCH if
+ there was no match in the parsed file.
+ (pam_sm_authenticate): Add glob() call to go through the ACCESS_CONF_GLOB
+ subdirectory and call login_access() on the individual files matched.
+ * modules/pam_access/pam_access.8.xml: Document the addition.
+ * modules/pam_access/Makefile.am: Add ACCESS_CONF_GLOB definition.
+
+2017-04-11 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_localuser: Correct the example in documentation.
+ * modules/pam_localuser/pam_localuser.8.xml: The example configuration
+ does something different.
+
+ pam_localuser: Correct documentation of return value.
+ * modules/pam_localuser/pam_localuser.8.xml: The module returns
+ PAM_PERM_DENIED when the user is not listed.
+
+2017-03-10 Saul Johnson <saul.a.johnson@gmail.com>
+
+ Make maxclassrepeat=1 behavior consistent with docs (#9)
+ * modules/pam_cracklib/pam_cracklib.c (simple): Apply the maxclassrepeat when greater than 0.
+
+2017-02-09 Josef Moellers <jmoellers@suse.de>
+
+ Properly test for strtol() failure to find any digits.
+ * modules/pam_access/pam_access.c (network_netmask_match): Test for endptr set
+ to beginning and not NULL.
+
+2017-01-19 Daniel Abrecht <daniel.abrecht@hotmail.com>
+
+ pam_exec: fix a potential null pointer dereference.
+ Fix a null pointer dereference when pam_prompt returns PAM_SUCCESS
+ but the response is set to NULL.
+
+ * modules/pam_exec/pam_exec.c (call_exec): Do not invoke strndupa
+ with a null pointer.
+
+ Closes: https://github.com/linux-pam/linux-pam/pull/2
+
+2016-12-07 Antonio Ospite <ao2@ao2.it>
+
+ Add missing comma in the limits.conf.5 manpage.
+ * modules/pam_limits/limits.conf.5.xml: add a missing comma
+
+2016-11-14 Tomas Mraz <tmraz@fedoraproject.org>
+
+ Regular links doesn't work with -no-numbering -no-references.
+ * configure.ac: Use elinks instead of links.
+
+2016-11-01 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_access: First check for the (group) match.
+ The (group) match is performed first to allow for groups
+ containing '@'.
+
+ * modules/pam_access/pam_access.c (user_match): First check for the (group) match.
+
+2016-10-17 Tomas Mraz <tmraz@fedoraproject.org>
+
+ pam_ftp: Properly use the first name from the supplied list.
+ * modules/pam_ftp/pam_ftp.c (lookup): Return first user from the list
+ of anonymous users if user name matches.
+ (pam_sm_authenticate): Free the returned value allocated in lookup().
+
+2016-09-12 Bartos-Elekes Zsolt <muszi@kite.hu>
+
+ pam_issue: Fix no prompting in parse escape codes mode.
+ * modules/pam_issue/pam_issue.c (read_issue_quoted): Fix misplaced strcat().
+
+2016-06-30 Maxin B. John <maxin.john@intel.com>
+
+ xtests: remove bash dependency.
+ There are no bash specific syntax in the xtest scripts. So, remove
+ the bash dependency.
+
+2016-06-30 Tomas Mraz <tmraz@fedoraproject.org>
+
+ Unification and cleanup of syslog log levels.
+ * libpam/pam_handlers.c: Make memory allocation failures LOG_CRIT.
+ * libpam/pam_modutil_priv.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_echo/pam_echo.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_env/pam_env.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_exec/pam_exec.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_filter/pam_filter.c: Make all non-memory call errors LOG_ERR.
+ * modules/pam_group/pam_group.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_issue/pam_issue.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_lastlog/pam_lastlog.c: The lastlog file creation is syslogged
+ with LOG_NOTICE, memory allocation errors with LOG_CRIT, other errors
+ with LOG_ERR.
+ * modules/pam_limits/pam_limits.c: User login limit messages are syslogged
+ with LOG_NOTICE, stale utmp entry with LOG_INFO, non-memory errors with
+ LOG_ERR.
+ * modules/pam_listfile/pam_listfile.c: Rejection of user is syslogged
+ with LOG_NOTICE.
+ * modules/pam_namespace/pam_namespace.c: Make memory allocation failures
+ LOG_CRIT.
+ * modules/pam_nologin/pam_nologin.c: Make memory allocation failures
+ LOG_CRIT, other errors LOG_ERR.
+ * modules/pam_securetty/pam_securetty.c: Rejection of access is syslogged
+ with LOG_NOTICE, non-memory errors with LOG_ERR.
+ * modules/pam_selinux/pam_selinux.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_succeed_if/pam_succeed_if.c: Make all non-memory call errors
+ LOG_ERR.
+ * modules/pam_time/pam_time.c: Make memory allocation failures LOG_CRIT.
+ * modules/pam_timestamp/pam_timestamp.c: Make memory allocation failures
+ LOG_CRIT.
+ * modules/pam_unix/pam_unix_acct.c: Make all non-memory call errors LOG_ERR.
+ * modules/pam_unix/pam_unix_passwd.c: Make memory allocation failures LOG_CRIT,
+ other errors LOG_ERR.
+ * modules/pam_unix/pam_unix_sess.c: Make all non-memory call errors LOG_ERR.
+ * modules/pam_unix/passverify.c: Unknown user is syslogged with LOG_NOTICE.
+ * modules/pam_unix/support.c: Unknown user is syslogged with LOG_NOTICE and
+ max retries ignorance by application likewise.
+ * modules/pam_unix/unix_chkpwd.c: Make all non-memory call errors LOG_ERR.
+ * modules/pam_userdb/pam_userdb.c: Password authentication error is syslogged
+ with LOG_NOTICE.
+ * modules/pam_xauth/pam_xauth.c: Make memory allocation failures LOG_CRIT.
+
+2016-06-15 Dmitry V. Levin <ldv@altlinux.org>
+
+ pam_timestamp: fix typo in strncmp usage.
+ Before this fix, a typo in check_login_time resulted to ruser and
+ struct utmp.ut_user being compared by the first character only,
+ which in turn could lead to a too low timestamp value being assigned
+ to oldest_login, effectively causing bypass of check_login_time.
+
+ * modules/pam_timestamp/pam_timestamp.c (check_login_time): Fix typo
+ in strncmp usage.
+
+ Patch-by: Anton V. Boyarshinov <boyarsh@altlinux.org>
+
+2016-05-30 Tomas Mraz <tmraz@fedoraproject.org>
+
+ Correct the examples in pam_fail_delay(3) man page.
+ doc/man/pam_fail_delay.3.xml: Correct the examples.
+
+2016-05-11 Tomas Mraz <tmraz@fedoraproject.org>
+
+ Remove spaces in examples for access.conf.
+ The spaces are ignored only with the default listsep. To remove confusion
+ if non-default listsep is used they are removed from the examples.
+
+ * modules/pam_access/access.conf: Remove all spaces around ':' in examples.
+ * modules/pam_access/access.conf.5.xml: Likewise.
+
+2016-05-05 Mike Frysinger <vapier@gentoo.org>
+
+ build: avoid non-portable == with "test" (ticket #60)
+ POSIX says test only accepts =. Some shells (including bash) accept ==,
+ but we should still stick to = for portability.
+
+ * configure.ac: Replace == with = in "test" invocations.
+
+2016-04-28 Thorsten Kukuk <kukuk@thkukuk.de>
+
+ Release version 1.3.0.
+ * NEWS: add changes for 1.3.0.
+ * configure.ac: bump version number.
+ * libpam/Makefile.am: bump revision of libpam.so version.
+
2016-04-28 Tomas Mraz <tmraz@fedoraproject.org>
Updated translations from Zanata.
diff --git a/Makefile.am b/Makefile.am
index 3db4e37a..40b300da 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,7 @@
# Copyright (c) 2005, 2006, 2007 Thorsten Kukuk <kukuk@thkukuk.de>
#
-AUTOMAKE_OPTIONS = 1.9 gnu dist-bzip2 check-news
+AUTOMAKE_OPTIONS = 1.9 gnu dist-bzip2 dist-xz check-news
SUBDIRS = libpam tests libpamc libpam_misc modules po conf doc examples xtests
@@ -24,6 +24,8 @@ releasedocs:
Linux-PAM-$(VERSION)/doc
tar jfc Linux-PAM-$(VERSION)-docs.tar.bz2 \
Linux-PAM-$(VERSION)/doc
+ tar Jfc Linux-PAM-$(VERSION)-docs.tar.xz \
+ Linux-PAM-$(VERSION)/doc
rm -rf Linux-PAM-$(VERSION)
xtests:
diff --git a/Makefile.in b/Makefile.in
index 97bc570c..759061df 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -209,9 +209,9 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz
GZIP_ENV = --best
-DIST_TARGETS = dist-bzip2 dist-gzip
+DIST_TARGETS = dist-xz dist-bzip2 dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -394,7 +394,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.9 gnu dist-bzip2 check-news
+AUTOMAKE_OPTIONS = 1.9 gnu dist-bzip2 dist-xz check-news
SUBDIRS = libpam tests libpamc libpam_misc modules po conf doc examples xtests
CLEANFILES = *~
EXTRA_DIST = pgp.keys.asc CHANGELOG ChangeLog-CVS Copyright Make.xml.rules
@@ -652,7 +652,6 @@ dist-bzip2: distdir
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
-
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
@@ -896,6 +895,8 @@ releasedocs:
Linux-PAM-$(VERSION)/doc
tar jfc Linux-PAM-$(VERSION)-docs.tar.bz2 \
Linux-PAM-$(VERSION)/doc
+ tar Jfc Linux-PAM-$(VERSION)-docs.tar.xz \
+ Linux-PAM-$(VERSION)/doc
rm -rf Linux-PAM-$(VERSION)
xtests:
diff --git a/NEWS b/NEWS
index eecd883d..810a39e5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,22 @@
Linux-PAM NEWS -- history of user-visible changes.
+Release 1.3.1
+* pam_motd: add support for a motd.d directory
+* pam_umask: Fix documentation to align with order of loading umask
+* pam_get_user.3: Fix missing word in documentation
+* pam_tally2 --reset: avoid creating a missing tallylog file
+* pam_mkhomedir: Allow creating parent of homedir under /
+* access.conf.5: Add note about spaces around ':'
+* pam.8: Workaround formatting problem
+* pam_unix: Check return value of malloc used for setcred data
+* pam_cracklib: Drop unused prompt macros
+* pam_tty_audit: Support matching users by uid range
+* pam_access: support parsing files in /etc/security/access.d/*.conf
+* pam_localuser: Correct documentation
+* pam_issue: Fix no prompting in parse escape codes mode
+* Unification and cleanup of syslog log levels
+
+
Release 1.3.0
* Remove of static modules support
* pam_unix: pass_not_set was removed
diff --git a/aclocal.m4 b/aclocal.m4
index 00f36057..44614c9a 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -318,10 +318,9 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh
index 63ae69dc..63ae69dc 100755..100644
--- a/build-aux/ltmain.sh
+++ b/build-aux/ltmain.sh
diff --git a/build-aux/test-driver b/build-aux/test-driver
index 32bf39e8..32bf39e8 100644..100755
--- a/build-aux/test-driver
+++ b/build-aux/test-driver
diff --git a/conf/pam_conv1/pam_conv_l.c b/conf/pam_conv1/pam_conv_l.c
index de0839e4..09125a2f 100644
--- a/conf/pam_conv1/pam_conv_l.c
+++ b/conf/pam_conv1/pam_conv_l.c
@@ -196,12 +196,12 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- yy_size_t yy_buf_size;
+ int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- yy_size_t yy_n_chars;
+ int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -271,7 +271,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
yy_size_t yyleng;
/* Points to current character in buffer. */
@@ -358,7 +358,7 @@ static void yy_fatal_error (yyconst char msg[] );
*/
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
- yyleng = (size_t) (yy_cp - yy_bp); \
+ yyleng = (int) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
@@ -596,7 +596,7 @@ static int input (void );
else \
{ \
errno=0; \
- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -724,7 +724,7 @@ yy_match:
if ( yy_current_state >= 21 )
yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 27 );
@@ -980,7 +980,7 @@ static int yy_get_next_buffer (void)
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
@@ -1015,7 +1015,7 @@ static int yy_get_next_buffer (void)
(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
- num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+ num_to_read = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
number_to_move - 1;
}
@@ -1049,9 +1049,9 @@ static int yy_get_next_buffer (void)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
@@ -1089,7 +1089,7 @@ static int yy_get_next_buffer (void)
if ( yy_current_state >= 21 )
yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
}
return yy_current_state;
@@ -1117,7 +1117,7 @@ static int yy_get_next_buffer (void)
if ( yy_current_state >= 21 )
yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
yy_is_jam = (yy_current_state == 20);
return yy_is_jam ? 0 : yy_current_state;
@@ -1135,7 +1135,7 @@ static int yy_get_next_buffer (void)
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register yy_size_t number_to_move = (yy_n_chars) + 2;
+ register int number_to_move = (yy_n_chars) + 2;
register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
register char *source =
@@ -1147,7 +1147,7 @@ static int yy_get_next_buffer (void)
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
- (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+ (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
@@ -1543,7 +1543,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
{
- return yy_scan_bytes(yystr,strlen(yystr) );
+ return yy_scan_bytes(yystr,(int) strlen(yystr) );
}
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
@@ -1561,7 +1561,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
+ n = (yy_size_t) _yybytes_len + 2;
buf = (char *) yyalloc(n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
diff --git a/configure b/configure
index ca42114c..d396e5d0 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Linux-PAM 1.3.0.
+# Generated by GNU Autoconf 2.69 for Linux-PAM 1.3.1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Linux-PAM'
PACKAGE_TARNAME='Linux-PAM'
-PACKAGE_VERSION='1.3.0'
-PACKAGE_STRING='Linux-PAM 1.3.0'
+PACKAGE_VERSION='1.3.1'
+PACKAGE_STRING='Linux-PAM 1.3.1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1426,7 +1426,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Linux-PAM 1.3.0 to adapt to many kinds of systems.
+\`configure' configures Linux-PAM 1.3.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1496,7 +1496,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Linux-PAM 1.3.0:";;
+ short | recursive ) echo "Configuration of Linux-PAM 1.3.1:";;
esac
cat <<\_ACEOF
@@ -1661,7 +1661,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Linux-PAM configure 1.3.0
+Linux-PAM configure 1.3.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2183,7 +2183,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Linux-PAM $as_me 1.3.0, which was
+It was created by Linux-PAM $as_me 1.3.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2734,8 +2734,8 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
@@ -3048,7 +3048,7 @@ fi
# Define the identity of the package.
PACKAGE='Linux-PAM'
- VERSION='1.3.0'
+ VERSION='1.3.1'
cat >>confdefs.h <<_ACEOF
@@ -13473,7 +13473,7 @@ else
WITH_PRELUDE=yes
fi
-if test "$WITH_PRELUDE" == "yes" ; then
+if test "$WITH_PRELUDE" = "yes" ; then
# Check whether --with-libprelude-prefix was given.
if test "${with_libprelude_prefix+set}" = set; then :
@@ -13787,7 +13787,7 @@ else
WITH_LCKPWDF=yes
fi
-if test "$WITH_LCKPWDF" == "yes" ; then
+if test "$WITH_LCKPWDF" = "yes" ; then
$as_echo "#define USE_LCKPWDF 1" >>confdefs.h
@@ -13851,7 +13851,7 @@ if test "${with_xauth+set}" = set; then :
withval=$with_xauth; pam_xauth_path=${withval}
fi
-if test x$with_xauth == x ; then
+if test x$with_xauth = x ; then
# Extract the first word of "xauth", so it can be a program name with args.
set dummy xauth; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -13892,7 +13892,7 @@ $as_echo "no" >&6; }
fi
- if test x$pam_xauth_path == x/usr/X11R6/bin/xauth ; then
+ if test x$pam_xauth_path = x/usr/X11R6/bin/xauth ; then
unset pam_xauth_path
fi
fi
@@ -14796,7 +14796,7 @@ else
WITH_SELINUX=yes
fi
-if test "$WITH_SELINUX" == "yes" ; then
+if test "$WITH_SELINUX" = "yes" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfilecon in -lselinux" >&5
$as_echo_n "checking for getfilecon in -lselinux... " >&6; }
if ${ac_cv_lib_selinux_getfilecon+:} false; then :
@@ -16178,8 +16178,8 @@ fi
if test ! -z "$BROWSER"; then
BROWSER="$BROWSER -T text/html -dump"
else
- # Extract the first word of "links", so it can be a program name with args.
-set dummy links; ac_word=$2
+ # Extract the first word of "elinks", so it can be a program name with args.
+set dummy elinks; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_BROWSER+:} false; then :
@@ -18975,7 +18975,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Linux-PAM $as_me 1.3.0, which was
+This file was extended by Linux-PAM $as_me 1.3.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19041,7 +19041,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Linux-PAM config.status 1.3.0
+Linux-PAM config.status 1.3.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 6380fa1d..3012ceb5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([Linux-PAM], [1.3.0], , [Linux-PAM])
+AC_INIT([Linux-PAM], [1.3.1], , [Linux-PAM])
AC_CONFIG_SRCDIR([conf/pam_conv1/pam_conv_y.y])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([-Wall -Wno-portability])
@@ -250,7 +250,7 @@ dnl
AC_ARG_ENABLE([prelude],
AS_HELP_STRING([--disable-prelude],[do not use prelude]),
WITH_PRELUDE=$enableval, WITH_PRELUDE=yes)
-if test "$WITH_PRELUDE" == "yes" ; then
+if test "$WITH_PRELUDE" = "yes" ; then
AM_PATH_LIBPRELUDE([0.9.0])
if test "$LIBPRELUDE_CONFIG" != "no" ; then
LIBPRELUDE_CFLAGS="$LIBPRELUDE_CFLAGS -DPRELUDE=1"
@@ -303,7 +303,7 @@ fi
AC_ARG_ENABLE([lckpwdf],
AS_HELP_STRING([--disable-lckpwdf],[do not use the lckpwdf function]),
WITH_LCKPWDF=$enableval, WITH_LCKPWDF=yes)
-if test "$WITH_LCKPWDF" == "yes" ; then
+if test "$WITH_LCKPWDF" = "yes" ; then
AC_DEFINE([USE_LCKPWDF], 1,
[Define to 1 if the lckpwdf function should be used])
fi
@@ -333,10 +333,10 @@ AC_ARG_WITH(xauth,
[ --with-xauth additional path to check for xauth when it is called from pam_xauth
[added to the default of /usr/X11R6/bin/xauth, /usr/bin/xauth, /usr/bin/X11/xauth]],
pam_xauth_path=${withval})
-if test x$with_xauth == x ; then
+if test x$with_xauth = x ; then
AC_PATH_PROG(pam_xauth_path, xauth)
dnl There is no sense in adding the first default path
- if test x$pam_xauth_path == x/usr/X11R6/bin/xauth ; then
+ if test x$pam_xauth_path = x/usr/X11R6/bin/xauth ; then
unset pam_xauth_path
fi
fi
@@ -488,7 +488,7 @@ AC_SUBST([NIS_LIBS])
AC_ARG_ENABLE([selinux],
AS_HELP_STRING([--disable-selinux],[do not use SELinux]),
WITH_SELINUX=$enableval, WITH_SELINUX=yes)
-if test "$WITH_SELINUX" == "yes" ; then
+if test "$WITH_SELINUX" = "yes" ; then
AC_CHECK_LIB([selinux],[getfilecon], LIBSELINUX="-lselinux", LIBSELINUX="")
else
LIBSELINUX=""
@@ -558,7 +558,7 @@ AC_PATH_PROG([BROWSER], [w3m])
if test ! -z "$BROWSER"; then
BROWSER="$BROWSER -T text/html -dump"
else
- AC_PATH_PROG([BROWSER], [links])
+ AC_PATH_PROG([BROWSER], [elinks])
if test ! -z "$BROWSER"; then
BROWSER="$BROWSER -no-numbering -no-references -dump"
else
diff --git a/doc/man/PAM.8 b/doc/man/PAM.8
index e9cfba00..09f223ed 100644
--- a/doc/man/PAM.8
+++ b/doc/man/PAM.8
@@ -2,12 +2,12 @@
.\" Title: pam
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2018
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM" "8" "05/18/2018" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/misc_conv.3 b/doc/man/misc_conv.3
index d1d5470e..6ee2a1c8 100644
--- a/doc/man/misc_conv.3
+++ b/doc/man/misc_conv.3
@@ -2,12 +2,12 @@
.\" Title: misc_conv
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "MISC_CONV" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "MISC_CONV" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam.3 b/doc/man/pam.3
index d5f24c17..6b579e38 100644
--- a/doc/man/pam.3
+++ b/doc/man/pam.3
@@ -2,12 +2,12 @@
.\" Title: pam
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam.8.xml b/doc/man/pam.8.xml
index d36baae8..9839defb 100644
--- a/doc/man/pam.8.xml
+++ b/doc/man/pam.8.xml
@@ -48,8 +48,7 @@
can be set by individual configuration files located in the
<filename>/etc/pam.d/</filename> directory. The presence of this
directory will cause <emphasis remap='B'>Linux-PAM</emphasis> to
- <emphasis remap='I'>ignore</emphasis>
- <filename>/etc/pam.conf</filename>.
+ <emphasis remap='I'>ignore</emphasis> <filename>/etc/pam.conf</filename>.
</para>
<para>
diff --git a/doc/man/pam.conf.5 b/doc/man/pam.conf.5
index 2dc78ff9..43fc60d0 100644
--- a/doc/man/pam.conf.5
+++ b/doc/man/pam.conf.5
@@ -2,12 +2,12 @@
.\" Title: pam.conf
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM\&.CONF" "5" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_acct_mgmt.3 b/doc/man/pam_acct_mgmt.3
index 0d844fd7..af8b238e 100644
--- a/doc/man/pam_acct_mgmt.3
+++ b/doc/man/pam_acct_mgmt.3
@@ -2,12 +2,12 @@
.\" Title: pam_acct_mgmt
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ACCT_MGMT" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_ACCT_MGMT" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_authenticate.3 b/doc/man/pam_authenticate.3
index 96f03999..10b68660 100644
--- a/doc/man/pam_authenticate.3
+++ b/doc/man/pam_authenticate.3
@@ -2,12 +2,12 @@
.\" Title: pam_authenticate
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_AUTHENTICATE" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_AUTHENTICATE" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_chauthtok.3 b/doc/man/pam_chauthtok.3
index 95ed92d8..06b4b056 100644
--- a/doc/man/pam_chauthtok.3
+++ b/doc/man/pam_chauthtok.3
@@ -2,12 +2,12 @@
.\" Title: pam_chauthtok
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_CHAUTHTOK" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_CHAUTHTOK" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_close_session.3 b/doc/man/pam_close_session.3
index 9184e76b..755c75c3 100644
--- a/doc/man/pam_close_session.3
+++ b/doc/man/pam_close_session.3
@@ -2,12 +2,12 @@
.\" Title: pam_close_session
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_CLOSE_SESSION" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_CLOSE_SESSION" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_conv.3 b/doc/man/pam_conv.3
index 4c96b8e6..568fabda 100644
--- a/doc/man/pam_conv.3
+++ b/doc/man/pam_conv.3
@@ -2,12 +2,12 @@
.\" Title: pam_conv
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_CONV" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_CONV" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_end.3 b/doc/man/pam_end.3
index d26fcd06..88567522 100644
--- a/doc/man/pam_end.3
+++ b/doc/man/pam_end.3
@@ -2,12 +2,12 @@
.\" Title: pam_end
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_END" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_END" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_error.3 b/doc/man/pam_error.3
index e5cea374..d7f4ca7c 100644
--- a/doc/man/pam_error.3
+++ b/doc/man/pam_error.3
@@ -2,12 +2,12 @@
.\" Title: pam_error
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ERROR" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_ERROR" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_fail_delay.3 b/doc/man/pam_fail_delay.3
index fdca8aca..47d63b73 100644
--- a/doc/man/pam_fail_delay.3
+++ b/doc/man/pam_fail_delay.3
@@ -2,12 +2,12 @@
.\" Title: pam_fail_delay
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_FAIL_DELAY" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_FAIL_DELAY" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -126,7 +126,7 @@ For example, a login application may require a failure delay of roughly 3 second
.RE
.\}
.PP
-if the modules do not request a delay, the failure delay will be between 2\&.25 and 3\&.75 seconds\&.
+if the modules do not request a delay, the failure delay will be between 1\&.5 and 4\&.5 seconds\&.
.PP
However, the modules, invoked in the authentication process, may also request delays:
.sp
@@ -142,7 +142,7 @@ module #2: pam_fail_delay (pamh, 4000000);
.RE
.\}
.PP
-in this case, it is the largest requested value that is used to compute the actual failed delay: here between 3 and 5 seconds\&.
+in this case, it is the largest requested value that is used to compute the actual failed delay: here between 2 and 6 seconds\&.
.SH "RETURN VALUES"
.PP
PAM_SUCCESS
diff --git a/doc/man/pam_fail_delay.3.xml b/doc/man/pam_fail_delay.3.xml
index 392298a4..46d89be0 100644
--- a/doc/man/pam_fail_delay.3.xml
+++ b/doc/man/pam_fail_delay.3.xml
@@ -135,7 +135,7 @@ void (*delay_fn)(int retval, unsigned usec_delay, void *appdata_ptr);
<para>
if the modules do not request a delay, the failure delay will be
- between 2.25 and 3.75 seconds.
+ between 1.5 and 4.5 seconds.
</para>
<para>
@@ -150,7 +150,7 @@ module #2: pam_fail_delay (pamh, 4000000);
<para>
in this case, it is the largest requested value that is used to
- compute the actual failed delay: here between 3 and 5 seconds.
+ compute the actual failed delay: here between 2 and 6 seconds.
</para>
</refsect1>
diff --git a/doc/man/pam_get_authtok.3 b/doc/man/pam_get_authtok.3
index cd6042aa..21e47772 100644
--- a/doc/man/pam_get_authtok.3
+++ b/doc/man/pam_get_authtok.3
@@ -2,12 +2,12 @@
.\" Title: pam_get_authtok
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_GET_AUTHTOK" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_GET_AUTHTOK" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_get_data.3 b/doc/man/pam_get_data.3
index fc06fb89..2be35e8b 100644
--- a/doc/man/pam_get_data.3
+++ b/doc/man/pam_get_data.3
@@ -2,12 +2,12 @@
.\" Title: pam_get_data
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_GET_DATA" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_GET_DATA" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_get_item.3 b/doc/man/pam_get_item.3
index 9ae79b34..dcde4dab 100644
--- a/doc/man/pam_get_item.3
+++ b/doc/man/pam_get_item.3
@@ -2,12 +2,12 @@
.\" Title: pam_get_item
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_GET_ITEM" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_GET_ITEM" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_get_user.3 b/doc/man/pam_get_user.3
index f8cbb7d9..397f0798 100644
--- a/doc/man/pam_get_user.3
+++ b/doc/man/pam_get_user.3
@@ -2,12 +2,12 @@
.\" Title: pam_get_user
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2018
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_GET_USER" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_GET_USER" "3" "05/18/2018" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -43,7 +43,7 @@ pam_get_user \- get user name
The
\fBpam_get_user\fR
function returns the name of the user specified by
-\fBpam_start\fR(3)\&. If no user was specified it what
+\fBpam_start\fR(3)\&. If no user was specified it returns what
\fBpam_get_item (pamh, PAM_USER, \&.\&.\&. );\fR
would have returned\&. If this is NULL it obtains the username via the
\fBpam_conv\fR(3)
diff --git a/doc/man/pam_get_user.3.xml b/doc/man/pam_get_user.3.xml
index 9c5830e9..16ef5483 100644
--- a/doc/man/pam_get_user.3.xml
+++ b/doc/man/pam_get_user.3.xml
@@ -42,7 +42,7 @@
name of the user specified by
<citerefentry>
<refentrytitle>pam_start</refentrytitle><manvolnum>3</manvolnum>
- </citerefentry>. If no user was specified it what
+ </citerefentry>. If no user was specified it returns what
<function>pam_get_item (pamh, PAM_USER, ... );</function> would
have returned. If this is NULL it obtains the username via the
<citerefentry>
diff --git a/doc/man/pam_getenv.3 b/doc/man/pam_getenv.3
index 79c6a071..ea47fe3e 100644
--- a/doc/man/pam_getenv.3
+++ b/doc/man/pam_getenv.3
@@ -2,12 +2,12 @@
.\" Title: pam_getenv
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_GETENV" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_GETENV" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_getenvlist.3 b/doc/man/pam_getenvlist.3
index 4a1cddd8..945cc903 100644
--- a/doc/man/pam_getenvlist.3
+++ b/doc/man/pam_getenvlist.3
@@ -2,12 +2,12 @@
.\" Title: pam_getenvlist
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_GETENVLIST" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_GETENVLIST" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_info.3 b/doc/man/pam_info.3
index 5689f035..0d50a2ff 100644
--- a/doc/man/pam_info.3
+++ b/doc/man/pam_info.3
@@ -2,12 +2,12 @@
.\" Title: pam_info
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_INFO" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_INFO" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_misc_drop_env.3 b/doc/man/pam_misc_drop_env.3
index 87979dcd..89b73012 100644
--- a/doc/man/pam_misc_drop_env.3
+++ b/doc/man/pam_misc_drop_env.3
@@ -2,12 +2,12 @@
.\" Title: pam_misc_drop_env
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_MISC_DROP_ENV" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_MISC_DROP_ENV" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_misc_paste_env.3 b/doc/man/pam_misc_paste_env.3
index d457c7e7..f94f14e0 100644
--- a/doc/man/pam_misc_paste_env.3
+++ b/doc/man/pam_misc_paste_env.3
@@ -2,12 +2,12 @@
.\" Title: pam_misc_paste_env
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_MISC_PASTE_ENV" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_MISC_PASTE_ENV" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_misc_setenv.3 b/doc/man/pam_misc_setenv.3
index ccc2019a..06caaeb2 100644
--- a/doc/man/pam_misc_setenv.3
+++ b/doc/man/pam_misc_setenv.3
@@ -2,12 +2,12 @@
.\" Title: pam_misc_setenv
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_MISC_SETENV" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_MISC_SETENV" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_open_session.3 b/doc/man/pam_open_session.3
index 2482c99f..ec4d729d 100644
--- a/doc/man/pam_open_session.3
+++ b/doc/man/pam_open_session.3
@@ -2,12 +2,12 @@
.\" Title: pam_open_session
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_OPEN_SESSION" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_OPEN_SESSION" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_prompt.3 b/doc/man/pam_prompt.3
index 179239a0..adc48456 100644
--- a/doc/man/pam_prompt.3
+++ b/doc/man/pam_prompt.3
@@ -2,12 +2,12 @@
.\" Title: pam_prompt
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_PROMPT" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_PROMPT" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_putenv.3 b/doc/man/pam_putenv.3
index a4a71ed2..115d8d2f 100644
--- a/doc/man/pam_putenv.3
+++ b/doc/man/pam_putenv.3
@@ -2,12 +2,12 @@
.\" Title: pam_putenv
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_PUTENV" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_PUTENV" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_set_data.3 b/doc/man/pam_set_data.3
index de737f40..8c4a498b 100644
--- a/doc/man/pam_set_data.3
+++ b/doc/man/pam_set_data.3
@@ -2,12 +2,12 @@
.\" Title: pam_set_data
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SET_DATA" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SET_DATA" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_set_item.3 b/doc/man/pam_set_item.3
index f82319a5..96a760cd 100644
--- a/doc/man/pam_set_item.3
+++ b/doc/man/pam_set_item.3
@@ -2,12 +2,12 @@
.\" Title: pam_set_item
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SET_ITEM" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SET_ITEM" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_setcred.3 b/doc/man/pam_setcred.3
index d9988b4c..fcf08309 100644
--- a/doc/man/pam_setcred.3
+++ b/doc/man/pam_setcred.3
@@ -2,12 +2,12 @@
.\" Title: pam_setcred
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SETCRED" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SETCRED" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_sm_acct_mgmt.3 b/doc/man/pam_sm_acct_mgmt.3
index f8d082d6..eb566705 100644
--- a/doc/man/pam_sm_acct_mgmt.3
+++ b/doc/man/pam_sm_acct_mgmt.3
@@ -2,12 +2,12 @@
.\" Title: pam_sm_acct_mgmt
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SM_ACCT_MGMT" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SM_ACCT_MGMT" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_sm_authenticate.3 b/doc/man/pam_sm_authenticate.3
index a8321971..6ea6390d 100644
--- a/doc/man/pam_sm_authenticate.3
+++ b/doc/man/pam_sm_authenticate.3
@@ -2,12 +2,12 @@
.\" Title: pam_sm_authenticate
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SM_AUTHENTICATE" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SM_AUTHENTICATE" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_sm_chauthtok.3 b/doc/man/pam_sm_chauthtok.3
index 2b003ef2..50918aa2 100644
--- a/doc/man/pam_sm_chauthtok.3
+++ b/doc/man/pam_sm_chauthtok.3
@@ -2,12 +2,12 @@
.\" Title: pam_sm_chauthtok
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SM_CHAUTHTOK" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SM_CHAUTHTOK" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_sm_close_session.3 b/doc/man/pam_sm_close_session.3
index 15952017..836a1241 100644
--- a/doc/man/pam_sm_close_session.3
+++ b/doc/man/pam_sm_close_session.3
@@ -2,12 +2,12 @@
.\" Title: pam_sm_close_session
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SM_CLOSE_SESSION" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SM_CLOSE_SESSION" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_sm_open_session.3 b/doc/man/pam_sm_open_session.3
index a09c85ae..94813d09 100644
--- a/doc/man/pam_sm_open_session.3
+++ b/doc/man/pam_sm_open_session.3
@@ -2,12 +2,12 @@
.\" Title: pam_sm_open_session
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SM_OPEN_SESSION" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SM_OPEN_SESSION" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_sm_setcred.3 b/doc/man/pam_sm_setcred.3
index 6913ba28..fbeb9a8f 100644
--- a/doc/man/pam_sm_setcred.3
+++ b/doc/man/pam_sm_setcred.3
@@ -2,12 +2,12 @@
.\" Title: pam_sm_setcred
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SM_SETCRED" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SM_SETCRED" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_start.3 b/doc/man/pam_start.3
index bd1aed51..2a9d24bd 100644
--- a/doc/man/pam_start.3
+++ b/doc/man/pam_start.3
@@ -2,12 +2,12 @@
.\" Title: pam_start
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_START" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_START" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_strerror.3 b/doc/man/pam_strerror.3
index f03c2598..ccd7a053 100644
--- a/doc/man/pam_strerror.3
+++ b/doc/man/pam_strerror.3
@@ -2,12 +2,12 @@
.\" Title: pam_strerror
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_STRERROR" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_STRERROR" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_syslog.3 b/doc/man/pam_syslog.3
index e5ba6029..3543e107 100644
--- a/doc/man/pam_syslog.3
+++ b/doc/man/pam_syslog.3
@@ -2,12 +2,12 @@
.\" Title: pam_syslog
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SYSLOG" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_SYSLOG" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/man/pam_xauth_data.3 b/doc/man/pam_xauth_data.3
index 048a119c..6b9f8d98 100644
--- a/doc/man/pam_xauth_data.3
+++ b/doc/man/pam_xauth_data.3
@@ -2,12 +2,12 @@
.\" Title: pam_xauth_data
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_XAUTH_DATA" "3" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_XAUTH_DATA" "3" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/specs/parse_l.c b/doc/specs/parse_l.c
index 27d0bdbb..abdf89ee 100644
--- a/doc/specs/parse_l.c
+++ b/doc/specs/parse_l.c
@@ -196,12 +196,12 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- yy_size_t yy_buf_size;
+ int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- yy_size_t yy_n_chars;
+ int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -271,7 +271,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
yy_size_t yyleng;
/* Points to current character in buffer. */
@@ -358,7 +358,7 @@ static void yy_fatal_error (yyconst char msg[] );
*/
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
- yyleng = (size_t) (yy_cp - yy_bp); \
+ yyleng = (int) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
@@ -582,7 +582,7 @@ static int input (void );
else \
{ \
errno=0; \
- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -710,7 +710,7 @@ yy_match:
if ( yy_current_state >= 19 )
yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 30 );
@@ -964,7 +964,7 @@ static int yy_get_next_buffer (void)
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
@@ -999,7 +999,7 @@ static int yy_get_next_buffer (void)
(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
- num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+ num_to_read = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
number_to_move - 1;
}
@@ -1033,9 +1033,9 @@ static int yy_get_next_buffer (void)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
@@ -1073,7 +1073,7 @@ static int yy_get_next_buffer (void)
if ( yy_current_state >= 19 )
yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
}
return yy_current_state;
@@ -1101,7 +1101,7 @@ static int yy_get_next_buffer (void)
if ( yy_current_state >= 19 )
yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
yy_is_jam = (yy_current_state == 18);
return yy_is_jam ? 0 : yy_current_state;
@@ -1119,7 +1119,7 @@ static int yy_get_next_buffer (void)
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register yy_size_t number_to_move = (yy_n_chars) + 2;
+ register int number_to_move = (yy_n_chars) + 2;
register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
register char *source =
@@ -1131,7 +1131,7 @@ static int yy_get_next_buffer (void)
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
- (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+ (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
@@ -1527,7 +1527,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
{
- return yy_scan_bytes(yystr,strlen(yystr) );
+ return yy_scan_bytes(yystr,(int) strlen(yystr) );
}
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
@@ -1545,7 +1545,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
+ n = (yy_size_t) _yybytes_len + 2;
buf = (char *) yyalloc(n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
diff --git a/libpam/pam_handlers.c b/libpam/pam_handlers.c
index 91cccadc..106ef7c2 100644
--- a/libpam/pam_handlers.c
+++ b/libpam/pam_handlers.c
@@ -688,7 +688,7 @@ _pam_load_module(pam_handle_t *pamh, const char *mod_path, int handler_type)
*sizeof(struct loaded_module));
if (tmp == NULL) {
D(("cannot enlarge module pointer memory"));
- pam_syslog(pamh, LOG_ERR,
+ pam_syslog(pamh, LOG_CRIT,
"realloc returned NULL in _pam_load_module");
return NULL;
}
@@ -708,7 +708,7 @@ _pam_load_module(pam_handle_t *pamh, const char *mod_path, int handler_type)
mod_full_isa_path = malloc(strlen(mod_path) + strlen(_PAM_ISA) + 1);
if (mod_full_isa_path == NULL) {
D(("_pam_load_module: couldn't get memory for mod_path"));
- pam_syslog(pamh, LOG_ERR, "no memory for module path");
+ pam_syslog(pamh, LOG_CRIT, "no memory for module path");
success = PAM_ABORT;
} else {
strcpy(mod_full_isa_path, mod_path);
@@ -748,7 +748,7 @@ _pam_load_module(pam_handle_t *pamh, const char *mod_path, int handler_type)
/* indicate its name - later we will search for it by this */
if ((mod->name = _pam_strdup(mod_path)) == NULL) {
D(("_pam_load_module: couldn't get memory for mod_path"));
- pam_syslog(pamh, LOG_ERR, "no memory for module path");
+ pam_syslog(pamh, LOG_CRIT, "no memory for module path");
success = PAM_ABORT;
}
diff --git a/libpam/pam_modutil_priv.c b/libpam/pam_modutil_priv.c
index 88094f63..e22fab1a 100644
--- a/libpam/pam_modutil_priv.c
+++ b/libpam/pam_modutil_priv.c
@@ -87,7 +87,7 @@ int pam_modutil_drop_priv(pam_handle_t *pamh,
if (res > p->number_of_groups) {
p->grplist = calloc(res, sizeof(gid_t));
if (!p->grplist) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
return cleanup(p);
}
p->allocated = 1;
diff --git a/modules/pam_access/Makefile.am b/modules/pam_access/Makefile.am
index 6c0f738e..924b7219 100644
--- a/modules/pam_access/Makefile.am
+++ b/modules/pam_access/Makefile.am
@@ -15,7 +15,8 @@ securelibdir = $(SECUREDIR)
secureconfdir = $(SCONFIGDIR)
AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \
- -DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\"
+ -DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\" \
+ -DACCESS_CONF_GLOB=\"$(SCONFIGDIR)/access.d/*.conf\"
AM_LDFLAGS = -no-undefined -avoid-version -module
if HAVE_VERSIONING
AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map
diff --git a/modules/pam_access/Makefile.in b/modules/pam_access/Makefile.in
index a95dc1fe..02a35cb0 100644
--- a/modules/pam_access/Makefile.in
+++ b/modules/pam_access/Makefile.in
@@ -573,7 +573,8 @@ XMLS = README.xml access.conf.5.xml pam_access.8.xml
securelibdir = $(SECUREDIR)
secureconfdir = $(SCONFIGDIR)
AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \
- -DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\"
+ -DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\" \
+ -DACCESS_CONF_GLOB=\"$(SCONFIGDIR)/access.d/*.conf\"
AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1)
securelib_LTLIBRARIES = pam_access.la
diff --git a/modules/pam_access/README b/modules/pam_access/README
index f605c240..0e16c0d8 100644
--- a/modules/pam_access/README
+++ b/modules/pam_access/README
@@ -10,7 +10,13 @@ names, internet addresses or network numbers, or on terminal line names, X
$DISPLAY values, or PAM service names in case of non-networked logins.
By default rules for access management are taken from config file /etc/security
-/access.conf if you don't specify another file.
+/access.conf if you don't specify another file. Then individual *.conf files
+from the /etc/security/access.d/ directory are read. The files are parsed one
+after another in the order of the system locale. The effect of the individual
+files is the same as if all the files were concatenated together in the order
+of parsing. This means that once a pattern is matched in some file no further
+files are parsed. If a config file is explicitly specified with the accessfile
+option the files in the above directory are not parsed.
If Linux PAM is compiled with audit support the module will report when it
denies access based on origin (host, tty, etc.).
@@ -66,49 +72,49 @@ access.conf.
User root should be allowed to get access via cron, X11 terminal :0, tty1, ...,
tty5, tty6.
-+ : root : crond :0 tty1 tty2 tty3 tty4 tty5 tty6
++:root:crond :0 tty1 tty2 tty3 tty4 tty5 tty6
User root should be allowed to get access from hosts which own the IPv4
addresses. This does not mean that the connection have to be a IPv4 one, a IPv6
connection from a host with one of this IPv4 addresses does work, too.
-+ : root : 192.168.200.1 192.168.200.4 192.168.200.9
++:root:192.168.200.1 192.168.200.4 192.168.200.9
-+ : root : 127.0.0.1
++:root:127.0.0.1
User root should get access from network 192.168.201. where the term will be
evaluated by string matching. But it might be better to use network/netmask
instead. The same meaning of 192.168.201. is 192.168.201.0/24 or 192.168.201.0/
255.255.255.0.
-+ : root : 192.168.201.
++:root:192.168.201.
User root should be able to have access from hosts foo1.bar.org and
foo2.bar.org (uses string matching also).
-+ : root : foo1.bar.org foo2.bar.org
++:root:foo1.bar.org foo2.bar.org
User root should be able to have access from domain foo.bar.org (uses string
matching also).
-+ : root : .foo.bar.org
++:root:.foo.bar.org
User root should be denied to get access from all other sources.
-- : root : ALL
+-:root:ALL
User foo and members of netgroup admins should be allowed to get access from
all sources. This will only work if netgroup service is available.
-+ : @admins foo : ALL
++:@admins foo:ALL
User john and foo should get access from IPv6 host address.
-+ : john foo : 2001:db8:0:101::1
++:john foo:2001:db8:0:101::1
User john should get access from IPv6 net/mask.
-+ : john : 2001:db8:0:101::/64
++:john:2001:db8:0:101::/64
Disallow console logins to all but the shutdown, sync and all other accounts,
which are a member of the wheel group.
@@ -117,5 +123,5 @@ which are a member of the wheel group.
All other users should be denied to get access from all sources.
-- : ALL : ALL
+-:ALL:ALL
diff --git a/modules/pam_access/access.conf b/modules/pam_access/access.conf
index 74c5fbe8..47b6b84c 100644
--- a/modules/pam_access/access.conf
+++ b/modules/pam_access/access.conf
@@ -18,7 +18,7 @@
# pam_access with X applications that provide PAM_TTY values that are
# the display variable like "host:0".]
#
-# permission : users : origins
+# permission:users:origins
#
# The first field should be a "+" (access granted) or "-" (access denied)
# character.
@@ -79,44 +79,44 @@
##############################################################################
#
# User "root" should be allowed to get access via cron .. tty5 tty6.
-#+ : root : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6
+#+:root:cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6
#
# User "root" should be allowed to get access from hosts with ip addresses.
-#+ : root : 192.168.200.1 192.168.200.4 192.168.200.9
-#+ : root : 127.0.0.1
+#+:root:192.168.200.1 192.168.200.4 192.168.200.9
+#+:root:127.0.0.1
#
# User "root" should get access from network 192.168.201.
# This term will be evaluated by string matching.
# comment: It might be better to use network/netmask instead.
# The same is 192.168.201.0/24 or 192.168.201.0/255.255.255.0
-#+ : root : 192.168.201.
+#+:root:192.168.201.
#
# User "root" should be able to have access from domain.
# Uses string matching also.
-#+ : root : .foo.bar.org
+#+:root:.foo.bar.org
#
# User "root" should be denied to get access from all other sources.
-#- : root : ALL
+#-:root:ALL
#
# User "foo" and members of netgroup "nis_group" should be
# allowed to get access from all sources.
# This will only work if netgroup service is available.
-#+ : @nis_group foo : ALL
+#+:@nis_group foo:ALL
#
# User "john" should get access from ipv4 net/mask
-#+ : john : 127.0.0.0/24
+#+:john:127.0.0.0/24
#
# User "john" should get access from ipv4 as ipv6 net/mask
-#+ : john : ::ffff:127.0.0.0/127
+#+:john:::ffff:127.0.0.0/127
#
# User "john" should get access from ipv6 host address
-#+ : john : 2001:4ca0:0:101::1
+#+:john:2001:4ca0:0:101::1
#
# User "john" should get access from ipv6 host address (same as above)
-#+ : john : 2001:4ca0:0:101:0:0:0:1
+#+:john:2001:4ca0:0:101:0:0:0:1
#
# User "john" should get access from ipv6 net/mask
-#+ : john : 2001:4ca0:0:101::/64
+#+:john:2001:4ca0:0:101::/64
#
# All other users should be denied to get access from all sources.
-#- : ALL : ALL
+#-:ALL:ALL
diff --git a/modules/pam_access/access.conf.5 b/modules/pam_access/access.conf.5
index 5ef63053..8e7ea4cf 100644
--- a/modules/pam_access/access.conf.5
+++ b/modules/pam_access/access.conf.5
@@ -2,12 +2,12 @@
.\" Title: access.conf
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2018
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "ACCESS\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "ACCESS\&.CONF" "5" "05/18/2018" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -119,15 +119,15 @@ should be allowed to get access via
\fItty5\fR,
\fItty6\fR\&.
.PP
-+ : root : crond :0 tty1 tty2 tty3 tty4 tty5 tty6
++:root:crond :0 tty1 tty2 tty3 tty4 tty5 tty6
.PP
User
\fIroot\fR
should be allowed to get access from hosts which own the IPv4 addresses\&. This does not mean that the connection have to be a IPv4 one, a IPv6 connection from a host with one of this IPv4 addresses does work, too\&.
.PP
-+ : root : 192\&.168\&.200\&.1 192\&.168\&.200\&.4 192\&.168\&.200\&.9
++:root:192\&.168\&.200\&.1 192\&.168\&.200\&.4 192\&.168\&.200\&.9
.PP
-+ : root : 127\&.0\&.0\&.1
++:root:127\&.0\&.0\&.1
.PP
User
\fIroot\fR
@@ -140,7 +140,7 @@ is
or
\fI192\&.168\&.201\&.0/255\&.255\&.255\&.0\fR\&.
.PP
-+ : root : 192\&.168\&.201\&.
++:root:192\&.168\&.201\&.
.PP
User
\fIroot\fR
@@ -150,7 +150,7 @@ and
\fIfoo2\&.bar\&.org\fR
(uses string matching also)\&.
.PP
-+ : root : foo1\&.bar\&.org foo2\&.bar\&.org
++:root:foo1\&.bar\&.org foo2\&.bar\&.org
.PP
User
\fIroot\fR
@@ -158,13 +158,13 @@ should be able to have access from domain
\fIfoo\&.bar\&.org\fR
(uses string matching also)\&.
.PP
-+ : root : \&.foo\&.bar\&.org
++:root:\&.foo\&.bar\&.org
.PP
User
\fIroot\fR
should be denied to get access from all other sources\&.
.PP
-\- : root : ALL
+\-:root:ALL
.PP
User
\fIfoo\fR
@@ -172,7 +172,7 @@ and members of netgroup
\fIadmins\fR
should be allowed to get access from all sources\&. This will only work if netgroup service is available\&.
.PP
-+ : @admins foo : ALL
++:@admins foo:ALL
.PP
User
\fIjohn\fR
@@ -180,13 +180,13 @@ and
\fIfoo\fR
should get access from IPv6 host address\&.
.PP
-+ : john foo : 2001:db8:0:101::1
++:john foo:2001:db8:0:101::1
.PP
User
\fIjohn\fR
should get access from IPv6 net/mask\&.
.PP
-+ : john : 2001:db8:0:101::/64
++:john:2001:db8:0:101::/64
.PP
Disallow console logins to all but the shutdown, sync and all other accounts, which are a member of the wheel group\&.
.PP
@@ -194,7 +194,12 @@ Disallow console logins to all but the shutdown, sync and all other accounts, wh
.PP
All other users should be denied to get access from all sources\&.
.PP
-\- : ALL : ALL
+\-:ALL:ALL
+.SH "NOTES"
+.PP
+The default separators of list items in a field are space, \*(Aq,\*(Aq, and tabulator characters\&. Thus conveniently if spaces are put at the beginning and the end of the fields they are ignored\&. However if the list separator is changed with the
+\fIlistsep\fR
+option, the spaces will become part of the actual item and the line will be most probably ignored\&. For this reason, it is not recommended to put spaces around the \*(Aq:\*(Aq characters\&.
.SH "SEE ALSO"
.PP
\fBpam_access\fR(8),
diff --git a/modules/pam_access/access.conf.5.xml b/modules/pam_access/access.conf.5.xml
index d686d92b..386346b9 100644
--- a/modules/pam_access/access.conf.5.xml
+++ b/modules/pam_access/access.conf.5.xml
@@ -139,7 +139,7 @@
<emphasis>tty1</emphasis>, ..., <emphasis>tty5</emphasis>,
<emphasis>tty6</emphasis>.
</para>
- <para>+ : root : crond :0 tty1 tty2 tty3 tty4 tty5 tty6</para>
+ <para>+:root:crond :0 tty1 tty2 tty3 tty4 tty5 tty6</para>
<para>
User <emphasis>root</emphasis> should be allowed to get access from
@@ -147,8 +147,8 @@
connection have to be a IPv4 one, a IPv6 connection from a host with
one of this IPv4 addresses does work, too.
</para>
- <para>+ : root : 192.168.200.1 192.168.200.4 192.168.200.9</para>
- <para>+ : root : 127.0.0.1</para>
+ <para>+:root:192.168.200.1 192.168.200.4 192.168.200.9</para>
+ <para>+:root:127.0.0.1</para>
<para>
User <emphasis>root</emphasis> should get access from network
@@ -158,44 +158,44 @@
<emphasis>192.168.201.0/24</emphasis> or
<emphasis>192.168.201.0/255.255.255.0</emphasis>.
</para>
- <para>+ : root : 192.168.201.</para>
+ <para>+:root:192.168.201.</para>
<para>
User <emphasis>root</emphasis> should be able to have access from hosts
<emphasis>foo1.bar.org</emphasis> and <emphasis>foo2.bar.org</emphasis>
(uses string matching also).
</para>
- <para>+ : root : foo1.bar.org foo2.bar.org</para>
+ <para>+:root:foo1.bar.org foo2.bar.org</para>
<para>
User <emphasis>root</emphasis> should be able to have access from
domain <emphasis>foo.bar.org</emphasis> (uses string matching also).
</para>
- <para>+ : root : .foo.bar.org</para>
+ <para>+:root:.foo.bar.org</para>
<para>
User <emphasis>root</emphasis> should be denied to get access
from all other sources.
</para>
- <para>- : root : ALL</para>
+ <para>-:root:ALL</para>
<para>
User <emphasis>foo</emphasis> and members of netgroup
<emphasis>admins</emphasis> should be allowed to get access
from all sources. This will only work if netgroup service is available.
</para>
- <para>+ : @admins foo : ALL</para>
+ <para>+:@admins foo:ALL</para>
<para>
User <emphasis>john</emphasis> and <emphasis>foo</emphasis>
should get access from IPv6 host address.
</para>
- <para>+ : john foo : 2001:db8:0:101::1</para>
+ <para>+:john foo:2001:db8:0:101::1</para>
<para>
User <emphasis>john</emphasis> should get access from IPv6 net/mask.
</para>
- <para>+ : john : 2001:db8:0:101::/64</para>
+ <para>+:john:2001:db8:0:101::/64</para>
<para>
Disallow console logins to all but the shutdown, sync and all
@@ -206,10 +206,22 @@
<para>
All other users should be denied to get access from all sources.
</para>
- <para>- : ALL : ALL</para>
+ <para>-:ALL:ALL</para>
</refsect1>
+ <refsect1 id="access.conf-notes">
+ <title>NOTES</title>
+ <para>
+ The default separators of list items in a field are space, ',', and tabulator
+ characters. Thus conveniently if spaces are put at the beginning and the end of
+ the fields they are ignored. However if the list separator is changed with the
+ <emphasis>listsep</emphasis> option, the spaces will become part of the actual
+ item and the line will be most probably ignored. For this reason, it is not
+ recommended to put spaces around the ':' characters.
+ </para>
+ </refsect1>
+
<refsect1 id="access.conf-see_also">
<title>SEE ALSO</title>
<para>
diff --git a/modules/pam_access/pam_access.8 b/modules/pam_access/pam_access.8
index 2a2a2c26..138c3c48 100644
--- a/modules/pam_access/pam_access.8
+++ b/modules/pam_access/pam_access.8
@@ -2,12 +2,12 @@
.\" Title: pam_access
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2018
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ACCESS" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_ACCESS" "8" "05/18/2018" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -40,7 +40,13 @@ values, or PAM service names in case of non\-networked logins\&.
.PP
By default rules for access management are taken from config file
/etc/security/access\&.conf
-if you don\*(Aqt specify another file\&.
+if you don\*(Aqt specify another file\&. Then individual
+*\&.conf
+files from the
+/etc/security/access\&.d/
+directory are read\&. The files are parsed one after another in the order of the system locale\&. The effect of the individual files is the same as if all the files were concatenated together in the order of parsing\&. This means that once a pattern is matched in some file no further files are parsed\&. If a config file is explicitly specified with the
+\fBaccessfile\fR
+option the files in the above directory are not parsed\&.
.PP
If Linux PAM is compiled with audit support the module will report when it denies access based on origin (host, tty, etc\&.)\&.
.SH "OPTIONS"
diff --git a/modules/pam_access/pam_access.8.xml b/modules/pam_access/pam_access.8.xml
index c629a9f3..9a6556cc 100644
--- a/modules/pam_access/pam_access.8.xml
+++ b/modules/pam_access/pam_access.8.xml
@@ -57,6 +57,14 @@
By default rules for access management are taken from config file
<filename>/etc/security/access.conf</filename> if you don't specify
another file.
+ Then individual <filename>*.conf</filename> files from the
+ <filename>/etc/security/access.d/</filename> directory are read.
+ The files are parsed one after another in the order of the system locale.
+ The effect of the individual files is the same as if all the files were
+ concatenated together in the order of parsing. This means that once
+ a pattern is matched in some file no further files are parsed.
+ If a config file is explicitly specified with the <option>accessfile</option>
+ option the files in the above directory are not parsed.
</para>
<para>
If Linux PAM is compiled with audit support the module will report
diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c
index 3ac1ad00..80d885dd 100644
--- a/modules/pam_access/pam_access.c
+++ b/modules/pam_access/pam_access.c
@@ -44,6 +44,7 @@
#include <arpa/inet.h>
#include <netdb.h>
#include <sys/socket.h>
+#include <glob.h>
#ifdef HAVE_LIBAUDIT
#include <libaudit.h>
#endif
@@ -87,6 +88,7 @@
#define ALL 2
#define YES 1
#define NO 0
+#define NOMATCH -1
/*
* A structure to bundle up all login-related information to keep the
@@ -415,7 +417,11 @@ login_access (pam_handle_t *pamh, struct login_info *item)
"pam_access", 0);
}
#endif
- return (match == NO || (line[0] == '+'));
+ if (match == NO)
+ return NOMATCH;
+ if (line[0] == '+')
+ return YES;
+ return NO;
}
@@ -516,7 +522,9 @@ user_match (pam_handle_t *pamh, char *tok, struct login_info *item)
/* Try to split on a pattern (@*[^@]+)(@+.*) */
for (at = tok; *at == '@'; ++at);
- if ((at = strchr(at, '@')) != NULL) {
+ if (tok[0] == '(' && tok[strlen(tok) - 1] == ')') {
+ return (group_match (pamh, tok, string, item->debug));
+ } else if ((at = strchr(at, '@')) != NULL) {
/* split user@host pattern */
if (item->hostname == NULL)
return NO;
@@ -541,9 +549,7 @@ user_match (pam_handle_t *pamh, char *tok, struct login_info *item)
hostname = item->hostname;
}
return (netgroup_match (pamh, tok + 1, hostname, string, item->debug));
- } else if (tok[0] == '(' && tok[strlen(tok) - 1] == ')')
- return (group_match (pamh, tok, string, item->debug));
- else if ((rv=string_match (pamh, tok, string, item->debug)) != NO) /* ALL or exact match */
+ } else if ((rv=string_match (pamh, tok, string, item->debug)) != NO) /* ALL or exact match */
return rv;
else if (item->only_new_group_syntax == NO &&
pam_modutil_user_in_group_nam_nam (pamh,
@@ -727,7 +733,7 @@ network_netmask_match (pam_handle_t *pamh,
{ /* netmask as integre value */
char *endptr = NULL;
netmask = strtol(netmask_ptr, &endptr, 0);
- if ((endptr == NULL) || (*endptr != '\0'))
+ if ((endptr == netmask_ptr) || (*endptr != '\0'))
{ /* invalid netmask value */
return NO;
}
@@ -800,6 +806,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
const char *user=NULL;
const void *void_from=NULL;
const char *from;
+ const char const *default_config = PAM_ACCESS_CONFIG;
struct passwd *user_pw;
char hostname[MAXHOSTNAMELEN + 1];
int rv;
@@ -821,7 +828,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
*/
memset(&loginfo, '\0', sizeof(loginfo));
loginfo.user = user_pw;
- loginfo.config_file = PAM_ACCESS_CONFIG;
+ loginfo.config_file = default_config;
/* parse the argument list */
@@ -892,6 +899,26 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
rv = login_access(pamh, &loginfo);
+ if (rv == NOMATCH && loginfo.config_file == default_config) {
+ glob_t globbuf;
+ int i, glob_rv;
+
+ /* We do not manipulate locale as setlocale() is not
+ * thread safe. We could use uselocale() in future.
+ */
+ glob_rv = glob(ACCESS_CONF_GLOB, GLOB_ERR, NULL, &globbuf);
+ if (!glob_rv) {
+ /* Parse the *.conf files. */
+ for (i = 0; globbuf.gl_pathv[i] != NULL; i++) {
+ loginfo.config_file = globbuf.gl_pathv[i];
+ rv = login_access(pamh, &loginfo);
+ if (rv != NOMATCH)
+ break;
+ }
+ globfree(&globbuf);
+ }
+ }
+
if (loginfo.gai_rv == 0 && loginfo.res)
freeaddrinfo(loginfo.res);
diff --git a/modules/pam_cracklib/pam_cracklib.8 b/modules/pam_cracklib/pam_cracklib.8
index 849b4821..3ed37e8e 100644
--- a/modules/pam_cracklib/pam_cracklib.8
+++ b/modules/pam_cracklib/pam_cracklib.8
@@ -2,12 +2,12 @@
.\" Title: pam_cracklib
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_CRACKLIB" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_CRACKLIB" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_cracklib/pam_cracklib.c b/modules/pam_cracklib/pam_cracklib.c
index 16549319..45c02aba 100644
--- a/modules/pam_cracklib/pam_cracklib.c
+++ b/modules/pam_cracklib/pam_cracklib.c
@@ -64,12 +64,6 @@ extern char *FascistCheck(char *pw, const char *dictpath);
#define CRACKLIB_DICTS NULL
#endif
-/* For Translators: "%s%s" could be replaced with "<service> " or "". */
-#define PROMPT1 _("New %s%spassword: ")
-/* For Translators: "%s%s" could be replaced with "<service> " or "". */
-#define PROMPT2 _("Retype new %s%spassword: ")
-#define MISTYPED_PASS _("Sorry, passwords do not match.")
-
#ifdef MIN
#undef MIN
#endif
@@ -408,7 +402,7 @@ static int simple(struct cracklib_options *opt, const char *new)
} else
sameclass++;
}
- if (opt->max_class_repeat > 1 && sameclass > opt->max_class_repeat) {
+ if (opt->max_class_repeat > 0 && sameclass > opt->max_class_repeat) {
return 1;
}
}
diff --git a/modules/pam_debug/pam_debug.8 b/modules/pam_debug/pam_debug.8
index 476bc924..bba7f934 100644
--- a/modules/pam_debug/pam_debug.8
+++ b/modules/pam_debug/pam_debug.8
@@ -2,12 +2,12 @@
.\" Title: pam_debug
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_DEBUG" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_DEBUG" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_deny/pam_deny.8 b/modules/pam_deny/pam_deny.8
index ad2142eb..662a3081 100644
--- a/modules/pam_deny/pam_deny.8
+++ b/modules/pam_deny/pam_deny.8
@@ -2,12 +2,12 @@
.\" Title: pam_deny
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_DENY" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_DENY" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_echo/pam_echo.8 b/modules/pam_echo/pam_echo.8
index b0e5cc03..f291bff8 100644
--- a/modules/pam_echo/pam_echo.8
+++ b/modules/pam_echo/pam_echo.8
@@ -2,12 +2,12 @@
.\" Title: pam_echo
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ECHO" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_ECHO" "8" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_echo/pam_echo.c b/modules/pam_echo/pam_echo.c
index 8e3d35f9..38303880 100644
--- a/modules/pam_echo/pam_echo.c
+++ b/modules/pam_echo/pam_echo.c
@@ -76,7 +76,7 @@ replace_and_print (pam_handle_t *pamh, const char *mesg)
output = malloc (length);
if (output == NULL)
{
- pam_syslog (pamh, LOG_ERR, "running out of memory");
+ pam_syslog (pamh, LOG_CRIT, "running out of memory");
return PAM_BUF_ERR;
}
diff --git a/modules/pam_env/pam_env.8 b/modules/pam_env/pam_env.8
index 2c9e11c7..2a3ea165 100644
--- a/modules/pam_env/pam_env.8
+++ b/modules/pam_env/pam_env.8
@@ -2,12 +2,12 @@
.\" Title: pam_env
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ENV" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_ENV" "8" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_env/pam_env.c b/modules/pam_env/pam_env.c
index 0b8002f8..3846e359 100644
--- a/modules/pam_env/pam_env.c
+++ b/modules/pam_env/pam_env.c
@@ -384,7 +384,7 @@ _parse_line (const pam_handle_t *pamh, char *buffer, VAR *var)
length = strcspn(buffer," \t\n");
if ((var->name = malloc(length + 1)) == NULL) {
- pam_syslog(pamh, LOG_ERR, "Couldn't malloc %d bytes", length+1);
+ pam_syslog(pamh, LOG_CRIT, "Couldn't malloc %d bytes", length+1);
return PAM_BUF_ERR;
}
@@ -440,7 +440,7 @@ _parse_line (const pam_handle_t *pamh, char *buffer, VAR *var)
if (length) {
if ((*valptr = malloc(length + 1)) == NULL) {
D(("Couldn't malloc %d bytes", length+1));
- pam_syslog(pamh, LOG_ERR, "Couldn't malloc %d bytes", length+1);
+ pam_syslog(pamh, LOG_CRIT, "Couldn't malloc %d bytes", length+1);
return PAM_BUF_ERR;
}
(void)strncpy(*valptr,ptr,length);
@@ -653,7 +653,7 @@ static int _expand_arg(pam_handle_t *pamh, char **value)
free(*value);
if ((*value = malloc(strlen(tmp) +1)) == NULL) {
D(("Couldn't malloc %d bytes for expanded var", strlen(tmp)+1));
- pam_syslog (pamh, LOG_ERR, "Couldn't malloc %lu bytes for expanded var",
+ pam_syslog (pamh, LOG_CRIT, "Couldn't malloc %lu bytes for expanded var",
(unsigned long)strlen(tmp)+1);
return PAM_BUF_ERR;
}
@@ -722,7 +722,7 @@ static int _define_var(pam_handle_t *pamh, int ctrl, VAR *var)
D(("Called."));
if (asprintf(&envvar, "%s=%s", var->name, var->value) < 0) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
return PAM_BUF_ERR;
}
@@ -814,7 +814,7 @@ handle_env (pam_handle_t *pamh, int argc, const char **argv)
else {
if (asprintf(&envpath, "%s/%s", user_entry->pw_dir, user_env_file) < 0)
{
- pam_syslog(pamh, LOG_ERR, "Out of memory");
+ pam_syslog(pamh, LOG_CRIT, "Out of memory");
return PAM_BUF_ERR;
}
if (stat(envpath, &statbuf) == 0) {
diff --git a/modules/pam_env/pam_env.conf.5 b/modules/pam_env/pam_env.conf.5
index c19505c9..ffa35a13 100644
--- a/modules/pam_env/pam_env.conf.5
+++ b/modules/pam_env/pam_env.conf.5
@@ -2,12 +2,12 @@
.\" Title: pam_env.conf
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ENV\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_ENV\&.CONF" "5" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_exec/pam_exec.8 b/modules/pam_exec/pam_exec.8
index 877223c3..f4cff034 100644
--- a/modules/pam_exec/pam_exec.8
+++ b/modules/pam_exec/pam_exec.8
@@ -2,12 +2,12 @@
.\" Title: pam_exec
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_EXEC" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_EXEC" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_exec/pam_exec.c b/modules/pam_exec/pam_exec.c
index 0ab65489..52dc6818 100644
--- a/modules/pam_exec/pam_exec.c
+++ b/modules/pam_exec/pam_exec.c
@@ -177,9 +177,12 @@ call_exec (const char *pam_type, pam_handle_t *pamh,
return retval;
}
- pam_set_item (pamh, PAM_AUTHTOK, resp);
- authtok = strndupa (resp, PAM_MAX_RESP_SIZE);
- _pam_drop (resp);
+ if (resp)
+ {
+ pam_set_item (pamh, PAM_AUTHTOK, resp);
+ authtok = strndupa (resp, PAM_MAX_RESP_SIZE);
+ _pam_drop (resp);
+ }
}
else
authtok = strndupa (void_pass, PAM_MAX_RESP_SIZE);
@@ -426,7 +429,7 @@ call_exec (const char *pam_type, pam_handle_t *pamh,
if (tmp == NULL)
{
free(envlist);
- pam_syslog (pamh, LOG_ERR, "realloc environment failed: %m");
+ pam_syslog (pamh, LOG_CRIT, "realloc environment failed: %m");
_exit (ENOMEM);
}
envlist = tmp;
@@ -439,7 +442,7 @@ call_exec (const char *pam_type, pam_handle_t *pamh,
if (asprintf(&envstr, "%s=%s", env_items[i].name, (const char *)item) < 0)
{
free(envlist);
- pam_syslog (pamh, LOG_ERR, "prepare environment failed: %m");
+ pam_syslog (pamh, LOG_CRIT, "prepare environment failed: %m");
_exit (ENOMEM);
}
envlist[envlen++] = envstr;
@@ -449,7 +452,7 @@ call_exec (const char *pam_type, pam_handle_t *pamh,
if (asprintf(&envstr, "PAM_TYPE=%s", pam_type) < 0)
{
free(envlist);
- pam_syslog (pamh, LOG_ERR, "prepare environment failed: %m");
+ pam_syslog (pamh, LOG_CRIT, "prepare environment failed: %m");
_exit (ENOMEM);
}
envlist[envlen++] = envstr;
diff --git a/modules/pam_faildelay/pam_faildelay.8 b/modules/pam_faildelay/pam_faildelay.8
index c5612428..60818dda 100644
--- a/modules/pam_faildelay/pam_faildelay.8
+++ b/modules/pam_faildelay/pam_faildelay.8
@@ -2,12 +2,12 @@
.\" Title: pam_faildelay
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_FAILDELAY" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_FAILDELAY" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_filter/pam_filter.8 b/modules/pam_filter/pam_filter.8
index 39eab3a9..e4588f68 100644
--- a/modules/pam_filter/pam_filter.8
+++ b/modules/pam_filter/pam_filter.8
@@ -2,12 +2,12 @@
.\" Title: pam_filter
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_FILTER" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_FILTER" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_filter/pam_filter.c b/modules/pam_filter/pam_filter.c
index 6e6a0cf7..8ab7981a 100644
--- a/modules/pam_filter/pam_filter.c
+++ b/modules/pam_filter/pam_filter.c
@@ -78,13 +78,13 @@ static int process_args(pam_handle_t *pamh
} else if (strcmp("run1",*argv) == 0) {
ctrl |= FILTER_RUN1;
if (argc <= 0) {
- pam_syslog(pamh, LOG_ALERT, "no run filter supplied");
+ pam_syslog(pamh, LOG_ERR, "no run filter supplied");
} else
break;
} else if (strcmp("run2",*argv) == 0) {
ctrl |= FILTER_RUN2;
if (argc <= 0) {
- pam_syslog(pamh, LOG_ALERT, "no run filter supplied");
+ pam_syslog(pamh, LOG_ERR, "no run filter supplied");
} else
break;
} else {
@@ -261,7 +261,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
int fd[2], child=0, child2=0, aterminal;
if (filtername == NULL || *filtername != '/') {
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_ERR,
"filtername not permitted; full pathname required");
return PAM_ABORT;
}
@@ -310,7 +310,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
t_mode.c_cc[VTIME] = 0; /* 0/10th second for chars */
if ( tcsetattr(STDIN_FILENO, TCSAFLUSH, &t_mode) < 0 ) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"couldn't put terminal in RAW mode: %m");
close(fd[0]);
return PAM_ABORT;
@@ -329,7 +329,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
*/
if ( socketpair(AF_UNIX, SOCK_STREAM, 0, fd) < 0 ) {
- pam_syslog(pamh, LOG_CRIT, "couldn't open a stream pipe: %m");
+ pam_syslog(pamh, LOG_ERR, "couldn't open a stream pipe: %m");
return PAM_ABORT;
}
}
@@ -338,7 +338,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
if ( (child = fork()) < 0 ) {
- pam_syslog(pamh, LOG_WARNING, "first fork failed: %m");
+ pam_syslog(pamh, LOG_ERR, "first fork failed: %m");
if (aterminal) {
(void) tcsetattr(STDIN_FILENO, TCSAFLUSH, &stored_mode);
close(fd[0]);
@@ -369,20 +369,20 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
/* make this process it's own process leader */
if (setsid() == -1) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"child cannot become new session: %m");
return PAM_ABORT;
}
/* grant slave terminal */
if (grantpt (fd[0]) < 0) {
- pam_syslog(pamh, LOG_WARNING, "Cannot grant acccess to slave terminal");
+ pam_syslog(pamh, LOG_ERR, "Cannot grant acccess to slave terminal");
return PAM_ABORT;
}
/* unlock slave terminal */
if (unlockpt (fd[0]) < 0) {
- pam_syslog(pamh, LOG_WARNING, "Cannot unlock slave terminal");
+ pam_syslog(pamh, LOG_ERR, "Cannot unlock slave terminal");
return PAM_ABORT;
}
@@ -390,7 +390,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
terminal = ptsname(fd[0]); /* returned value should not be freed */
if (terminal == NULL) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"Cannot get the name of the slave terminal: %m");
return PAM_ABORT;
}
@@ -399,7 +399,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
close(fd[0]); /* process is the child -- uses line fd[1] */
if (fd[1] < 0) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"cannot open slave terminal: %s: %m", terminal);
return PAM_ABORT;
}
@@ -408,7 +408,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
parent's was before we set it into RAW mode */
if ( tcsetattr(fd[1], TCSANOW, &stored_mode) < 0 ) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"cannot set slave terminal mode: %s: %m", terminal);
close(fd[1]);
return PAM_ABORT;
@@ -424,7 +424,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
if ( dup2(fd[1],STDIN_FILENO) != STDIN_FILENO ||
dup2(fd[1],STDOUT_FILENO) != STDOUT_FILENO ||
dup2(fd[1],STDERR_FILENO) != STDERR_FILENO ) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"unable to re-assign STDIN/OUT/ERR: %m");
close(fd[1]);
return PAM_ABORT;
@@ -435,7 +435,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
if ( fcntl(STDIN_FILENO, F_SETFD, 0) ||
fcntl(STDOUT_FILENO,F_SETFD, 0) ||
fcntl(STDERR_FILENO,F_SETFD, 0) ) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"unable to re-assign STDIN/OUT/ERR: %m");
return PAM_ABORT;
}
@@ -462,7 +462,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
if ( (child2 = fork()) < 0 ) {
- pam_syslog(pamh, LOG_WARNING, "filter fork failed: %m");
+ pam_syslog(pamh, LOG_ERR, "filter fork failed: %m");
child2 = 0;
} else if ( child2 == 0 ) { /* exec the child filter */
@@ -470,7 +470,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
if ( dup2(fd[0],APPIN_FILENO) != APPIN_FILENO ||
dup2(fd[0],APPOUT_FILENO) != APPOUT_FILENO ||
dup2(fd[0],APPERR_FILENO) != APPERR_FILENO ) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"unable to re-assign APPIN/OUT/ERR: %m");
close(fd[0]);
_exit(1);
@@ -481,7 +481,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
if ( fcntl(APPIN_FILENO, F_SETFD, 0) == -1 ||
fcntl(APPOUT_FILENO,F_SETFD, 0) == -1 ||
fcntl(APPERR_FILENO,F_SETFD, 0) == -1 ) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_ERR,
"unable to retain APPIN/OUT/ERR: %m");
close(APPIN_FILENO);
close(APPOUT_FILENO);
@@ -495,7 +495,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
/* getting to here is an error */
- pam_syslog(pamh, LOG_ALERT, "filter: %s: %m", filtername);
+ pam_syslog(pamh, LOG_ERR, "filter: %s: %m", filtername);
_exit(1);
} else { /* wait for either of the two children to exit */
@@ -524,7 +524,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
child2 = 0;
} else {
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_ERR,
"programming error <chid=%d,lstatus=%x> "
"in file %s at line %d",
chid, lstatus, __FILE__, __LINE__);
@@ -562,7 +562,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
} else {
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_ERR,
"programming error <chid=%d,lstatus=%x> "
"in file %s at line %d",
chid, lstatus, __FILE__, __LINE__);
diff --git a/modules/pam_ftp/pam_ftp.8 b/modules/pam_ftp/pam_ftp.8
index 6561985c..1d5c9b7b 100644
--- a/modules/pam_ftp/pam_ftp.8
+++ b/modules/pam_ftp/pam_ftp.8
@@ -2,12 +2,12 @@
.\" Title: pam_ftp
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_FTP" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_FTP" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_ftp/pam_ftp.c b/modules/pam_ftp/pam_ftp.c
index 6b6cf2a0..1c2f1456 100644
--- a/modules/pam_ftp/pam_ftp.c
+++ b/modules/pam_ftp/pam_ftp.c
@@ -71,11 +71,10 @@ _pam_parse(pam_handle_t *pamh, int argc, const char **argv, const char **users)
* return 1 if listed 0 if not.
*/
-static int lookup(const char *name, const char *list, const char **_user)
+static int lookup(const char *name, const char *list, char **_user)
{
int anon = 0;
- *_user = name; /* this is the default */
if (list && *list) {
const char *l;
char *list_copy, *x;
@@ -86,12 +85,14 @@ static int lookup(const char *name, const char *list, const char **_user)
while (list_copy && (l = strtok_r(x, ",", &sptr))) {
x = NULL;
if (!strcmp(name, l)) {
- *_user = list;
+ *_user = list_copy;
anon = 1;
+ break;
}
}
- _pam_overwrite(list_copy);
- _pam_drop(list_copy);
+ if (*_user != list_copy) {
+ free(list_copy);
+ }
} else {
#define MAX_L 2
static const char *l[MAX_L] = { "ftp", "anonymous" };
@@ -99,7 +100,7 @@ static int lookup(const char *name, const char *list, const char **_user)
for (i=0; i<MAX_L; ++i) {
if (!strcmp(l[i], name)) {
- *_user = l[0];
+ *_user = strdup(l[0]);
anon = 1;
break;
}
@@ -117,6 +118,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
{
int retval, anon=0, ctrl;
const char *user;
+ char *anon_user = NULL;
const char *users = NULL;
/*
@@ -134,15 +136,16 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
}
if (!(ctrl & PAM_NO_ANON)) {
- anon = lookup(user, users, &user);
+ anon = lookup(user, users, &anon_user);
}
if (anon) {
- retval = pam_set_item(pamh, PAM_USER, (const void *)user);
- if (retval != PAM_SUCCESS || user == NULL) {
+ retval = pam_set_item(pamh, PAM_USER, (const void *)anon_user);
+ if (retval != PAM_SUCCESS || anon_user == NULL) {
pam_syslog(pamh, LOG_ERR, "user resetting failed");
return PAM_USER_UNKNOWN;
}
+ free(anon_user);
}
/*
diff --git a/modules/pam_group/group.conf.5 b/modules/pam_group/group.conf.5
index a106f919..933a22ec 100644
--- a/modules/pam_group/group.conf.5
+++ b/modules/pam_group/group.conf.5
@@ -2,12 +2,12 @@
.\" Title: group.conf
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "GROUP\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "GROUP\&.CONF" "5" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_group/pam_group.8 b/modules/pam_group/pam_group.8
index 4dcce3ca..804c921a 100644
--- a/modules/pam_group/pam_group.8
+++ b/modules/pam_group/pam_group.8
@@ -2,12 +2,12 @@
.\" Title: pam_group
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_GROUP" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_GROUP" "8" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_group/pam_group.c b/modules/pam_group/pam_group.c
index 263b3d51..8cd178c0 100644
--- a/modules/pam_group/pam_group.c
+++ b/modules/pam_group/pam_group.c
@@ -91,7 +91,7 @@ read_field(const pam_handle_t *pamh, int fd, char **buf, int *from, int *state)
if (! *buf) {
*buf = (char *) calloc(1, PAM_GROUP_BUFLEN+1);
if (! *buf) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
D(("no memory"));
*state = STATE_EOF;
return -1;
diff --git a/modules/pam_issue/pam_issue.8 b/modules/pam_issue/pam_issue.8
index bfab9dbb..5d61a643 100644
--- a/modules/pam_issue/pam_issue.8
+++ b/modules/pam_issue/pam_issue.8
@@ -2,12 +2,12 @@
.\" Title: pam_issue
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ISSUE" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_ISSUE" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_issue/pam_issue.c b/modules/pam_issue/pam_issue.c
index 5b5ee416..5fa21c37 100644
--- a/modules/pam_issue/pam_issue.c
+++ b/modules/pam_issue/pam_issue.c
@@ -105,7 +105,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
char *new_prompt = realloc(issue_prompt, size);
if (new_prompt == NULL) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
retval = PAM_BUF_ERR;
goto out;
}
@@ -141,7 +141,7 @@ read_issue_raw(pam_handle_t *pamh, FILE *fp, char **prompt)
}
if ((issue = malloc(st.st_size + 1)) == NULL) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
return PAM_BUF_ERR;
}
@@ -167,7 +167,7 @@ read_issue_quoted(pam_handle_t *pamh, FILE *fp, char **prompt)
*prompt = NULL;
if ((issue = malloc(size)) == NULL) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
return PAM_BUF_ERR;
}
@@ -277,8 +277,8 @@ read_issue_quoted(pam_handle_t *pamh, FILE *fp, char **prompt)
return PAM_BUF_ERR;
}
issue = new_issue;
- strcat(issue, buf);
}
+ strcat(issue, buf);
}
if (ferror(fp)) {
diff --git a/modules/pam_keyinit/pam_keyinit.8 b/modules/pam_keyinit/pam_keyinit.8
index c9715933..4dfbffbc 100644
--- a/modules/pam_keyinit/pam_keyinit.8
+++ b/modules/pam_keyinit/pam_keyinit.8
@@ -2,12 +2,12 @@
.\" Title: pam_keyinit
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_KEYINIT" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_KEYINIT" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_lastlog/pam_lastlog.8 b/modules/pam_lastlog/pam_lastlog.8
index 649d5fb6..738bd1eb 100644
--- a/modules/pam_lastlog/pam_lastlog.8
+++ b/modules/pam_lastlog/pam_lastlog.8
@@ -2,12 +2,12 @@
.\" Title: pam_lastlog
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_LASTLOG" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_LASTLOG" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_lastlog/pam_lastlog.c b/modules/pam_lastlog/pam_lastlog.c
index 1e2f08d2..1a796b99 100644
--- a/modules/pam_lastlog/pam_lastlog.c
+++ b/modules/pam_lastlog/pam_lastlog.c
@@ -204,7 +204,7 @@ last_login_open(pam_handle_t *pamh, int announce, uid_t uid)
D(("unable to create %s file", _PATH_LASTLOG));
return -1;
}
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_NOTICE,
"file %s created", _PATH_LASTLOG);
D(("file %s created", _PATH_LASTLOG));
} else {
@@ -290,7 +290,7 @@ last_login_read(pam_handle_t *pamh, int announce, int last_fd, uid_t uid, time_t
/* TRANSLATORS: " from <host>" */
if (asprintf(&host, _(" from %.*s"), UT_HOSTSIZE,
last_login.ll_host) < 0) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
retval = PAM_BUF_ERR;
goto cleanup;
}
@@ -302,7 +302,7 @@ last_login_read(pam_handle_t *pamh, int announce, int last_fd, uid_t uid, time_t
/* TRANSLATORS: " on <terminal>" */
if (asprintf(&line, _(" on %.*s"), UT_LINESIZE,
last_login.ll_line) < 0) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
retval = PAM_BUF_ERR;
goto cleanup;
}
@@ -480,7 +480,7 @@ last_login_failed(pam_handle_t *pamh, int announce, const char *user, time_t llt
}
if (retval != 0)
- pam_syslog(pamh, LOG_WARNING, "corruption detected in %s", _PATH_BTMP);
+ pam_syslog(pamh, LOG_ERR, "corruption detected in %s", _PATH_BTMP);
retval = PAM_SUCCESS;
if (failed) {
@@ -504,7 +504,7 @@ last_login_failed(pam_handle_t *pamh, int announce, const char *user, time_t llt
/* TRANSLATORS: " from <host>" */
if (asprintf(&host, _(" from %.*s"), UT_HOSTSIZE,
utuser.ut_host) < 0) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
retval = PAM_BUF_ERR;
goto cleanup;
}
@@ -516,7 +516,7 @@ last_login_failed(pam_handle_t *pamh, int announce, const char *user, time_t llt
/* TRANSLATORS: " on <terminal>" */
if (asprintf(&line, _(" on %.*s"), UT_LINESIZE,
utuser.ut_line) < 0) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
retval = PAM_BUF_ERR;
goto cleanup;
}
diff --git a/modules/pam_limits/limits.conf.5 b/modules/pam_limits/limits.conf.5
index b94af83f..1404553c 100644
--- a/modules/pam_limits/limits.conf.5
+++ b/modules/pam_limits/limits.conf.5
@@ -2,12 +2,12 @@
.\" Title: limits.conf
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "LIMITS\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "LIMITS\&.CONF" "5" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -331,7 +331,8 @@ ftp hard nproc 0
\fBpam_limits\fR(8),
\fBpam.d\fR(5),
\fBpam\fR(8),
-\fBgetrlimit\fR(2)\fBgetrlimit\fR(3p)
+\fBgetrlimit\fR(2),
+\fBgetrlimit\fR(3p)
.SH "AUTHOR"
.PP
pam_limits was initially written by Cristian Gafton <gafton@redhat\&.com>
diff --git a/modules/pam_limits/limits.conf.5.xml b/modules/pam_limits/limits.conf.5.xml
index 72857982..380a1399 100644
--- a/modules/pam_limits/limits.conf.5.xml
+++ b/modules/pam_limits/limits.conf.5.xml
@@ -335,7 +335,7 @@ ftp hard nproc 0
<citerefentry><refentrytitle>pam_limits</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>getrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>getrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
<citerefentry><refentrytitle>getrlimit</refentrytitle><manvolnum>3p</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/modules/pam_limits/pam_limits.8 b/modules/pam_limits/pam_limits.8
index a9c81786..64044fff 100644
--- a/modules/pam_limits/pam_limits.8
+++ b/modules/pam_limits/pam_limits.8
@@ -2,12 +2,12 @@
.\" Title: pam_limits
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_LIMITS" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_LIMITS" "8" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_limits/pam_limits.c b/modules/pam_limits/pam_limits.c
index d63c683e..4bc4ae71 100644
--- a/modules/pam_limits/pam_limits.c
+++ b/modules/pam_limits/pam_limits.c
@@ -286,7 +286,7 @@ check_logins (pam_handle_t *pamh, const char *name, int limit, int ctrl,
}
if (kill(ut->ut_pid, 0) == -1 && errno == ESRCH) {
/* process does not exist anymore */
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_INFO,
"Stale utmp entry (pid %d) for '%s' ignored",
ut->ut_pid, user);
continue;
@@ -299,10 +299,10 @@ check_logins (pam_handle_t *pamh, const char *name, int limit, int ctrl,
endutent();
if (count > limit) {
if (name) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_NOTICE,
"Too many logins (max %d) for %s", limit, name);
} else {
- pam_syslog(pamh, LOG_WARNING, "Too many system logins (max %d)", limit);
+ pam_syslog(pamh, LOG_NOTICE, "Too many system logins (max %d)", limit);
}
return LOGIN_ERR;
}
@@ -1025,7 +1025,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
ctrl = _pam_parse(pamh, argc, argv, pl);
retval = pam_get_item( pamh, PAM_USER, (void*) &user_name );
if ( user_name == NULL || retval != PAM_SUCCESS ) {
- pam_syslog(pamh, LOG_CRIT, "open_session - error recovering username");
+ pam_syslog(pamh, LOG_ERR, "open_session - error recovering username");
return PAM_SESSION_ERR;
}
@@ -1039,7 +1039,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
retval = init_limits(pamh, pl, ctrl);
if (retval != PAM_SUCCESS) {
- pam_syslog(pamh, LOG_WARNING, "cannot initialize");
+ pam_syslog(pamh, LOG_ERR, "cannot initialize");
return PAM_ABORT;
}
@@ -1082,7 +1082,7 @@ out:
globfree(&globbuf);
if (retval != PAM_SUCCESS)
{
- pam_syslog(pamh, LOG_WARNING, "error parsing the configuration file: '%s' ",CONF_FILE);
+ pam_syslog(pamh, LOG_ERR, "error parsing the configuration file: '%s' ",CONF_FILE);
return retval;
}
diff --git a/modules/pam_listfile/pam_listfile.8 b/modules/pam_listfile/pam_listfile.8
index f40611e1..f3d54258 100644
--- a/modules/pam_listfile/pam_listfile.8
+++ b/modules/pam_listfile/pam_listfile.8
@@ -2,12 +2,12 @@
.\" Title: pam_listfile
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_LISTFILE" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_LISTFILE" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_listfile/pam_listfile.c b/modules/pam_listfile/pam_listfile.c
index c2364065..5723598e 100644
--- a/modules/pam_listfile/pam_listfile.c
+++ b/modules/pam_listfile/pam_listfile.c
@@ -364,7 +364,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
(void) pam_get_item(pamh, PAM_SERVICE, &service);
(void) pam_get_user(pamh, &user_name, NULL);
if (!quiet)
- pam_syslog (pamh, LOG_ALERT, "Refused user %s for service %s",
+ pam_syslog (pamh, LOG_NOTICE, "Refused user %s for service %s",
user_name, (const char *)service);
return PAM_AUTH_ERR;
}
diff --git a/modules/pam_localuser/README b/modules/pam_localuser/README
index 50663ead..e4c932cb 100644
--- a/modules/pam_localuser/README
+++ b/modules/pam_localuser/README
@@ -25,7 +25,7 @@ file=/path/passwd
EXAMPLES
-Add the following line to /etc/pam.d/su to allow only local users in group
+Add the following lines to /etc/pam.d/su to allow only local users or group
wheel to use su.
account sufficient pam_localuser.so
diff --git a/modules/pam_localuser/pam_localuser.8 b/modules/pam_localuser/pam_localuser.8
index 1604060b..bb83430c 100644
--- a/modules/pam_localuser/pam_localuser.8
+++ b/modules/pam_localuser/pam_localuser.8
@@ -2,12 +2,12 @@
.\" Title: pam_localuser
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_LOCALUSER" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_LOCALUSER" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -70,15 +70,15 @@ PAM_SERVICE_ERR
No username was given\&.
.RE
.PP
-PAM_USER_UNKNOWN
+PAM_PERM_DENIED
.RS 4
-User not known\&.
+The user is not listed in the passwd file\&.
.RE
.SH "EXAMPLES"
.PP
-Add the following line to
+Add the following lines to
/etc/pam\&.d/su
-to allow only local users in group wheel to use su\&.
+to allow only local users or group wheel to use su\&.
.sp
.if n \{\
.RS 4
diff --git a/modules/pam_localuser/pam_localuser.8.xml b/modules/pam_localuser/pam_localuser.8.xml
index b06a0bf7..2a8b2e04 100644
--- a/modules/pam_localuser/pam_localuser.8.xml
+++ b/modules/pam_localuser/pam_localuser.8.xml
@@ -106,16 +106,16 @@
<term>PAM_SERVICE_ERR</term>
<listitem>
<para>
- No username was given.
+ No username was given.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>PAM_USER_UNKNOWN</term>
+ <term>PAM_PERM_DENIED</term>
<listitem>
<para>
- User not known.
+ The user is not listed in the passwd file.
</para>
</listitem>
</varlistentry>
@@ -127,8 +127,8 @@
<refsect1 id='pam_localuser-examples'>
<title>EXAMPLES</title>
<para>
- Add the following line to <filename>/etc/pam.d/su</filename> to
- allow only local users in group wheel to use su.
+ Add the following lines to <filename>/etc/pam.d/su</filename> to
+ allow only local users or group wheel to use su.
<programlisting>
account sufficient pam_localuser.so
account required pam_wheel.so
diff --git a/modules/pam_loginuid/pam_loginuid.8 b/modules/pam_loginuid/pam_loginuid.8
index 444c79c3..8c5949e4 100644
--- a/modules/pam_loginuid/pam_loginuid.8
+++ b/modules/pam_loginuid/pam_loginuid.8
@@ -2,12 +2,12 @@
.\" Title: pam_loginuid
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_LOGINUID" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_LOGINUID" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_mail/pam_mail.8 b/modules/pam_mail/pam_mail.8
index 7e2be9f8..41e6e443 100644
--- a/modules/pam_mail/pam_mail.8
+++ b/modules/pam_mail/pam_mail.8
@@ -2,12 +2,12 @@
.\" Title: pam_mail
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_MAIL" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_MAIL" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_mkhomedir/mkhomedir_helper.8 b/modules/pam_mkhomedir/mkhomedir_helper.8
index a9d9889a..de85f2fa 100644
--- a/modules/pam_mkhomedir/mkhomedir_helper.8
+++ b/modules/pam_mkhomedir/mkhomedir_helper.8
@@ -2,12 +2,12 @@
.\" Title: mkhomedir_helper
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "MKHOMEDIR_HELPER" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "MKHOMEDIR_HELPER" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_mkhomedir/mkhomedir_helper.c b/modules/pam_mkhomedir/mkhomedir_helper.c
index 9fafe6ab..9e204c16 100644
--- a/modules/pam_mkhomedir/mkhomedir_helper.c
+++ b/modules/pam_mkhomedir/mkhomedir_helper.c
@@ -338,16 +338,18 @@ make_parent_dirs(char *dir, int make)
char *cp = strrchr(dir, '/');
struct stat st;
- if (!cp || cp == dir)
+ if (!cp)
return rc;
- *cp = '\0';
- if (stat(dir, &st) && errno == ENOENT)
- rc = make_parent_dirs(dir, 1);
- *cp = '/';
+ if (cp != dir) {
+ *cp = '\0';
+ if (stat(dir, &st) && errno == ENOENT)
+ rc = make_parent_dirs(dir, 1);
+ *cp = '/';
- if (rc != PAM_SUCCESS)
- return rc;
+ if (rc != PAM_SUCCESS)
+ return rc;
+ }
if (make && mkdir(dir, 0755) && errno != EEXIST) {
pam_syslog(NULL, LOG_ERR, "unable to create directory %s: %m", dir);
diff --git a/modules/pam_mkhomedir/pam_mkhomedir.8 b/modules/pam_mkhomedir/pam_mkhomedir.8
index 704e62d5..3efcad50 100644
--- a/modules/pam_mkhomedir/pam_mkhomedir.8
+++ b/modules/pam_mkhomedir/pam_mkhomedir.8
@@ -2,12 +2,12 @@
.\" Title: pam_mkhomedir
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_MKHOMEDIR" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_MKHOMEDIR" "8" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_motd/README b/modules/pam_motd/README
index 12a8fcc7..c16938c1 100644
--- a/modules/pam_motd/README
+++ b/modules/pam_motd/README
@@ -14,14 +14,36 @@ motd=/path/filename
The /path/filename file is displayed as message of the day.
+motd_dir=/path/dirname.d
+
+ The /path/dirname.d directory is scanned and each file contained inside of
+ it is displayed.
+
+When no options are given, the default is to display both /etc/motd and the
+contents of /etc/motd.d. Specifying either option (or both) will disable this
+default behavior.
+
EXAMPLES
The suggested usage for /etc/pam.d/login is:
-session optional pam_motd.so motd=/etc/motd
+session optional pam_motd.so
+
+
+To use a motd file from a different location:
+
+session optional pam_motd.so motd=/elsewhere/motd
+
+
+To use a motd file from elsewhere, along with a corresponding .d directory:
+
+session optional pam_motd.so motd=/elsewhere/motd motd_dir=/elsewhere/motd.d
AUTHOR
pam_motd was written by Ben Collins <bcollins@debian.org>.
+The motd_dir= option was added by Allison Karlitskaya
+<allison.karlitskaya@redhat.com>.
+
diff --git a/modules/pam_motd/pam_motd.8 b/modules/pam_motd/pam_motd.8
index d63f54fb..21c2ed76 100644
--- a/modules/pam_motd/pam_motd.8
+++ b/modules/pam_motd/pam_motd.8
@@ -2,12 +2,12 @@
.\" Title: pam_motd
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2018
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_MOTD" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_MOTD" "8" "05/18/2018" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,18 @@ The
/path/filename
file is displayed as message of the day\&.
.RE
+.PP
+\fBmotd_dir=\fR\fB\fI/path/dirname\&.d\fR\fR
+.RS 4
+The
+/path/dirname\&.d
+directory is scanned and each file contained inside of it is displayed\&.
+.RE
+.PP
+When no options are given, the default is to display both
+/etc/motd
+and the contents of
+/etc/motd\&.d\&. Specifying either option (or both) will disable this default behavior\&.
.SH "MODULE TYPES PROVIDED"
.PP
Only the
@@ -66,7 +78,39 @@ is:
.RS 4
.\}
.nf
-session optional pam_motd\&.so motd=/etc/motd
+session optional pam_motd\&.so
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+To use a
+motd
+file from a different location:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+session optional pam_motd\&.so motd=/elsewhere/motd
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+To use a
+motd
+file from elsewhere, along with a corresponding
+\&.d
+directory:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+session optional pam_motd\&.so motd=/elsewhere/motd motd_dir=/elsewhere/motd\&.d
.fi
.if n \{\
@@ -82,3 +126,7 @@ session optional pam_motd\&.so motd=/etc/motd
.SH "AUTHOR"
.PP
pam_motd was written by Ben Collins <bcollins@debian\&.org>\&.
+.PP
+The
+\fBmotd_dir=\fR
+option was added by Allison Karlitskaya <allison\&.karlitskaya@redhat\&.com>\&.
diff --git a/modules/pam_motd/pam_motd.8.xml b/modules/pam_motd/pam_motd.8.xml
index ff92154e..906c4ed0 100644
--- a/modules/pam_motd/pam_motd.8.xml
+++ b/modules/pam_motd/pam_motd.8.xml
@@ -52,7 +52,24 @@
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>
+ <option>motd_dir=<replaceable>/path/dirname.d</replaceable></option>
+ </term>
+ <listitem>
+ <para>
+ The <filename>/path/dirname.d</filename> directory is scanned
+ and each file contained inside of it is displayed.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
+ <para>
+ When no options are given, the default is to display both
+ <filename>/etc/motd</filename> and the contents of
+ <filename>/etc/motd.d</filename>. Specifying either option (or both)
+ will disable this default behavior.
+ </para>
</refsect1>
<refsect1 id="pam_motd-types">
@@ -81,7 +98,20 @@
<para>
The suggested usage for <filename>/etc/pam.d/login</filename> is:
<programlisting>
-session optional pam_motd.so motd=/etc/motd
+session optional pam_motd.so
+ </programlisting>
+ </para>
+ <para>
+ To use a <filename>motd</filename> file from a different location:
+ <programlisting>
+session optional pam_motd.so motd=/elsewhere/motd
+ </programlisting>
+ </para>
+ <para>
+ To use a <filename>motd</filename> file from elsewhere, along with a
+ corresponding <filename>.d</filename> directory:
+ <programlisting>
+session optional pam_motd.so motd=/elsewhere/motd motd_dir=/elsewhere/motd.d
</programlisting>
</para>
</refsect1>
@@ -109,6 +139,10 @@ session optional pam_motd.so motd=/etc/motd
<para>
pam_motd was written by Ben Collins &lt;bcollins@debian.org&gt;.
</para>
+ <para>
+ The <option>motd_dir=</option> option was added by
+ Allison Karlitskaya &lt;allison.karlitskaya@redhat.com&gt;.
+ </para>
</refsect1>
</refentry>
diff --git a/modules/pam_motd/pam_motd.c b/modules/pam_motd/pam_motd.c
index 11c7b565..cc828d7e 100644
--- a/modules/pam_motd/pam_motd.c
+++ b/modules/pam_motd/pam_motd.c
@@ -17,6 +17,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
+#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <pwd.h>
@@ -33,6 +34,7 @@
#define PAM_SM_SESSION
#define DEFAULT_MOTD "/etc/motd"
+#define DEFAULT_MOTD_D "/etc/motd.d"
#include <security/pam_modules.h>
#include <security/pam_modutil.h>
@@ -47,14 +49,60 @@ pam_sm_close_session (pam_handle_t *pamh UNUSED, int flags UNUSED,
}
static char default_motd[] = DEFAULT_MOTD;
+static char default_motd_dir[] = DEFAULT_MOTD_D;
+
+static void try_to_display_fd(pam_handle_t *pamh, int fd)
+{
+ struct stat st;
+ char *mtmp = NULL;
+
+ /* fill in message buffer with contents of motd */
+ if ((fstat(fd, &st) < 0) || !st.st_size || st.st_size > 0x10000)
+ return;
+
+ if (!(mtmp = malloc(st.st_size+1)))
+ return;
+
+ if (pam_modutil_read(fd, mtmp, st.st_size) == st.st_size) {
+ if (mtmp[st.st_size-1] == '\n')
+ mtmp[st.st_size-1] = '\0';
+ else
+ mtmp[st.st_size] = '\0';
+
+ pam_info (pamh, "%s", mtmp);
+ }
+
+ _pam_drop(mtmp);
+}
+
+static void try_to_display_directory(pam_handle_t *pamh, const char *dirname)
+{
+ DIR *dirp;
+
+ dirp = opendir(dirname);
+
+ if (dirp != NULL) {
+ struct dirent *entry;
+
+ while ((entry = readdir(dirp))) {
+ int fd = openat(dirfd(dirp), entry->d_name, O_RDONLY);
+
+ if (fd >= 0) {
+ try_to_display_fd(pamh, fd);
+ close(fd);
+ }
+ }
+
+ closedir(dirp);
+ }
+}
int pam_sm_open_session(pam_handle_t *pamh, int flags,
int argc, const char **argv)
{
int retval = PAM_IGNORE;
- int fd;
const char *motd_path = NULL;
- char *mtmp = NULL;
+ const char *motd_dir_path = NULL;
if (flags & PAM_SILENT) {
return retval;
@@ -72,41 +120,39 @@ int pam_sm_open_session(pam_handle_t *pamh, int flags,
"motd= specification missing argument - ignored");
}
}
+ else if (!strncmp(*argv,"motd_dir=",9)) {
+
+ motd_dir_path = 9 + *argv;
+ if (*motd_dir_path != '\0') {
+ D(("set motd.d path: %s", motd_dir_path));
+ } else {
+ motd_dir_path = NULL;
+ pam_syslog(pamh, LOG_ERR,
+ "motd_dir= specification missing argument - ignored");
+ }
+ }
else
pam_syslog(pamh, LOG_ERR, "unknown option: %s", *argv);
}
- if (motd_path == NULL)
+ if (motd_path == NULL && motd_dir_path == NULL) {
motd_path = default_motd;
+ motd_dir_path = default_motd_dir;
+ }
- while ((fd = open(motd_path, O_RDONLY, 0)) >= 0) {
- struct stat st;
-
- /* fill in message buffer with contents of motd */
- if ((fstat(fd, &st) < 0) || !st.st_size || st.st_size > 0x10000)
- break;
-
- if (!(mtmp = malloc(st.st_size+1)))
- break;
-
- if (pam_modutil_read(fd, mtmp, st.st_size) != st.st_size)
- break;
+ if (motd_path != NULL) {
+ int fd = open(motd_path, O_RDONLY, 0);
- if (mtmp[st.st_size-1] == '\n')
- mtmp[st.st_size-1] = '\0';
- else
- mtmp[st.st_size] = '\0';
-
- pam_info (pamh, "%s", mtmp);
- break;
+ if (fd >= 0) {
+ try_to_display_fd(pamh, fd);
+ close(fd);
+ }
}
- _pam_drop (mtmp);
-
- if (fd >= 0)
- close(fd);
+ if (motd_dir_path != NULL)
+ try_to_display_directory(pamh, motd_dir_path);
- return retval;
+ return retval;
}
/* end of module definition */
diff --git a/modules/pam_namespace/namespace.conf.5 b/modules/pam_namespace/namespace.conf.5
index 1c754f75..be3458f8 100644
--- a/modules/pam_namespace/namespace.conf.5
+++ b/modules/pam_namespace/namespace.conf.5
@@ -2,12 +2,12 @@
.\" Title: namespace.conf
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "NAMESPACE\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "NAMESPACE\&.CONF" "5" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_namespace/pam_namespace.8 b/modules/pam_namespace/pam_namespace.8
index e3110593..630f1a92 100644
--- a/modules/pam_namespace/pam_namespace.8
+++ b/modules/pam_namespace/pam_namespace.8
@@ -2,12 +2,12 @@
.\" Title: pam_namespace
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_NAMESPACE" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_NAMESPACE" "8" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c
index d02ea09e..f541f891 100644
--- a/modules/pam_namespace/pam_namespace.c
+++ b/modules/pam_namespace/pam_namespace.c
@@ -712,7 +712,7 @@ static char *md5hash(const char *instname, struct instance_data *idata)
MD5((const unsigned char *)instname, strlen(instname), inst_digest);
if ((md5inst = malloc(MD5_DIGEST_LENGTH * 2 + 1)) == NULL) {
- pam_syslog(idata->pamh, LOG_ERR, "Unable to allocate buffer");
+ pam_syslog(idata->pamh, LOG_CRIT, "Unable to allocate buffer");
return NULL;
}
@@ -801,12 +801,12 @@ static int form_context(const struct polydir_s *polyptr,
scontext = context_new(scon);
if (! scontext) {
- pam_syslog(idata->pamh, LOG_ERR, "out of memory");
+ pam_syslog(idata->pamh, LOG_CRIT, "out of memory");
goto fail;
}
fcontext = context_new(*origcon);
if (! fcontext) {
- pam_syslog(idata->pamh, LOG_ERR, "out of memory");
+ pam_syslog(idata->pamh, LOG_CRIT, "out of memory");
goto fail;
}
if (context_range_set(fcontext, context_range_get(scontext)) != 0) {
@@ -815,7 +815,7 @@ static int form_context(const struct polydir_s *polyptr,
}
*i_context=strdup(context_str(fcontext));
if (! *i_context) {
- pam_syslog(idata->pamh, LOG_ERR, "out of memory");
+ pam_syslog(idata->pamh, LOG_CRIT, "out of memory");
goto fail;
}
@@ -1130,7 +1130,7 @@ static int check_inst_parent(char *ipath, struct instance_data *idata)
*/
inst_parent = (char *) malloc(strlen(ipath)+1);
if (!inst_parent) {
- pam_syslog(idata->pamh, LOG_ERR, "Error allocating pathname string");
+ pam_syslog(idata->pamh, LOG_CRIT, "Error allocating pathname string");
return PAM_SESSION_ERR;
}
diff --git a/modules/pam_nologin/pam_nologin.8 b/modules/pam_nologin/pam_nologin.8
index 4c457b71..d65cd85c 100644
--- a/modules/pam_nologin/pam_nologin.8
+++ b/modules/pam_nologin/pam_nologin.8
@@ -2,12 +2,12 @@
.\" Title: pam_nologin
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_NOLOGIN" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_NOLOGIN" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_nologin/pam_nologin.c b/modules/pam_nologin/pam_nologin.c
index 9fd91fdb..56897670 100644
--- a/modules/pam_nologin/pam_nologin.c
+++ b/modules/pam_nologin/pam_nologin.c
@@ -75,7 +75,7 @@ static int perform_check(pam_handle_t *pamh, struct opt_s *opts)
int fd = -1;
if ((pam_get_user(pamh, &username, NULL) != PAM_SUCCESS) || !username) {
- pam_syslog(pamh, LOG_WARNING, "cannot determine username");
+ pam_syslog(pamh, LOG_ERR, "cannot determine username");
return PAM_USER_UNKNOWN;
}
@@ -111,7 +111,7 @@ static int perform_check(pam_handle_t *pamh, struct opt_s *opts)
mtmp = malloc(st.st_size+1);
if (!mtmp) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
retval = PAM_BUF_ERR;
goto clean_up_fd;
}
diff --git a/modules/pam_permit/pam_permit.8 b/modules/pam_permit/pam_permit.8
index dfab5319..021c7590 100644
--- a/modules/pam_permit/pam_permit.8
+++ b/modules/pam_permit/pam_permit.8
@@ -2,12 +2,12 @@
.\" Title: pam_permit
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_PERMIT" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_PERMIT" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_pwhistory/pam_pwhistory.8 b/modules/pam_pwhistory/pam_pwhistory.8
index 526967f5..45899be3 100644
--- a/modules/pam_pwhistory/pam_pwhistory.8
+++ b/modules/pam_pwhistory/pam_pwhistory.8
@@ -2,12 +2,12 @@
.\" Title: pam_pwhistory
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_PWHISTORY" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_PWHISTORY" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_rhosts/pam_rhosts.8 b/modules/pam_rhosts/pam_rhosts.8
index 9f8462b9..c52a5d85 100644
--- a/modules/pam_rhosts/pam_rhosts.8
+++ b/modules/pam_rhosts/pam_rhosts.8
@@ -2,12 +2,12 @@
.\" Title: pam_rhosts
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_RHOSTS" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_RHOSTS" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_rootok/pam_rootok.8 b/modules/pam_rootok/pam_rootok.8
index a2c6a4d0..d5f04e36 100644
--- a/modules/pam_rootok/pam_rootok.8
+++ b/modules/pam_rootok/pam_rootok.8
@@ -2,12 +2,12 @@
.\" Title: pam_rootok
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_ROOTOK" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_ROOTOK" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_securetty/pam_securetty.8 b/modules/pam_securetty/pam_securetty.8
index c704d920..95747fea 100644
--- a/modules/pam_securetty/pam_securetty.8
+++ b/modules/pam_securetty/pam_securetty.8
@@ -2,12 +2,12 @@
.\" Title: pam_securetty
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SECURETTY" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_SECURETTY" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_securetty/pam_securetty.c b/modules/pam_securetty/pam_securetty.c
index e279efac..cb1da252 100644
--- a/modules/pam_securetty/pam_securetty.c
+++ b/modules/pam_securetty/pam_securetty.c
@@ -101,7 +101,7 @@ securetty_perform_check (pam_handle_t *pamh, int ctrl,
retval = pam_get_item(pamh, PAM_TTY, &void_uttyname);
uttyname = void_uttyname;
if (retval != PAM_SUCCESS || uttyname == NULL) {
- pam_syslog (pamh, LOG_WARNING, "cannot determine user's tty");
+ pam_syslog (pamh, LOG_ERR, "cannot determine user's tty");
return PAM_SERVICE_ERR;
}
@@ -214,7 +214,7 @@ securetty_perform_check (pam_handle_t *pamh, int ctrl,
}
if (retval) {
- pam_syslog(pamh, LOG_WARNING, "access denied: tty '%s' is not secure !",
+ pam_syslog(pamh, LOG_NOTICE, "access denied: tty '%s' is not secure !",
uttyname);
retval = PAM_AUTH_ERR;
diff --git a/modules/pam_selinux/pam_selinux.8 b/modules/pam_selinux/pam_selinux.8
index 026fec13..5822cc13 100644
--- a/modules/pam_selinux/pam_selinux.8
+++ b/modules/pam_selinux/pam_selinux.8
@@ -2,12 +2,12 @@
.\" Title: pam_selinux
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SELINUX" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_SELINUX" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_selinux/pam_selinux.c b/modules/pam_selinux/pam_selinux.c
index 6daba1ed..348cdd40 100644
--- a/modules/pam_selinux/pam_selinux.c
+++ b/modules/pam_selinux/pam_selinux.c
@@ -524,7 +524,7 @@ compute_exec_context(pam_handle_t *pamh, module_data_t *data,
data->default_user_context = strdup(contextlist[0]);
freeconary(contextlist);
if (!data->default_user_context) {
- pam_syslog(pamh, LOG_ERR, "Out of memory");
+ pam_syslog(pamh, LOG_CRIT, "Out of memory");
return PAM_BUF_ERR;
}
@@ -573,7 +573,7 @@ compute_tty_context(const pam_handle_t *pamh, module_data_t *data)
}
if (!data->tty_path) {
- pam_syslog(pamh, LOG_ERR, "Out of memory");
+ pam_syslog(pamh, LOG_CRIT, "Out of memory");
return PAM_BUF_ERR;
}
@@ -727,7 +727,7 @@ create_context(pam_handle_t *pamh, int argc, const char **argv,
}
if (!(data = calloc(1, sizeof(*data)))) {
- pam_syslog(pamh, LOG_ERR, "Out of memory");
+ pam_syslog(pamh, LOG_CRIT, "Out of memory");
return PAM_BUF_ERR;
}
diff --git a/modules/pam_sepermit/pam_sepermit.8 b/modules/pam_sepermit/pam_sepermit.8
index 31a85477..71fd28d6 100644
--- a/modules/pam_sepermit/pam_sepermit.8
+++ b/modules/pam_sepermit/pam_sepermit.8
@@ -2,12 +2,12 @@
.\" Title: pam_sepermit
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SEPERMIT" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_SEPERMIT" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_sepermit/sepermit.conf.5 b/modules/pam_sepermit/sepermit.conf.5
index 8c8ccb42..d797b535 100644
--- a/modules/pam_sepermit/sepermit.conf.5
+++ b/modules/pam_sepermit/sepermit.conf.5
@@ -2,12 +2,12 @@
.\" Title: sepermit.conf
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "SEPERMIT\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "SEPERMIT\&.CONF" "5" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_shells/pam_shells.8 b/modules/pam_shells/pam_shells.8
index 095233bb..f0f6ea20 100644
--- a/modules/pam_shells/pam_shells.8
+++ b/modules/pam_shells/pam_shells.8
@@ -2,12 +2,12 @@
.\" Title: pam_shells
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_SHELLS" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_SHELLS" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_succeed_if/pam_succeed_if.8 b/modules/pam_succeed_if/pam_succeed_if.8
index dff64c0a..07524beb 100644
--- a/modules/pam_succeed_if/pam_succeed_if.8
+++ b/modules/pam_succeed_if/pam_succeed_if.8
@@ -2,12 +2,12 @@
.\" Title: pam_succeed_if
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM
.\" Source: Linux-PAM
.\" Language: English
.\"
-.TH "PAM_SUCCEED_IF" "8" "04/01/2016" "Linux-PAM" "Linux\-PAM"
+.TH "PAM_SUCCEED_IF" "8" "05/18/2017" "Linux-PAM" "Linux\-PAM"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_succeed_if/pam_succeed_if.c b/modules/pam_succeed_if/pam_succeed_if.c
index 856db0ca..aac3eeb0 100644
--- a/modules/pam_succeed_if/pam_succeed_if.c
+++ b/modules/pam_succeed_if/pam_succeed_if.c
@@ -323,7 +323,7 @@ evaluate(pam_handle_t *pamh, int debug,
}
/* If we have no idea what's going on, return an error. */
if (left != buf) {
- pam_syslog(pamh, LOG_CRIT, "unknown attribute \"%s\"", left);
+ pam_syslog(pamh, LOG_ERR, "unknown attribute \"%s\"", left);
return PAM_SERVICE_ERR;
}
if (debug) {
@@ -455,7 +455,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
/* Get information about the user. */
pwd = pam_modutil_getpwuid(pamh, getuid());
if (pwd == NULL) {
- pam_syslog(pamh, LOG_CRIT,
+ pam_syslog(pamh, LOG_ERR,
"error retrieving information about user %lu",
(unsigned long)getuid());
return PAM_USER_UNKNOWN;
@@ -465,7 +465,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
/* Get the user's name. */
ret = pam_get_user(pamh, &user, prompt);
if ((ret != PAM_SUCCESS) || (user == NULL)) {
- pam_syslog(pamh, LOG_CRIT,
+ pam_syslog(pamh, LOG_ERR,
"error retrieving user name: %s",
pam_strerror(pamh, ret));
return ret;
@@ -543,7 +543,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
if (left || qual || right) {
ret = PAM_SERVICE_ERR;
- pam_syslog(pamh, LOG_CRIT,
+ pam_syslog(pamh, LOG_ERR,
"incomplete condition detected");
} else if (count == 0) {
pam_syslog(pamh, LOG_INFO,
diff --git a/modules/pam_tally/pam_tally.8 b/modules/pam_tally/pam_tally.8
index ea44dd8c..58070831 100644
--- a/modules/pam_tally/pam_tally.8
+++ b/modules/pam_tally/pam_tally.8
@@ -2,12 +2,12 @@
.\" Title: pam_tally
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_TALLY" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_TALLY" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_tally2/pam_tally2.8 b/modules/pam_tally2/pam_tally2.8
index 920a90b0..4e700e70 100644
--- a/modules/pam_tally2/pam_tally2.8
+++ b/modules/pam_tally2/pam_tally2.8
@@ -2,12 +2,12 @@
.\" Title: pam_tally2
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_TALLY2" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_TALLY2" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_tally2/pam_tally2.c b/modules/pam_tally2/pam_tally2.c
index 9f3bebeb..da1c0481 100644
--- a/modules/pam_tally2/pam_tally2.c
+++ b/modules/pam_tally2/pam_tally2.c
@@ -959,6 +959,18 @@ main( int argc UNUSED, char **argv )
exit(1);
}
+ if (cline_reset == 0) {
+ struct stat st;
+
+ if (stat(cline_filename, &st) && errno == ENOENT) {
+ if (!cline_quiet) {
+ memset(&tally, 0, sizeof(tally));
+ print_one(&tally, uid);
+ }
+ return 0; /* no file => nothing to reset */
+ }
+ }
+
i=get_tally(NULL, uid, cline_filename, &tfile, &tally, 0);
if ( i != PAM_SUCCESS ) {
if (tfile != -1)
diff --git a/modules/pam_time/pam_time.8 b/modules/pam_time/pam_time.8
index ec8e70c6..194427d3 100644
--- a/modules/pam_time/pam_time.8
+++ b/modules/pam_time/pam_time.8
@@ -2,12 +2,12 @@
.\" Title: pam_time
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_TIME" "8" "04/01/2016" "Linux-PAM Manual" "Linux-PAM Manual"
+.TH "PAM_TIME" "8" "05/18/2017" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_time/pam_time.c b/modules/pam_time/pam_time.c
index b67a4c24..26a374b5 100644
--- a/modules/pam_time/pam_time.c
+++ b/modules/pam_time/pam_time.c
@@ -120,7 +120,7 @@ read_field(const pam_handle_t *pamh, int fd, char **buf, int *from, int *state)
if (! *buf) {
*buf = (char *) calloc(1, PAM_TIME_BUFLEN+1);
if (! *buf) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
D(("no memory"));
*state = STATE_EOF;
return -1;
diff --git a/modules/pam_time/time.conf.5 b/modules/pam_time/time.conf.5
index 4438dbf8..f6f16170 100644
--- a/modules/pam_time/time.conf.5
+++ b/modules/pam_time/time.conf.5
@@ -2,12 +2,12 @@
.\" Title: time.conf
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "TIME\&.CONF" "5" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "TIME\&.CONF" "5" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_timestamp/pam_timestamp.8 b/modules/pam_timestamp/pam_timestamp.8
index 872d66e3..5e804ab0 100644
--- a/modules/pam_timestamp/pam_timestamp.8
+++ b/modules/pam_timestamp/pam_timestamp.8
@@ -2,12 +2,12 @@
.\" Title: pam_timestamp
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_TIMESTAMP" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_TIMESTAMP" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c
index b18efdfd..e29ce6e9 100644
--- a/modules/pam_timestamp/pam_timestamp.c
+++ b/modules/pam_timestamp/pam_timestamp.c
@@ -211,7 +211,7 @@ check_login_time(const char *ruser, time_t timestamp)
if (ut->ut_type != USER_PROCESS) {
continue;
}
- if (strncmp(ruser, ut->ut_user, sizeof(ut->ut_user) != 0)) {
+ if (strncmp(ruser, ut->ut_user, sizeof(ut->ut_user)) != 0) {
continue;
}
if (oldest_login == 0 || oldest_login > ut->ut_tv.tv_sec) {
@@ -608,7 +608,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, int argc, const char *
/* Generate the message. */
text = malloc(strlen(path) + 1 + sizeof(now) + hmac_sha1_size());
if (text == NULL) {
- pam_syslog(pamh, LOG_ERR, "unable to allocate memory: %m");
+ pam_syslog(pamh, LOG_CRIT, "unable to allocate memory: %m");
return PAM_SESSION_ERR;
}
p = text;
diff --git a/modules/pam_timestamp/pam_timestamp_check.8 b/modules/pam_timestamp/pam_timestamp_check.8
index 2f0213a8..b90ab317 100644
--- a/modules/pam_timestamp/pam_timestamp_check.8
+++ b/modules/pam_timestamp/pam_timestamp_check.8
@@ -2,12 +2,12 @@
.\" Title: pam_timestamp_check
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_TIMESTAMP_CHECK" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_TIMESTAMP_CHECK" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_tty_audit/README b/modules/pam_tty_audit/README
index 83e58c3a..ac947a32 100644
--- a/modules/pam_tty_audit/README
+++ b/modules/pam_tty_audit/README
@@ -11,15 +11,15 @@ OPTIONS
disable=patterns
- For each user matching one of comma-separated glob patterns, disable TTY
- auditing. This overrides any previous enable option matching the same user
- name on the command line.
+ For each user matching patterns, disable TTY auditing. This overrides any
+ previous enable option matching the same user name on the command line. See
+ NOTES for further description of patterns.
enable=patterns
- For each user matching one of comma-separated glob patterns, enable TTY
- auditing. This overrides any previous disable option matching the same user
- name on the command line.
+ For each user matching patterns, enable TTY auditing. This overrides any
+ previous disable option matching the same user name on the command line.
+ See NOTES for further description of patterns.
open_only
@@ -45,6 +45,11 @@ the first option for most daemons using PAM.
To view the data that was logged by the kernel to audit use the command
aureport --tty.
+The patterns are comma separated lists of glob patterns or ranges of uids. A
+range is specified as min_uid:max_uid where one of these values can be empty.
+If min_uid is empty only user with the uid max_uid will be matched. If max_uid
+is empty users with the uid greater than or equal to min_uid will be matched.
+
EXAMPLES
Audit all administrative actions.
diff --git a/modules/pam_tty_audit/pam_tty_audit.8 b/modules/pam_tty_audit/pam_tty_audit.8
index 616f7d7e..e0800815 100644
--- a/modules/pam_tty_audit/pam_tty_audit.8
+++ b/modules/pam_tty_audit/pam_tty_audit.8
@@ -2,12 +2,12 @@
.\" Title: pam_tty_audit
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/11/2016
+.\" Date: 05/18/2018
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_TTY_AUDIT" "8" "04/11/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_TTY_AUDIT" "8" "05/18/2018" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -39,18 +39,20 @@ The pam_tty_audit PAM module is used to enable or disable TTY auditing\&. By def
.PP
\fBdisable=\fR\fB\fIpatterns\fR\fR
.RS 4
-For each user matching one of comma\-separated glob
+For each user matching
\fB\fIpatterns\fR\fR, disable TTY auditing\&. This overrides any previous
\fBenable\fR
-option matching the same user name on the command line\&.
+option matching the same user name on the command line\&. See NOTES for further description of
+\fB\fIpatterns\fR\fR\&.
.RE
.PP
\fBenable=\fR\fB\fIpatterns\fR\fR
.RS 4
-For each user matching one of comma\-separated glob
+For each user matching
\fB\fIpatterns\fR\fR, enable TTY auditing\&. This overrides any previous
\fBdisable\fR
-option matching the same user name on the command line\&.
+option matching the same user name on the command line\&. See NOTES for further description of
+\fB\fIpatterns\fR\fR\&.
.RE
.PP
\fBopen_only\fR
@@ -89,6 +91,20 @@ as the first option for most daemons using PAM\&.
.PP
To view the data that was logged by the kernel to audit use the command
\fBaureport \-\-tty\fR\&.
+.PP
+The
+\fB\fIpatterns\fR\fR
+are comma separated lists of glob patterns or ranges of uids\&. A range is specified as
+\fImin_uid\fR:\fImax_uid\fR
+where one of these values can be empty\&. If
+\fImin_uid\fR
+is empty only user with the uid
+\fImax_uid\fR
+will be matched\&. If
+\fImax_uid\fR
+is empty users with the uid greater than or equal to
+\fImin_uid\fR
+will be matched\&.
.SH "EXAMPLES"
.PP
Audit all administrative actions\&.
diff --git a/modules/pam_tty_audit/pam_tty_audit.8.xml b/modules/pam_tty_audit/pam_tty_audit.8.xml
index 552353ce..59a3406d 100644
--- a/modules/pam_tty_audit/pam_tty_audit.8.xml
+++ b/modules/pam_tty_audit/pam_tty_audit.8.xml
@@ -44,10 +44,10 @@
</term>
<listitem>
<para>
- For each user matching one of comma-separated glob
- <option><replaceable>patterns</replaceable></option>, disable
- TTY auditing. This overrides any previous <option>enable</option>
- option matching the same user name on the command line.
+ For each user matching <option><replaceable>patterns</replaceable></option>,
+ disable TTY auditing. This overrides any previous <option>enable</option>
+ option matching the same user name on the command line. See NOTES
+ for further description of <option><replaceable>patterns</replaceable></option>.
</para>
</listitem>
</varlistentry>
@@ -57,10 +57,10 @@
</term>
<listitem>
<para>
- For each user matching one of comma-separated glob
- <option><replaceable>patterns</replaceable></option>, enable
- TTY auditing. This overrides any previous <option>disable</option>
- option matching the same user name on the command line.
+ For each user matching <option><replaceable>patterns</replaceable></option>,
+ enable TTY auditing. This overrides any previous <option>disable</option>
+ option matching the same user name on the command line. See NOTES
+ for further description of <option><replaceable>patterns</replaceable></option>.
</para>
</listitem>
</varlistentry>
@@ -139,6 +139,16 @@
To view the data that was logged by the kernel to audit use
the command <command>aureport --tty</command>.
</para>
+ <para>
+ The <option><replaceable>patterns</replaceable></option> are comma separated
+ lists of glob patterns or ranges of uids. A range is specified as
+ <replaceable>min_uid</replaceable>:<replaceable>max_uid</replaceable> where
+ one of these values can be empty. If <replaceable>min_uid</replaceable> is
+ empty only user with the uid <replaceable>max_uid</replaceable> will be
+ matched. If <replaceable>max_uid</replaceable> is empty users with the uid
+ greater than or equal to <replaceable>min_uid</replaceable> will be
+ matched.
+ </para>
</refsect1>
<refsect1 id='pam_tty_audit-examples'>
diff --git a/modules/pam_tty_audit/pam_tty_audit.c b/modules/pam_tty_audit/pam_tty_audit.c
index bce3ab77..79e5d511 100644
--- a/modules/pam_tty_audit/pam_tty_audit.c
+++ b/modules/pam_tty_audit/pam_tty_audit.c
@@ -199,6 +199,54 @@ cleanup_old_status (pam_handle_t *pamh, void *data, int error_status)
free (data);
}
+enum uid_range { UID_RANGE_NONE, UID_RANGE_MM, UID_RANGE_MIN,
+ UID_RANGE_ONE, UID_RANGE_ERR };
+
+static enum uid_range
+parse_uid_range(pam_handle_t *pamh, const char *s,
+ uid_t *min_uid, uid_t *max_uid)
+{
+ const char *range = s;
+ const char *pmax;
+ char *endptr;
+ enum uid_range rv = UID_RANGE_MM;
+
+ if ((pmax=strchr(range, ':')) == NULL)
+ return UID_RANGE_NONE;
+ ++pmax;
+
+ if (range[0] == ':')
+ rv = UID_RANGE_ONE;
+ else {
+ errno = 0;
+ *min_uid = strtoul (range, &endptr, 10);
+ if (errno != 0 || (range == endptr) || *endptr != ':') {
+ pam_syslog(pamh, LOG_DEBUG,
+ "wrong min_uid value in '%s'", s);
+ return UID_RANGE_ERR;
+ }
+ }
+
+ if (*pmax == '\0') {
+ if (rv == UID_RANGE_ONE)
+ return UID_RANGE_ERR;
+
+ return UID_RANGE_MIN;
+ }
+
+ errno = 0;
+ *max_uid = strtoul (pmax, &endptr, 10);
+ if (errno != 0 || (pmax == endptr) || *endptr != '\0') {
+ pam_syslog(pamh, LOG_DEBUG,
+ "wrong max_uid value in '%s'", s);
+ return UID_RANGE_ERR;
+ }
+
+ if (rv == UID_RANGE_ONE)
+ *min_uid = *max_uid;
+ return rv;
+}
+
int
pam_sm_open_session (pam_handle_t *pamh, int flags, int argc, const char **argv)
{
@@ -208,6 +256,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags, int argc, const char **argv)
struct audit_tty_status *old_status, new_status;
const char *user;
int i, fd, open_only;
+ struct passwd *pwd;
#ifdef HAVE_STRUCT_AUDIT_TTY_STATUS_LOG_PASSWD
int log_passwd;
#endif /* HAVE_STRUCT_AUDIT_TTY_STATUS_LOG_PASSWD */
@@ -220,6 +269,14 @@ pam_sm_open_session (pam_handle_t *pamh, int flags, int argc, const char **argv)
return PAM_SESSION_ERR;
}
+ pwd = pam_modutil_getpwnam(pamh, user);
+ if (pwd == NULL)
+ {
+ pam_syslog(pamh, LOG_WARNING,
+ "open_session unknown user '%s'", user);
+ return PAM_SESSION_ERR;
+ }
+
command = CMD_NONE;
open_only = 0;
#ifdef HAVE_STRUCT_AUDIT_TTY_STATUS_LOG_PASSWD
@@ -237,13 +294,31 @@ pam_sm_open_session (pam_handle_t *pamh, int flags, int argc, const char **argv)
copy = strdup (strchr (argv[i], '=') + 1);
if (copy == NULL)
return PAM_SESSION_ERR;
- for (tok = strtok_r (copy, ",", &tok_data); tok != NULL;
+ for (tok = strtok_r (copy, ",", &tok_data);
+ tok != NULL && command != this_command;
tok = strtok_r (NULL, ",", &tok_data))
{
- if (fnmatch (tok, user, 0) == 0)
+ uid_t min_uid = 0, max_uid = 0;
+ switch (parse_uid_range(pamh, tok, &min_uid, &max_uid))
{
- command = this_command;
- break;
+ case UID_RANGE_NONE:
+ if (fnmatch (tok, user, 0) == 0)
+ command = this_command;
+ break;
+ case UID_RANGE_MM:
+ if (pwd->pw_uid >= min_uid && pwd->pw_uid <= max_uid)
+ command = this_command;
+ break;
+ case UID_RANGE_MIN:
+ if (pwd->pw_uid >= min_uid)
+ command = this_command;
+ break;
+ case UID_RANGE_ONE:
+ if (pwd->pw_uid == max_uid)
+ command = this_command;
+ break;
+ case UID_RANGE_ERR:
+ break;
}
}
free (copy);
diff --git a/modules/pam_umask/README b/modules/pam_umask/README
index 330e2ade..274dbf60 100644
--- a/modules/pam_umask/README
+++ b/modules/pam_umask/README
@@ -11,14 +11,14 @@ created files.
The PAM module tries to get the umask value from the following places in the
following order:
- • umask= argument
-
• umask= entry in the user's GECOS field
- • UMASK= entry from /etc/default/login
+ • umask= argument
• UMASK entry from /etc/login.defs
+ • UMASK= entry from /etc/default/login
+
The GECOS field is split on comma ',' characters. The module also in addition
to the umask= entry recognizes pri= entry, which sets the nice priority value
for the session, and ulimit= entry, which sets the maximum size of files the
diff --git a/modules/pam_umask/pam_umask.8 b/modules/pam_umask/pam_umask.8
index b37ac6d3..fd2d8a8a 100644
--- a/modules/pam_umask/pam_umask.8
+++ b/modules/pam_umask/pam_umask.8
@@ -2,12 +2,12 @@
.\" Title: pam_umask
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2018
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_UMASK" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_UMASK" "8" "05/18/2018" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -46,7 +46,7 @@ The PAM module tries to get the umask value from the following places in the fol
.sp -1
.IP \(bu 2.3
.\}
-umask= argument
+umask= entry in the user\*(Aqs GECOS field
.RE
.sp
.RS 4
@@ -57,7 +57,7 @@ umask= argument
.sp -1
.IP \(bu 2.3
.\}
-umask= entry in the user\*(Aqs GECOS field
+umask= argument
.RE
.sp
.RS 4
@@ -68,7 +68,7 @@ umask= entry in the user\*(Aqs GECOS field
.sp -1
.IP \(bu 2.3
.\}
-UMASK= entry from /etc/default/login
+UMASK entry from /etc/login\&.defs
.RE
.sp
.RS 4
@@ -79,7 +79,7 @@ UMASK= entry from /etc/default/login
.sp -1
.IP \(bu 2.3
.\}
-UMASK entry from /etc/login\&.defs
+UMASK= entry from /etc/default/login
.RE
.PP
The GECOS field is split on comma \*(Aq,\*(Aq characters\&. The module also in addition to the umask= entry recognizes pri= entry, which sets the nice priority value for the session, and ulimit= entry, which sets the maximum size of files the processes in the session can create\&.
diff --git a/modules/pam_umask/pam_umask.8.xml b/modules/pam_umask/pam_umask.8.xml
index 1e8d130b..92693f7f 100644
--- a/modules/pam_umask/pam_umask.8.xml
+++ b/modules/pam_umask/pam_umask.8.xml
@@ -48,22 +48,22 @@
<itemizedlist>
<listitem>
<para>
- umask= argument
+ umask= entry in the user's GECOS field
</para>
</listitem>
<listitem>
<para>
- umask= entry in the user's GECOS field
+ umask= argument
</para>
</listitem>
<listitem>
<para>
- UMASK= entry from /etc/default/login
+ UMASK entry from /etc/login.defs
</para>
</listitem>
<listitem>
<para>
- UMASK entry from /etc/login.defs
+ UMASK= entry from /etc/default/login
</para>
</listitem>
</itemizedlist>
diff --git a/modules/pam_unix/pam_unix.8 b/modules/pam_unix/pam_unix.8
index 4ca84495..b3808f1a 100644
--- a/modules/pam_unix/pam_unix.8
+++ b/modules/pam_unix/pam_unix.8
@@ -2,12 +2,12 @@
.\" Title: pam_unix
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/19/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_UNIX" "8" "04/19/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_UNIX" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_unix/pam_unix_acct.c b/modules/pam_unix/pam_unix_acct.c
index 782d84ac..88331149 100644
--- a/modules/pam_unix/pam_unix_acct.c
+++ b/modules/pam_unix/pam_unix_acct.c
@@ -201,7 +201,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)
uname = void_uname;
D(("user = `%s'", uname));
if (retval != PAM_SUCCESS || uname == NULL) {
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_ERR,
"could not identify user (from uid=%lu)",
(unsigned long int)getuid());
return PAM_USER_UNKNOWN;
@@ -209,7 +209,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)
retval = get_account_info(pamh, uname, &pwent, &spent);
if (retval == PAM_USER_UNKNOWN) {
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_ERR,
"could not identify user (from getpwnam(%s))",
uname);
return retval;
diff --git a/modules/pam_unix/pam_unix_auth.c b/modules/pam_unix/pam_unix_auth.c
index 673861e4..fce6bce1 100644
--- a/modules/pam_unix/pam_unix_auth.c
+++ b/modules/pam_unix/pam_unix_auth.c
@@ -77,14 +77,12 @@
#define _UNIX_AUTHTOK "-UN*X-PASS"
#define AUTH_RETURN \
-do { \
- if (ret_data) { \
- D(("recording return code for next time [%d]", \
- retval)); \
- *ret_data = retval; \
- pam_set_data(pamh, "unix_setcred_return", \
- (void *) ret_data, setcred_free); \
- } \
+do { \
+ D(("recording return code for next time [%d]", \
+ retval)); \
+ *ret_data = retval; \
+ pam_set_data(pamh, "unix_setcred_return", \
+ (void *) ret_data, setcred_free); \
D(("done. [%s]", pam_strerror(pamh, retval))); \
return retval; \
} while (0)
@@ -112,6 +110,12 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
/* Get a few bytes so we can pass our return value to
pam_sm_setcred() and pam_sm_acct_mgmt(). */
ret_data = malloc(sizeof(int));
+ if (!ret_data) {
+ D(("cannot malloc ret_data"));
+ pam_syslog(pamh, LOG_CRIT,
+ "pam_unix_auth: cannot allocate ret_data");
+ return PAM_BUF_ERR;
+ }
/* get the user'name' */
diff --git a/modules/pam_unix/pam_unix_passwd.c b/modules/pam_unix/pam_unix_passwd.c
index c2e43423..9fdebefb 100644
--- a/modules/pam_unix/pam_unix_passwd.c
+++ b/modules/pam_unix/pam_unix_passwd.c
@@ -774,7 +774,7 @@ pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv)
if (retval != PAM_SUCCESS) {
if (on(UNIX_DEBUG, ctrl)) {
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_ERR,
"password - new password not obtained");
}
pass_old = NULL; /* tidy up */
@@ -864,7 +864,7 @@ pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv)
_pam_delete(tpass);
pass_old = pass_new = NULL;
} else { /* something has broken with the module */
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_CRIT,
"password received unknown request");
retval = PAM_ABORT;
}
diff --git a/modules/pam_unix/pam_unix_sess.c b/modules/pam_unix/pam_unix_sess.c
index dbc62983..03e7dcd9 100644
--- a/modules/pam_unix/pam_unix_sess.c
+++ b/modules/pam_unix/pam_unix_sess.c
@@ -77,7 +77,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv)
retval = pam_get_item(pamh, PAM_USER, (void *) &user_name);
if (user_name == NULL || *user_name == '\0' || retval != PAM_SUCCESS) {
- pam_syslog(pamh, LOG_CRIT,
+ pam_syslog(pamh, LOG_ERR,
"open_session - error recovering username");
return PAM_SESSION_ERR; /* How did we get authenticated with
no username?! */
@@ -112,7 +112,7 @@ pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv)
retval = pam_get_item(pamh, PAM_USER, (void *) &user_name);
if (user_name == NULL || *user_name == '\0' || retval != PAM_SUCCESS) {
- pam_syslog(pamh, LOG_CRIT,
+ pam_syslog(pamh, LOG_ERR,
"close_session - error recovering username");
return PAM_SESSION_ERR; /* How did we get authenticated with
no username?! */
diff --git a/modules/pam_unix/passverify.c b/modules/pam_unix/passverify.c
index 5d6a1484..9c1771e2 100644
--- a/modules/pam_unix/passverify.c
+++ b/modules/pam_unix/passverify.c
@@ -1023,7 +1023,7 @@ helper_verify_password(const char *name, const char *p, int nullok)
retval = get_pwd_hash(name, &pwd, &salt);
if (pwd == NULL || salt == NULL) {
- helper_log_err(LOG_WARNING, "check pass; user unknown");
+ helper_log_err(LOG_NOTICE, "check pass; user unknown");
retval = PAM_USER_UNKNOWN;
} else {
retval = verify_pwd_hash(p, salt, nullok);
diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c
index fc8595e9..f2e28d35 100644
--- a/modules/pam_unix/support.c
+++ b/modules/pam_unix/support.c
@@ -345,7 +345,7 @@ static void _cleanup_failures(pam_handle_t * pamh, void *fl, int err)
);
if (failure->count > UNIX_MAX_RETRIES) {
- pam_syslog(pamh, LOG_ALERT,
+ pam_syslog(pamh, LOG_NOTICE,
"service(%s) ignoring max retries; %d > %d",
service == NULL ? "**unknown**" : (const char *)service,
failure->count,
@@ -744,12 +744,12 @@ int _unix_verify_password(pam_handle_t * pamh, const char *name
if (on(UNIX_AUDIT, ctrl)) {
/* this might be a typo and the user has given a password
instead of a username. Careful with this. */
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_NOTICE,
"check pass; user (%s) unknown", name);
} else {
name = NULL;
if (on(UNIX_DEBUG, ctrl) || pwd == NULL) {
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_NOTICE,
"check pass; user unknown");
} else {
/* don't log failure as another pam module can succeed */
diff --git a/modules/pam_unix/unix_chkpwd.8 b/modules/pam_unix/unix_chkpwd.8
index 48bba9e0..46048995 100644
--- a/modules/pam_unix/unix_chkpwd.8
+++ b/modules/pam_unix/unix_chkpwd.8
@@ -2,12 +2,12 @@
.\" Title: unix_chkpwd
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "UNIX_CHKPWD" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "UNIX_CHKPWD" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_unix/unix_chkpwd.c b/modules/pam_unix/unix_chkpwd.c
index 61675ed2..39c84dbf 100644
--- a/modules/pam_unix/unix_chkpwd.c
+++ b/modules/pam_unix/unix_chkpwd.c
@@ -43,7 +43,7 @@ static int _check_expiry(const char *uname)
retval = get_account_info(uname, &pwent, &spent);
if (retval != PAM_SUCCESS) {
- helper_log_err(LOG_ALERT, "could not obtain user info (%s)", uname);
+ helper_log_err(LOG_ERR, "could not obtain user info (%s)", uname);
printf("-1\n");
return retval;
}
diff --git a/modules/pam_unix/unix_update.8 b/modules/pam_unix/unix_update.8
index 637c3cc7..c5eab08c 100644
--- a/modules/pam_unix/unix_update.8
+++ b/modules/pam_unix/unix_update.8
@@ -2,12 +2,12 @@
.\" Title: unix_update
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "UNIX_UPDATE" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "UNIX_UPDATE" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_userdb/pam_userdb.8 b/modules/pam_userdb/pam_userdb.8
index 235ecdf3..7f8fd358 100644
--- a/modules/pam_userdb/pam_userdb.8
+++ b/modules/pam_userdb/pam_userdb.8
@@ -2,12 +2,12 @@
.\" Title: pam_userdb
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_USERDB" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_USERDB" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_userdb/pam_userdb.c b/modules/pam_userdb/pam_userdb.c
index 09ab8d33..cab37b30 100644
--- a/modules/pam_userdb/pam_userdb.c
+++ b/modules/pam_userdb/pam_userdb.c
@@ -397,7 +397,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
return PAM_SERVICE_ERR;
case -1:
/* incorrect password */
- pam_syslog(pamh, LOG_WARNING,
+ pam_syslog(pamh, LOG_NOTICE,
"user `%s' denied access (incorrect password)",
username);
return PAM_AUTH_ERR;
diff --git a/modules/pam_warn/pam_warn.8 b/modules/pam_warn/pam_warn.8
index f45223c9..26eac145 100644
--- a/modules/pam_warn/pam_warn.8
+++ b/modules/pam_warn/pam_warn.8
@@ -2,12 +2,12 @@
.\" Title: pam_warn
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_WARN" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_WARN" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_wheel/pam_wheel.8 b/modules/pam_wheel/pam_wheel.8
index 0a4f804a..d59ee467 100644
--- a/modules/pam_wheel/pam_wheel.8
+++ b/modules/pam_wheel/pam_wheel.8
@@ -2,12 +2,12 @@
.\" Title: pam_wheel
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/19/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_WHEEL" "8" "04/19/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_WHEEL" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_xauth/pam_xauth.8 b/modules/pam_xauth/pam_xauth.8
index f916eadb..86f8cc13 100644
--- a/modules/pam_xauth/pam_xauth.8
+++ b/modules/pam_xauth/pam_xauth.8
@@ -2,12 +2,12 @@
.\" Title: pam_xauth
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 04/01/2016
+.\" Date: 05/18/2017
.\" Manual: Linux-PAM Manual
.\" Source: Linux-PAM Manual
.\" Language: English
.\"
-.TH "PAM_XAUTH" "8" "04/01/2016" "Linux-PAM Manual" "Linux\-PAM Manual"
+.TH "PAM_XAUTH" "8" "05/18/2017" "Linux-PAM Manual" "Linux\-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/modules/pam_xauth/pam_xauth.c b/modules/pam_xauth/pam_xauth.c
index 6778aa84..3339def8 100644
--- a/modules/pam_xauth/pam_xauth.c
+++ b/modules/pam_xauth/pam_xauth.c
@@ -683,7 +683,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
if (asprintf(&d, "DISPLAY=%s", display) < 0)
{
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
cookiefile = NULL;
retval = PAM_SESSION_ERR;
goto cleanup;
@@ -700,7 +700,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
char *d;
if (asprintf(&d, "XAUTHLOCALHOSTNAME=%s", xauthlocalhostname) < 0) {
- pam_syslog(pamh, LOG_ERR, "out of memory");
+ pam_syslog(pamh, LOG_CRIT, "out of memory");
retval = PAM_SESSION_ERR;
goto cleanup;
}
diff --git a/po/Linux-PAM.pot b/po/Linux-PAM.pot
index f43e64c9..9082a4c7 100644
--- a/po/Linux-PAM.pot
+++ b/po/Linux-PAM.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: Linux-PAM 1.3.0\n"
+"Project-Id-Version: Linux-PAM 1.3.1\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -41,17 +41,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -200,79 +200,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -499,7 +499,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/af.gmo b/po/af.gmo
index 0db312c1..9407bdac 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index fa65a98b..4850ed42 100644
--- a/po/af.po
+++ b/po/af.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Afrikaans (http://www.transifex.com/projects/p/fedora/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/am.gmo b/po/am.gmo
index e85994de..2c63721a 100644
--- a/po/am.gmo
+++ b/po/am.gmo
Binary files differ
diff --git a/po/am.po b/po/am.po
index f4eea9ae..65afbfa2 100644
--- a/po/am.po
+++ b/po/am.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Amharic (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/anp.gmo b/po/anp.gmo
index 31078431..d2e579f6 100644
--- a/po/anp.gmo
+++ b/po/anp.gmo
Binary files differ
diff --git a/po/anp.po b/po/anp.po
index 3d9ca83c..d517e0ae 100644
--- a/po/anp.po
+++ b/po/anp.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM 1.2.1\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Angika\n"
@@ -41,17 +41,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -200,79 +200,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -498,7 +498,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/ar.gmo b/po/ar.gmo
index 7d3d289f..5865227a 100644
--- a/po/ar.gmo
+++ b/po/ar.gmo
Binary files differ
diff --git a/po/ar.po b/po/ar.po
index d2019042..b078d478 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:57-0500\n"
"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
"Language-Team: Arabic <trans-ar@lists.fedoraproject.org>\n"
@@ -43,17 +43,17 @@ msgstr "كلمة السر: "
msgid "Current %s%spassword: "
msgstr "كلمة سر %s%s الجديدة: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "كلمة سر %s%s الجديدة: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "أعد كتابة كلمة سر %s%s الجديدة: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "عذرًا، يوجد عدم تطابق بين كلمات السر."
@@ -202,79 +202,79 @@ msgstr "يحتاج التطبيق إلى استدعاء libpam مرة أخرى"
msgid "Unknown PAM error"
msgstr "خطأ PAM غير معروف"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "لا يوجد اختلاف عن كلمة السر القديمة"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "كلمة سر يمكن قراءتها من الجهتين"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "لم يتم سوى تغيير حالة الأحرف"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "كلمة السر الجديدة شديدة الشبه بكلمة السر القديمة"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "كلمة السر شديدة البساطة"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "كلمة مرور ملتفة"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "لم يتم إدخال كلمة السر"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "لم يتم تغيير كلمة السر"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "كلمة سر سيئة: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -507,7 +507,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: لا يمكن إعادة تعيين كافة المستخدمين إلى رقم غير الصفر\n"
diff --git a/po/as.gmo b/po/as.gmo
index bccc3032..d2119404 100644
--- a/po/as.gmo
+++ b/po/as.gmo
Binary files differ
diff --git a/po/as.po b/po/as.po
index 26c42560..455ae99b 100644
--- a/po/as.po
+++ b/po/as.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-10 02:40-0400\n"
"Last-Translator: ngoswami <ngoswami@redhat.com>\n"
"Language-Team: Assamese (http://www.transifex.com/projects/p/fedora/language/"
@@ -46,17 +46,17 @@ msgstr "গুপ্তশব্দ:"
msgid "Current %s%spassword: "
msgstr "নতুন %s%s গুপ্তশব্দ: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "নতুন %s%s গুপ্তশব্দ: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "নতুন %s%s গুপ্তশব্দ পুনঃ লিখক: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "ক্ষমা কৰিব, গুপ্তশব্দৰ অমিল "
@@ -205,79 +205,79 @@ msgstr "অনুপ্ৰয়োগে আকৌ libpam ক মাতিব ল
msgid "Unknown PAM error"
msgstr "অজ্ঞাত PAM ভুল"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "পুৰণিটোৰ সৈতে একেই"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "মেমৰি আবন্টন ত্ৰুটি"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "এটা অনুলোম‌-বিলোম বাক্য"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "অকল কেচ সলনি কৰা"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "পৰণিটোৰ সৈতে বহুত একেই"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "বৰ সৰল"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "পকোৱা হৈছে"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "পৰ্যাপ্ত character classes নাই"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "এটাৰ পিছত এটা বহুতো একেই আখৰ আছে"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "অতি দীঘল একেধৰণৰ আখৰ ক্ৰমৰ অন্তৰ্ভুক্ত কৰে"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "কিবা ধৰনত ব্যৱহাৰকৰ্তাৰ নাম আছে"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "কোনো গুপ্তশব্দ দিয়া হোৱা নাই"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "গুপ্ত শব্দ অপৰিবৰ্ত্তিত"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "বেয়া গুপ্তশব্দ: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s বিফল: প্ৰস্থানৰ কোড %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s বিফল: %d%s সঙ্কেত ধৰা গ'ল"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s বিফল: অজ্ঞাত অৱস্থা 0x%x"
@@ -505,7 +505,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: সকলো ব্যৱহাৰকৰোঁতাক শূণ্য নোহোৱা অৱস্থালৈ পুনঃ প্ৰতিষ্ঠা কৰিব নোৱাৰি\n"
diff --git a/po/ast.gmo b/po/ast.gmo
index 53724a09..5a12ce09 100644
--- a/po/ast.gmo
+++ b/po/ast.gmo
Binary files differ
diff --git a/po/ast.po b/po/ast.po
index b0ddd0c6..8ddd6309 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Asturian (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/bal.gmo b/po/bal.gmo
index e94f783b..8a7eed2e 100644
--- a/po/bal.gmo
+++ b/po/bal.gmo
Binary files differ
diff --git a/po/bal.po b/po/bal.po
index 421fa9f1..8d756d96 100644
--- a/po/bal.po
+++ b/po/bal.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Balochi <trans-bal@lists.fedoraproject.org>\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/be.gmo b/po/be.gmo
index 1a5e9a80..ca7ed232 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index 13b13a00..d238b047 100644
--- a/po/be.po
+++ b/po/be.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Belarusian (http://www.transifex.com/projects/p/fedora/"
@@ -44,17 +44,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -504,7 +504,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/bg.gmo b/po/bg.gmo
index 828b527e..d98b7625 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index ad19a123..c58f8ee0 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-08-09 10:31-0400\n"
"Last-Translator: Valentin Laskov <laskov@festa.bg>\n"
"Language-Team: Bulgarian <trans-bg@lists.fedoraproject.org>\n"
@@ -43,17 +43,17 @@ msgstr "Парола: "
msgid "Current %s%spassword: "
msgstr "Нова %s%sпарола: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Нова %s%sпарола: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Отново новата %s%sпарола: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Съжаляваме, паролите не съвпадат."
@@ -205,79 +205,79 @@ msgstr "Приложението се нуждае от повторно изв
msgid "Unknown PAM error"
msgstr "Непозната PAM грешка"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "е същата като старата"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "грешка при заделяне на памет"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "е палиндром"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "променена е само големината на буквите"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "е твърде подобна на старата"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "е много лесна"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "е завъртяна"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "недостатъчно класове знаци"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "съдържа твърде много еднакви последователни знаци"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "съдържа твърде дълга еднообразна последователност знаци"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "под някаква форма съдържа името на потребителя"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Не е предоставена парола"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Паролата не е променена"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ЛОША ПАРОЛА: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s се провали: код на грешка %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s се провали: уловен сигнал %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s се провали: непознат статус 0x%x"
@@ -507,7 +507,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Не мога да установя всички потребители на non-zero\n"
diff --git a/po/bn.gmo b/po/bn.gmo
index 29b92d9e..c7d70292 100644
--- a/po/bn.gmo
+++ b/po/bn.gmo
Binary files differ
diff --git a/po/bn.po b/po/bn.po
index c3497389..1da2a383 100644
--- a/po/bn.po
+++ b/po/bn.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2012-04-10 04:36-0400\n"
"Last-Translator: Mahay Alam Khan <mahayalamkhan@gmail.com>\n"
"Language-Team: Bengali <info@ankur.org.bd>\n"
@@ -50,17 +50,17 @@ msgstr "পাসওয়ার্ড: "
msgid "Current %s%spassword: "
msgstr "নতুন %s%s পাসওয়ার্ড: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "নতুন %s%s পাসওয়ার্ড: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "নতুন %s%s পাসওয়ার্ড পুনরায় লিখুন: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "দুঃখিত, পাসওয়ার্ড দুটি এক নয়।"
@@ -209,80 +209,80 @@ msgstr "অ্যাপ্লিকেশন দ্বারা পুনরা
msgid "Unknown PAM error"
msgstr "PAM সংক্রান্ত অজানা ত্রুটি"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "পুরোনোটির অনুরূপ"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "মেমরি বরাদ্দ করতে সমস্যা"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "উভমুখী শব্দ"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "শুধুমাত্র হরফের ছাঁদ পরিবর্তন করা হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "পুরোনো পাসওয়ার্ডের সমতূল্য"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "জটিল নয়"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "ঘোরানো হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "পর্যাপ্ত অক্ষর শ্রেণী উপস্থিত নেই"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
#, fuzzy
msgid "contains too long of a monotonic character sequence"
msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "কোনো রূপে ব্যবহারকারী নাম অন্তর্ভুক্ত হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "কোনো পাসওয়ার্ড উল্লিখিত হয়নি"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "পাসওয়ার্ড পরিবর্তন করা হয়নি"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "পাসওয়ার্ড ভাল নয়: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s বিফল: প্রস্থানকালীন কোড %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s বিফল: %d%s সিগনাল প্রাপ্ত"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s বিফল: অজানা অবস্থা 0x%x"
@@ -511,7 +511,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: সব ব্যবহারকারীর জন্য শূণ্য-ভিন্ন মান ধার্য করতে ব্যর্থ\n"
diff --git a/po/bn_IN.gmo b/po/bn_IN.gmo
index 84c3c915..09e2f96d 100644
--- a/po/bn_IN.gmo
+++ b/po/bn_IN.gmo
Binary files differ
diff --git a/po/bn_IN.po b/po/bn_IN.po
index af466db9..4e1a504a 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2012-02-28 05:38-0500\n"
"Last-Translator: runa <runabh@gmail.com>\n"
"Language-Team: Bengali (India) <anubad@lists.ankur.org.in>\n"
@@ -45,17 +45,17 @@ msgstr "পাসওয়ার্ড: "
msgid "Current %s%spassword: "
msgstr "নতুন %s%s পাসওয়ার্ড: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "নতুন %s%s পাসওয়ার্ড: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "নতুন %s%s পাসওয়ার্ড পুনরায় লিখুন: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "দুঃখিত, পাসওয়ার্ড দুটি এক নয়।"
@@ -204,80 +204,80 @@ msgstr "অ্যাপ্লিকেশন দ্বারা পুনরা
msgid "Unknown PAM error"
msgstr "PAM সংক্রান্ত অজানা ত্রুটি"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "পুরোনোটির অনুরূপ"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "মেমরি বরাদ্দ করতে সমস্যা"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "উভমুখী শব্দ"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "শুধুমাত্র হরফের ছাঁদ পরিবর্তন করা হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "পুরোনো পাসওয়ার্ডের সমতূল্য"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "জটিল নয়"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "ঘোরানো হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "পর্যাপ্ত অক্ষর শ্রেণী উপস্থিত নেই"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
#, fuzzy
msgid "contains too long of a monotonic character sequence"
msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "কোনো রূপে ব্যবহারকারী নাম অন্তর্ভুক্ত হয়েছে"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "কোনো পাসওয়ার্ড উল্লিখিত হয়নি"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "পাসওয়ার্ড পরিবর্তন করা হয়নি"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "পাসওয়ার্ড ভাল নয়: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s বিফল: প্রস্থানকালীন কোড %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s বিফল: %d%s সিগনাল প্রাপ্ত"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s বিফল: অজানা অবস্থা 0x%x"
@@ -506,7 +506,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: সব ব্যবহারকারীর জন্য শূণ্য-ভিন্ন মান ধার্য করতে ব্যর্থ\n"
diff --git a/po/bo.gmo b/po/bo.gmo
index 845df14c..944d7a3d 100644
--- a/po/bo.gmo
+++ b/po/bo.gmo
Binary files differ
diff --git a/po/bo.po b/po/bo.po
index f9ba3e62..43cd8c21 100644
--- a/po/bo.po
+++ b/po/bo.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Tibetan (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/br.gmo b/po/br.gmo
index 6e3eb83e..f9dfce94 100644
--- a/po/br.gmo
+++ b/po/br.gmo
Binary files differ
diff --git a/po/br.po b/po/br.po
index cb147101..1839f3d3 100644
--- a/po/br.po
+++ b/po/br.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Breton (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/brx.gmo b/po/brx.gmo
index 9bb82fa9..b474996c 100644
--- a/po/brx.gmo
+++ b/po/brx.gmo
Binary files differ
diff --git a/po/brx.po b/po/brx.po
index f61abb22..85a5863b 100644
--- a/po/brx.po
+++ b/po/brx.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bodo (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/bs.gmo b/po/bs.gmo
index 5910cba1..797f4cf3 100644
--- a/po/bs.gmo
+++ b/po/bs.gmo
Binary files differ
diff --git a/po/bs.po b/po/bs.po
index a5acdabf..dd8e5c50 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bosnian (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -503,7 +503,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/ca.gmo b/po/ca.gmo
index 221b7025..d683842c 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 7e7abc9b..680f1cb8 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-08-13 05:44-0400\n"
"Last-Translator: Robert Antoni Buj i Gelonch <robert.buj@gmail.com>\n"
"Language-Team: Catalan <fedora@llistes.softcatala.org>\n"
@@ -46,17 +46,17 @@ msgstr "Contrasenya: "
msgid "Current %s%spassword: "
msgstr "Nova contrasenya de %s%s: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nova contrasenya de %s%s: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Torneu a escriure la nova contrasenya de %s%s: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Les contrasenyes no coincideixen."
@@ -206,79 +206,79 @@ msgstr "L'aplicació necessita cridar novament libpam"
msgid "Unknown PAM error"
msgstr "Error de PAM desconegut"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "és la mateixa que l'antiga"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "Error d'assignació de memòria"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "és un palíndrom"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "només canvien les majúscules i minúscules"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "és massa semblant a l'antiga"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "és massa senzilla"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "està girada"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "no hi ha suficients classes de caràcters"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "conté massa caràcters idèntics consecutius"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "conté una seqüència de caràcters monòtona massa llarga"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "conté el nom d'usuari d'alguna forma"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "No s'ha proporcionat cap contrasenya"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "No s'ha canviat la contrasenya"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "CONTRASENYA INCORRECTA: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s ha fallat: codi de sortida %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s ha fallat: s'ha atrapat el senyal %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s ha fallat: estat 0x%x desconegut"
@@ -508,7 +508,7 @@ msgid ""
msgstr ""
"%s: [--file nom_fitxer_arrel] [--user nom_usuari] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/cs.gmo b/po/cs.gmo
index 74e47b27..615384f6 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index ecdbc2d8..762ad8d0 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2016-04-22 06:30-0400\n"
"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
"Language-Team: Czech (http://www.transifex.net/projects/p/fedora/language/"
@@ -46,17 +46,17 @@ msgstr "Heslo: "
msgid "Current %s%spassword: "
msgstr "Současné %s%sheslo: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nové %s%sheslo: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Opakujte nové %s%sheslo: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Hesla se neshodují."
@@ -205,79 +205,79 @@ msgstr "Aplikace musí znovu zavolat libpam"
msgid "Unknown PAM error"
msgstr "Neznámá chyba PAM"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "je stejné jako předcházející"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "chyba alokace paměti"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "je palindrom"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "pouze mění velikost"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "je příliš podobné předcházejícímu"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "je příliš jednoduché"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "je posunuté"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "nemá dostatek různých druhů znaků"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "obsahuje příliš mnoho stejných znaků za sebou"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "obsahuje příliš dlouhou postupnou sekvenci znaků"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "obsahuje v nějaké formě uživatelské jméno"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Nezadáno heslo"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Heslo nebylo změněno"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ŠPATNÉ HESLO: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s selhal: návratový kód %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s selhal: dostal signál %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s selhal: neznámý kód stavu 0x%x"
@@ -507,7 +507,7 @@ msgstr ""
"%s: [--file jmeno_souboru] [--user uzivatelske_jmeno] [--reset[=n]] [--"
"quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Nelze resetovat všechny uživatele nenulově\n"
diff --git a/po/cy.gmo b/po/cy.gmo
index 06d888f4..b33ee4bc 100644
--- a/po/cy.gmo
+++ b/po/cy.gmo
Binary files differ
diff --git a/po/cy.po b/po/cy.po
index add688df..ec442d89 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Welsh (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -504,7 +504,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/da.gmo b/po/da.gmo
index 16ed7672..8a3b12ac 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index f3f2fefb..9436302f 100644
--- a/po/da.po
+++ b/po/da.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-01-15 11:52-0500\n"
"Last-Translator: Kris Thomsen <lakristho@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -43,17 +43,17 @@ msgstr "Adgangskode: "
msgid "Current %s%spassword: "
msgstr "Ny %s%sadgangskode: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Ny %s%sadgangskode: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Genindtast ny %s%sadgangskode: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Adgangskoderne stemmer ikke overens."
@@ -202,79 +202,79 @@ msgstr "Programmet skal kalde libpam igen"
msgid "Unknown PAM error"
msgstr "Ukendt PAM-fejl"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "er den samme som den gamle"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "fejl under hukommelsesallokering"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "det staves ens forfra og bagfra"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "kun forskel i store/små bogstaver"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ligner for meget den gamle"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "er for simpel"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "er roteret"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "ikke nok tegnklasser"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "indeholder for mange af de samme tegn"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "indeholder en for lang sekvens af monotone tegn"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "indeholder brugernavnet i en eller anden form"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Ingen adgangskode angivet"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Adgangskoden er uændret"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "DÅRLIG ADGANGSKODE: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s fejlede: afslutningskode %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s fejlede: fangede signal %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s fejlede: ukendt status 0x%x"
@@ -502,7 +502,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Alle brugere kunne ikke nulstilles til ikke-nul\n"
diff --git a/po/de.gmo b/po/de.gmo
index 2a0ebccd..e5c05cfb 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index d9b77e1d..815497fb 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2012-12-12 02:06-0500\n"
"Last-Translator: Roman Spirgi <bigant@fedoraproject.org>\n"
"Language-Team: German <trans-de@lists.fedoraproject.org>\n"
@@ -43,17 +43,17 @@ msgstr "Passwort: "
msgid "Current %s%spassword: "
msgstr "Geben Sie ein neues %s%sPasswort ein: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Geben Sie ein neues %s%sPasswort ein: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Geben Sie das neue %s%sPasswort erneut ein: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Die Passwörter stimmen nicht überein."
@@ -206,79 +206,79 @@ msgstr "Anwendung muss libpam wieder aufrufen"
msgid "Unknown PAM error"
msgstr "Unbekannter PAM-Fehler"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "ist das gleiche wie das Alte"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "Fehler beim Allozieren von Speicher"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "ist ein Palindrome"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "nur Änderungen bei der Gross-/Kleinschreibung"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ist dem alten zu ähnlich"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "ist zu einfach"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "wurde gedreht"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "nicht genug unterschiedliche Arten von Zeichen"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "das gleiche Zeichen wurde so oft hintereinander verwendet"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "Der gesetzte Wert beinhaltet zu lange monotone Zeichenfolgen"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "enthält den Benutzernamen in irgendeiner Form"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Kein Passwort angegeben"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Passwort nicht geändert"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "Schlechtes Passwort: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s schlug fehl: Fehlercode %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s schlug fehl: Signal %d%s erhalten"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s schlug fehl: Unbekannter Status 0x%x"
@@ -509,7 +509,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/de_CH.gmo b/po/de_CH.gmo
index fc4070fe..2ddca448 100644
--- a/po/de_CH.gmo
+++ b/po/de_CH.gmo
Binary files differ
diff --git a/po/de_CH.po b/po/de_CH.po
index a684b830..002af986 100644
--- a/po/de_CH.po
+++ b/po/de_CH.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/el.gmo b/po/el.gmo
index cb3aa585..74876d10 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index e96e4c60..e0547802 100644
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Greek <trans-el@lists.fedoraproject.org>\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index bc211f16..89348668 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index f2907321..66cf3429 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/eo.gmo b/po/eo.gmo
index 70f856b0..56c20fbd 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 566d4f5b..1ab548ea 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/fedora/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/es.gmo b/po/es.gmo
index f3e22a27..74181df5 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index a5e709e0..88490203 100644
--- a/po/es.po
+++ b/po/es.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2016-04-17 08:37-0400\n"
"Last-Translator: Máximo Castañeda Riloba <mcrcctm@gmail.com>\n"
"Language-Team: Spanish <trans-es@lists.fedoraproject.org>\n"
@@ -49,17 +49,17 @@ msgstr "Contraseña: "
msgid "Current %s%spassword: "
msgstr "Nueva %s%scontraseña: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nueva %s%scontraseña: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Vuelva a escribir la nueva %s%scontraseña: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Las contraseñas no coinciden."
@@ -211,79 +211,79 @@ msgstr "La aplicación debe llamar a libpam de nuevo"
msgid "Unknown PAM error"
msgstr "Error desconocido de PAM"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "es igual que la antigua"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "error de asignación de memoria"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "es un palíndromo"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "sólo hay cambios de minúsculas y mayúsculas"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "es demasiado similar a la antigua"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "es demasiado sencilla"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "es igual pero al revés"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "no hay suficientes clases de caracteres"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "contiene demasiados carateres iguales consecutivos"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "contiene demasiados carateres iguales consecutivos"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "de alguna manera contiene el nombre del usuario"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "No se ha proporcionado ninguna contraseña"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "La contraseña no ha cambiado"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "CONTRASEÑA INCORRECTA: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s fallido: código de salida %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s fallido: señal capturada %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s fallido: estado desconocido 0x%x"
@@ -513,7 +513,7 @@ msgstr ""
"%s: [--file nombre de archivo-raíz] [--user nombre de usuario] [--reset[=n]] "
"[--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/et.gmo b/po/et.gmo
index 22bb945a..4b6f1c55 100644
--- a/po/et.gmo
+++ b/po/et.gmo
Binary files differ
diff --git a/po/et.po b/po/et.po
index 318b1ca3..0c4e9b31 100644
--- a/po/et.po
+++ b/po/et.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2012-12-02 06:25-0500\n"
"Last-Translator: mihkel <turakas@gmail.com>\n"
"Language-Team: Estonian (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr "Parool:"
msgid "Current %s%spassword: "
msgstr "Uus %s%sparool:"
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Uus %s%sparool:"
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Kinnita uus %s%sparool:"
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Kahjuks paroolid ei klapi."
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr "Tundmatu PAM-i viga"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "on sama kui vana"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "on palindroom"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "on liiga sarnane vanale"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "on liiga lihtne"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "on roteeruv"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -503,7 +503,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/eu.gmo b/po/eu.gmo
index c60816d2..c1c19dfa 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 65253ec6..cba3e90a 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2012-12-24 08:54-0500\n"
"Last-Translator: Asier Iturralde Sarasola <asier.iturralde@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr "Pasahitza: "
msgid "Current %s%spassword: "
msgstr "%s%sPasahitz berria: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "%s%sPasahitz berria: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Idatzi berriz %s%spasahitz berria: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -502,7 +502,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/fa.gmo b/po/fa.gmo
index 67f88353..e1584f52 100644
--- a/po/fa.gmo
+++ b/po/fa.gmo
Binary files differ
diff --git a/po/fa.po b/po/fa.po
index 274af6a8..f7e77c9b 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/fi.gmo b/po/fi.gmo
index 5ce93127..2017b42a 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 29fca530..0e458aea 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-03-25 01:42-0400\n"
"Last-Translator: Juhani Numminen <juhaninumminen0@gmail.com>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/fedora/language/"
@@ -48,17 +48,17 @@ msgstr "Salasana: "
msgid "Current %s%spassword: "
msgstr "Uusi %s%ssalasana: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Uusi %s%ssalasana: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Anna uudelleen uusi %s%ssalasana: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Salasanat eivät täsmää."
@@ -207,79 +207,79 @@ msgstr "Sovelluksen tarvitsee kutsua uudelleen libpam:ia"
msgid "Unknown PAM error"
msgstr "Tuntematon PAM-virhe"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "on sama kuin vanha"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "muistinvarausvirhe"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "on palindromi"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "vain kirjainkoko muutos"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "on liian samankaltainen vanhan kanssa"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "on liian yksinkertainen"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "on kierrätetty"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "liian vähän merkkiluokkia"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "sisältää liian monta samaa merkkiä peräkkäin"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "sisältää liian pitkän yksitoikkoisen merkkijonon"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "sisältää käyttäjätunnuksen jossakin muodossa"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Et antanut salasanaa"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Salasanaa ei vaihdettu"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "HUONO SALASANA: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s epäonnistui: loppukoodi %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s epäonnistui: otettiin kiinni signaali %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s epäonnistui: tuntematon tila 0x%x"
@@ -514,7 +514,7 @@ msgstr ""
"%s: [--file juurrutettu-tiedostonimi] [--user käyttäjätunnus] [--reset[=n]] "
"[--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Ei voida palauttaa kaikkia käyttäjiä ei-nolliksi\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 7103cd64..816dde82 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 0a3ce7a1..dfca80a0 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-01-12 12:52-0500\n"
"Last-Translator: Jérôme Fenal <jfenal@gmail.com>\n"
"Language-Team: French <trans-fr@lists.fedoraproject.org>\n"
@@ -48,17 +48,17 @@ msgstr "Mot de passe : "
msgid "Current %s%spassword: "
msgstr "Nouveau %s%smot de passe : "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nouveau %s%smot de passe : "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Retapez le nouveau %s%smot de passe : "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Les mots de passe ne correspondent pas."
@@ -216,79 +216,79 @@ msgstr "L'application doit appeler à nouveau libpam"
msgid "Unknown PAM error"
msgstr "Erreur PAM inconnue"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "est identique à l'ancien"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "erreur d'allocation de mémoire"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "est un palindrome"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "changement de casse uniquement"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ressemble trop à l'ancien"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "est trop simple"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "est inversé"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "les caractères utilisés ne sont pas suffisamment variés"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "contient trop de caractères consécutifs identiques"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "contient trop de caractères consécutifs identiques"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "contient le nom d'utilisateur d'une certaine manière"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Aucun mot de passe fourni"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Mot de passe inchangé"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "MOT DE PASSE INCORRECT : %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s échec : code de sortie %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s échec : signal capté %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s échec : statut 0x inconnu%x"
@@ -523,7 +523,7 @@ msgstr ""
"%s: [--file chemin du fichier] [--user nom d'utilisateur] [--reset[=n]] [--"
"quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Impossible de réinitialiser tous les utilisateurs à non-zéro\n"
diff --git a/po/ga.gmo b/po/ga.gmo
index 8542d013..4949ca05 100644
--- a/po/ga.gmo
+++ b/po/ga.gmo
Binary files differ
diff --git a/po/ga.po b/po/ga.po
index 24cd7075..f9b76a0e 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-09-10 02:14-0400\n"
"Last-Translator: leftmostcat <leftmostcat@gmail.com>\n"
"Language-Team: Irish (http://www.transifex.com/projects/p/fedora/language/"
@@ -46,17 +46,17 @@ msgstr "Focal faire: "
msgid "Current %s%spassword: "
msgstr "Focal faire%2$s%1$s nua: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Focal faire%2$s%1$s nua: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Iontráil focal faire%2$s%1$s nua arís: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Tá brón orm, ní ionann na focail fhaire."
@@ -209,79 +209,79 @@ msgstr "Ní mór don fheidhmchlár libpam a ghlaoch arís"
msgid "Unknown PAM error"
msgstr "Earráid PAM anaithnid"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "tá sé díreach cosúil leis an seancheann"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "earráid dála chuimhne"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "is palandróm é"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "athruithe cáis amháin"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "tá sé ró-chosúil leis an seancheann"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "tá sé ró-shimplí"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "tá sé rothlaithe"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "níl go leor aicmí carachtar ann"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "tá an iomarca carachtar céanna ann go leantach"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "tá seicheamh carachtar aontonach ró-fhada ann"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "tá an t-ainm úsáideora ann i bhfoirm éigin"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Níor soláthraíodh aon fhocal faire"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Níor athraíodh an focal faire"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "DROCHFHOCAL FAIRE: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "Theip %s: cód scortha %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "Theip %s: fuarthas comhartha %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "Theip %s: stádas anaithnid 0x%x"
@@ -525,7 +525,7 @@ msgstr ""
"%s: [--file ainm-comhad-le-fréamh] [--user úsáideoir] [--reset[=u]]\n"
"[--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Ní féidir gach úsáideoir a athrú go neamhnialasach\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index 60359183..99987fbd 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 5cfba21e..d073f9b1 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/gu.gmo b/po/gu.gmo
index 0039dc1f..01b0b3ef 100644
--- a/po/gu.gmo
+++ b/po/gu.gmo
Binary files differ
diff --git a/po/gu.po b/po/gu.po
index b027f3d6..820cb457 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-14 08:16-0400\n"
"Last-Translator: sweta <swkothar@redhat.com>\n"
"Language-Team: Gujarati <trans-gu@lists.fedoraproject.org>\n"
@@ -46,17 +46,17 @@ msgstr "પાસવર્ડ: "
msgid "Current %s%spassword: "
msgstr "નવો %s%sપાસવર્ડ: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "નવો %s%sપાસવર્ડ: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "નવો %s%sપાસવર્ડ ફરી લખો: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "માફ કરજો, પાસવર્ડો બંધબેસતા નથી."
@@ -205,79 +205,79 @@ msgstr "કાર્યક્રમને libpam ફરીથી બોલાવ
msgid "Unknown PAM error"
msgstr "અજ્ઞાત PAM ભૂલ"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "એ જૂના જેવો જ છે"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "મેમરી ફાળવણી ભૂલ"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "એ પેલીન્ડ્રોમ છે"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "કેસ ફેરફાર માત્ર"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "એ જૂના સાથે એકદમ સરખો છે"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "એ ખૂબ સાદો છે"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "એ ફેરવાયેલ છે"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "પૂરતા અક્ષર વર્ગો નથી"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "એકપછી એક ઘણા બધા સરખા અક્ષરોને સમાવે છે"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "મૉનોટોનિક અક્ષર ક્રમ ઘણો લાંબો સમાવે છે"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "અમુક ફોર્મમાં વપરાશકર્તા નામ ને સમાવે છે"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "કોઈ પાસવર્ડ પૂરો પડાયેલ નથી"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "પાસવર્ડ બદલાયેલ નથી"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ખરાબ પાસવર્ડ: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s નિષ્ફળ: બહાર નીકળ્યાનો કોડ %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s નિષ્ફળ: મળેલ સંકેત %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s નિષ્ફળ: અજ્ઞાત પરિસ્થિતિ 0x%x"
@@ -505,7 +505,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: બધા વપરાશકર્તાઓને બિન-શૂન્યમાં પુનઃસુયોજિત કરી શકતા નથી\n"
diff --git a/po/he.gmo b/po/he.gmo
index cfc58d9c..327c95a0 100644
--- a/po/he.gmo
+++ b/po/he.gmo
Binary files differ
diff --git a/po/he.po b/po/he.po
index 1e78ac2e..485b4491 100644
--- a/po/he.po
+++ b/po/he.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:57-0500\n"
"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
"Language-Team: Hebrew <he-users@lists.fedoraproject.org>\n"
@@ -42,17 +42,17 @@ msgstr "ססמה: "
msgid "Current %s%spassword: "
msgstr "ססמת יוניקס (נוכחית): "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "סליחה, הססמאות לא תואמות."
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr "שגיאת PAM לא מוכרת"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "זהה לישנה"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "פילנדרום"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "יותר מדי דומה לישנה"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "פשוטה מדי."
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "לא סופקה ססמה"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "ססמה לא שונתה"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ססמה לא טובה: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/hi.gmo b/po/hi.gmo
index eefb70fe..a00ae052 100644
--- a/po/hi.gmo
+++ b/po/hi.gmo
Binary files differ
diff --git a/po/hi.po b/po/hi.po
index 35bcc4b3..78d0af1c 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-01-20 07:02-0500\n"
"Last-Translator: kumarvimal <kmrvimal@gmail.com>\n"
"Language-Team: Hindi <indlinux-hindi@lists.sourceforge.net>\n"
@@ -45,17 +45,17 @@ msgstr "शब्दकूट: "
msgid "Current %s%spassword: "
msgstr "नया %s%spassword: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "नया %s%spassword: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "नया %s%spassword फिर टाइप करें: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "क्षमा करें, शब्दकूट नहीं मिलते हैं."
@@ -204,79 +204,79 @@ msgstr "अनुप्रयोग के libpam फिर आह्वान
msgid "Unknown PAM error"
msgstr "अनजान PAM त्रुटि"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "पुराने की तरह समान है"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "स्मृति आबंटन त्रुटि"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "एक पालिनड्रोम है"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "स्थिति परिवर्तन सिर्फ"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "पुराने के बहुत समान है"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "बहुत सरल है"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "घुमाया गया है"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "पर्याप्त वर्ण वर्ग नहीं"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "कई समान वर्ण लगातार समाहित करता है"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "समान वर्ण का लम्बा अनुक्रम समाहित करता है "
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "कुछ रूप में उपयोक्ता नाम समाहित करता है"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "कोई कूटशब्द नहीं दिया गया है"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "शब्दकूट परिवर्तित"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "खराब शब्दकूट: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s विफल: निकास कोड %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s विफल: संकेत घेरा %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s विफल: अनजान स्थिति 0x%x"
@@ -504,7 +504,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: सभी उपयोक्ता को गैर शून्य में फिर सेट नहीं कर सकता है\n"
diff --git a/po/hr.gmo b/po/hr.gmo
index c0514ccb..13131d6b 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index b1d7689c..4e4a9a46 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -503,7 +503,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/hu.gmo b/po/hu.gmo
index ee4297c0..c3fbf49f 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index c808b410..a4992271 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-01-08 10:13-0500\n"
"Last-Translator: Zoltan Hoppár <hopparz@gmail.com>\n"
"Language-Team: Hungarian <trans-hu@lists.fedoraproject.org>\n"
@@ -46,17 +46,17 @@ msgstr "Jelszó: "
msgid "Current %s%spassword: "
msgstr "Új %s%sjelszó: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Új %s%sjelszó: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Ismét az új %s%sjelszó: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Sajnálom, de a jelszavak nem egyeznek."
@@ -207,79 +207,79 @@ msgstr "Az alkalmazásnak újra meg kell hívnia a libpam modult"
msgid "Unknown PAM error"
msgstr "Ismeretlen PAM hiba"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "ugyanaz, mint a régi"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "memória allokációs hiba"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "palindrom"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "csak a kis/nagybetűkben változott"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "túl hasonló a régihez"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "túl egyszerű"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "forgatva"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "elégtelen betűcsoport"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "túl sok egymást követő betű egyezik meg"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "túl hosszú monoton karaktersorozatot tartalmaz"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "valahogy tartalmazza a felhasználó nevét"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Nincs jelszó megadva"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Változatlan jelszó"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ROSSZ JELSZÓ: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s hiba: kilépő kód %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s hiba: %d%s jelzés érzékelve"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s hiba: 0x%x ismeretlen állapot"
@@ -507,7 +507,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-fájlnév] [--user használó] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Nem állítható vissza minden felhasználó nem-nullára\n"
diff --git a/po/ia.gmo b/po/ia.gmo
index f3f8aae8..74145326 100644
--- a/po/ia.gmo
+++ b/po/ia.gmo
Binary files differ
diff --git a/po/ia.po b/po/ia.po
index 4699a0b1..fcd7a2b8 100644
--- a/po/ia.po
+++ b/po/ia.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2012-12-17 05:00-0500\n"
"Last-Translator: Nik Kalach <nik.kalach@inbox.ru>\n"
"Language-Team: Interlingua <trans-ia@lists.fedoraproject.org>\n"
@@ -44,17 +44,17 @@ msgstr "Contrasigno: "
msgid "Current %s%spassword: "
msgstr "Nove %s%scontrasigno: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nove %s%scontrasigno: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Retypa nove %s%scontrasigno: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Le contrasignos non es equal."
@@ -207,79 +207,79 @@ msgstr "Le application debe appellar a libpam de nove"
msgid "Unknown PAM error"
msgstr "Error incognite de PAM"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "nove contrasigno es equl al previe"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "error al allocation de memoria"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "nove contrasigno es un polindromo"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "nove contrasigno cambia solo le registro de litteras"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "nove contrasigno es troppo simile al previe"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "nove contrasigno es troppo simple"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "nove contrasigno es un rotation del previe"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "nove contrasigno non ha satis de classes de character"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "nove contrasigno contine troppo de characteres identic consequente"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "nove contrasigno contine tro de characteres monotone in un sequentia"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "nove contrasigno contine le nomine de usator in alicun forma"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Necun contrasigno fornite"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Le contrasigno non ha cambiate"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "CONTRASIGNO MALFORMATE: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s fallite: codice de exito %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s fallite: signal capturate %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s fallite: stato incognite 0x%x"
@@ -510,7 +510,7 @@ msgid ""
msgstr ""
"%s: [--file percurso-integre] [--user usator] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Impossibile de reinitiar tote le usatores a non-zero\n"
diff --git a/po/id.gmo b/po/id.gmo
index 7f2f5e2f..0e3a807b 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 937bfe5d..b45ed5ff 100644
--- a/po/id.po
+++ b/po/id.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-22 01:07-0400\n"
"Last-Translator: sentabi\n"
"Language-Team: Indonesian <trans-id@lists.fedoraproject.org>\n"
@@ -43,17 +43,17 @@ msgstr "Sandi:"
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Maaf, sandi yang anda masukkan tidak sama."
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "terlalu panjang karakter berurutan"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/ilo.gmo b/po/ilo.gmo
index e909c7c2..62141054 100644
--- a/po/ilo.gmo
+++ b/po/ilo.gmo
Binary files differ
diff --git a/po/ilo.po b/po/ilo.po
index 49a4ec8f..bfac356f 100644
--- a/po/ilo.po
+++ b/po/ilo.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Iloko (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/is.gmo b/po/is.gmo
index 884adadc..84496d70 100644
--- a/po/is.gmo
+++ b/po/is.gmo
Binary files differ
diff --git a/po/is.po b/po/is.po
index 5eafdf35..6f02ee32 100644
--- a/po/is.po
+++ b/po/is.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/fedora/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/it.gmo b/po/it.gmo
index 57b8a413..70ff935d 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 621fb376..09222493 100644
--- a/po/it.po
+++ b/po/it.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-08 11:03-0400\n"
"Last-Translator: fvalen <fvalen@redhat.com>\n"
"Language-Team: Italian <trans-it@lists.fedoraproject.org>\n"
@@ -47,17 +47,17 @@ msgstr "Password: "
msgid "Current %s%spassword: "
msgstr "Nuova password%s%s: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nuova password%s%s: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Reimmettere la nuova password%s%s: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Le password non corrispondono."
@@ -210,79 +210,79 @@ msgstr "L'applicazione richiede una nuova chiamata a libpam"
msgid "Unknown PAM error"
msgstr "Errore PAM sconosciuto"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "è la stessa di quella precedente"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "errore allocazione memoria"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "è un palindromo"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "cambiano solo le maiuscole/minuscole"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "è troppo simile alla precedente"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "è troppo semplice"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "è una rotazione della precedente"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "non ha abbastanza classi di caratteri"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "contiene troppi caratteri simili consecutivi"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "contiene una sequenza troppo lunga di caratteri simili "
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "contiene il nome utente in alcune forme"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Nessuna password fornita"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Password non modificata"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "PASSWORD ERRATA: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s fallita: codice d'uscita %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s fallita: intercettato il segnale %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s fallita: stato sconosciuto 0x%x"
@@ -515,7 +515,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr "%s: [--file NOMEFILE] [--user NOMEUTENTE] [--reset[=N]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/ja.gmo b/po/ja.gmo
index 4ee5e06c..7caa3bd1 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 85617972..ef2148b6 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-05-06 08:44-0400\n"
"Last-Translator: Jiro Matsuzawa <jmatsuzawa@gnome.org>\n"
"Language-Team: Japanese <trans-ja@lists.fedoraproject.org>\n"
@@ -46,17 +46,17 @@ msgstr "パスワード:"
msgid "Current %s%spassword: "
msgstr "新しい%s%sパスワード:"
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "新しい%s%sパスワード:"
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "新しい%s%sパスワードを再入力してください:"
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "パスワードが一致しません。"
@@ -205,79 +205,79 @@ msgstr "アプリケーションはlibpamを再び呼び出す必要がありま
msgid "Unknown PAM error"
msgstr "不明な PAM エラー"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "パスワードが古いものと同じです。"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "メモリー割り当てエラー"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "前後どちらから読んでも同じパスワードです。"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "大文字小文字を変えただけのパスワード"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "古いものと似ています"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "簡単すぎます"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "回転しています"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "文字クラスが不十分です"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "連続的な同一文字が多く含まれ過ぎです"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "単調な文字列が数多く含まれています"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "なんらかの形式のユーザー名を含みます"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "パスワードが与えられていません"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "パスワードが変更されていません"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "よくないパスワード: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s 失敗: 終了コード %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s 失敗: シグナルをキャッチ %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s 失敗: 不明な状態 0x%x"
@@ -505,7 +505,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: すべてのユーザーを非ゼロにリセットできません\n"
diff --git a/po/ka.gmo b/po/ka.gmo
index e4ce91c7..37dfe959 100644
--- a/po/ka.gmo
+++ b/po/ka.gmo
Binary files differ
diff --git a/po/ka.po b/po/ka.po
index 28489aab..7f465cb4 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-01-26 10:08-0500\n"
"Last-Translator: George Machitidze <giomac@gmail.com>\n"
"Language-Team: Georgian (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr "პაროლი:"
msgid "Current %s%spassword: "
msgstr "ახალი %s%sპაროლი: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "ახალი %s%sპაროლი: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "გაიმეორეთ ახალი %s%sპაროლი: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr "PAM-ის უცნობი შეცდომა"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ძალიან გავს ძველს"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "ძალიან მარტივია"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "შებრუნებულია"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "რაღაც ფორმით გავს მომხმარებლის სახელს"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "პაროლი არ იქნა მითითებული"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "პაროლი არ შეცვლილა"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ცუდი პაროლი: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/kk.gmo b/po/kk.gmo
index eafd71eb..020691b4 100644
--- a/po/kk.gmo
+++ b/po/kk.gmo
Binary files differ
diff --git a/po/kk.po b/po/kk.po
index cc537bf7..0cedb870 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-06-11 05:53-0400\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr "Пароль:"
msgid "Current %s%spassword: "
msgstr "%s%s үшін жаңа пароль: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "%s%s үшін жаңа пароль: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "%s%s үшін жаңа парольді қайта енгізіңіз: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Кешіріңіз, парольдер өзара сәйкес емес."
@@ -205,79 +205,79 @@ msgstr "Бағдарлама libpam-ды қайтадан шақыруы кер
msgid "Unknown PAM error"
msgstr "Белгісіз PAM қатесі"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "алдыңғысына сәйкес болып тұр"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "жадыны бөлу қатесі"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "палиндром болып тұр"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "өзгерістер таңбалардың регистрінде ғана"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ескі парольге өте ұқсас"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "өте оңай болып тұр"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "аударылған ескі пароль"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "керек таңбалар кластары жоқ"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "құрамында бірдей таңбалардың тізбегі бар"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "құрамында біркелкі таңбалардың тым ұзын тізбегі бар"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "құрамында пайдаланушы аты бар"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Пароль көрсетілмеді"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Пароль өзгертілмеді"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ҚАТЕ ПАРОЛЬ: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s қатесі: шығу коды %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s қатесі: алынған сигнал %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s қатесі: белгісіз қалып-күйі 0x%x"
@@ -504,7 +504,7 @@ msgid ""
msgstr ""
"%s: [--file түбірлік_файл_аты] [--user пайдаланушы] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Барлық пайдаланушыларды нөлдік емес мәнге тастау мүмкін емес\n"
diff --git a/po/km.gmo b/po/km.gmo
index 0fccd4a1..09fa010d 100644
--- a/po/km.gmo
+++ b/po/km.gmo
Binary files differ
diff --git a/po/km.po b/po/km.po
index abffe75d..e15f1ed7 100644
--- a/po/km.po
+++ b/po/km.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-29 07:00-0500\n"
"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -44,17 +44,17 @@ msgstr "ពាក្យសម្ងាត់ ៖ "
msgid "Current %s%spassword: "
msgstr "ពាក្យ​សម្ងាត់ %s%s ថ្មី ៖"
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "ពាក្យ​សម្ងាត់ %s%s ថ្មី ៖"
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "វាយ​ពាក្យ​សម្ងាត់ %s%s ថ្មី​ឡើង​វិញ ៖"
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "សូម​ទោស ពាក្យ​សម្ងាត់​មិន​ដូច​គ្នា​ឡើយ ។"
@@ -203,79 +203,79 @@ msgstr "កម្មវិធី​ត្រូវ​តែ​ហៅ libpam ម
msgid "Unknown PAM error"
msgstr "មិន​ស្គាល់​កំហុស PAM"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "ដូច​គ្នា​នឹង​ពាក្យ​សម្ងាត់​ចាស់"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "ត្រឡប់​ចុះ​ឡើង"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "គ្រាន់​តែ​ផ្លាស់ប្ដូរ​លក្ខណៈ​អក្សរ​ប៉ុណ្ណោះ​"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ស្រដៀង​គ្នា​ណាស់​នឹង​ពាក្យ​សម្ងាត់​ចាស់"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "សាមញ្ញ​ពេក"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "បាន​បង្វិល"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "មិន​បាន​ផ្ដល់​ពាក្យសម្ងាត់"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "ពាក្យសម្ងាត់​មិន​បាន​ផ្លាស់ប្ដូរ​ឡើយ"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ពាក្យ​សម្ងាត់​មិន​ល្អ ៖ %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -503,7 +503,7 @@ msgid ""
msgstr ""
"%s ៖ [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s ៖ មិន​អាច​កំណត់​អ្នក​ប្រើ​ទាំងអស់​ទៅ​មិនមែន​សូន្យ​ឡើងវិញ​បានទេ\n"
diff --git a/po/kn.gmo b/po/kn.gmo
index 98e8777d..68b93571 100644
--- a/po/kn.gmo
+++ b/po/kn.gmo
Binary files differ
diff --git a/po/kn.po b/po/kn.po
index 645f8133..9a22f5b3 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-15 04:49-0400\n"
"Last-Translator: shanky <prasad.mvs@gmail.com>\n"
"Language-Team: Kannada (http://www.transifex.com/projects/p/fedora/language/"
@@ -46,17 +46,17 @@ msgstr "ಗುಪ್ತಪದ: "
msgid "Current %s%spassword: "
msgstr "ಹೊಸ %s%sಗುಪ್ತಪದ: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "ಹೊಸ %s%sಗುಪ್ತಪದ: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "ಹೊಸ %s%sಗುಪ್ತಪದವನ್ನು ಪುನರ್ ಟೈಪಿಸಿ: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "ಕ್ಷಮಿಸಿ, ಗುಪ್ತಪದಗಳು ತಾಳೆಯಾಗುತ್ತಿಲ್ಲ."
@@ -205,79 +205,79 @@ msgstr "ಅನ್ವಯವು libpam ಅನ್ನು ಪುನಃ ಕರೆಯ
msgid "Unknown PAM error"
msgstr "ಗೊತ್ತಿರದ PAM ದೋಷ"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "ಇದು ಹಳೆಯದರ ಹಾಗೆಯೇ ಇದೆ"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "ಮೆಮೊರಿ ನಿಯೋಜನಾ ದೋಷ"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "ಇದು ಒಂದು ಸಮಾನ ಪೂರ್ವಾಪರವಾಗಿದೆ (palindrome)"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "ಕೇವಲ ಕೇಸ್ ಗಳ ಬದಲಾವಣೆಯಾಗಿದೆ ಅಷ್ಟೆ"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ಇದು ಹಳೆಯದಕ್ಕೆ ಬಹಳಷ್ಟು ಹೋಲುತ್ತದೆ"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "ಇದು ಬಹಳ ಸರಳವಾಗಿದೆ"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "ಇದು ತಿರುಗಿಸಲಾಗಿದೆ"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "ಸಾಕಷ್ಟು ಕ್ಯಾರೆಕ್ಟರ್ ವರ್ಗಗಳು ಇಲ್ಲ"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "ಇದು ಒಂದೇ ಬಗೆಯ ಬಹಳಷ್ಟು ಕ್ಯಾರೆಕ್ಟರುಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಹೊಂದಿದೆ"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "ಇದು ಒಂದೇ ಬಗೆಯ ಉದ್ದನೆಯ ಅಕ್ಷರಗಳ ಅನುಕ್ರಮವನ್ನು ಹೊಂದಿದೆ"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "ಇದು ಯಾವುದೊ ಒಂದು ಬಗೆಯಲ್ಲಿ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಒಳಗೊಂಡಿದೆ"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "ಯಾವುದೇ ಗುಪ್ತಪದ ನೀಡಲಾಗಿಲ್ಲ"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "ಗುಪ್ತಪದ ಬದಲಾಗಿಲ್ಲ"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ಕೆಟ್ಟ ಗುಪ್ತಪದ: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s ವಿಫಲಗೊಂಡಿದೆ: ನಿರ್ಗಮಿಸಲು ಸಂಜ್ಞೆ %d "
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s ವಿಫಲಗೊಂಡಿದೆ: ಹಿಡಿಯಲಾದ ಸೂಚನೆ %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s ವಿಫಲಗೊಂಡಿದೆ: ಗೊತ್ತಿರದ ಸ್ಥಿತಿ 0x%x"
@@ -504,7 +504,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಶೂನ್ಯವಲ್ಲದುದಕ್ಕೆ ಪುನರ್ ಸಂಯೋಜಿಸಲು ಆಗುವುದಿಲ್ಲ\n"
diff --git a/po/ko.gmo b/po/ko.gmo
index a3b42525..e38b5fab 100644
--- a/po/ko.gmo
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
index c5af7f27..a5a2beb8 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-16 09:34-0400\n"
"Last-Translator: eukim <eukim@redhat.com>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/fedora/language/"
@@ -46,17 +46,17 @@ msgstr "암호:"
msgid "Current %s%spassword: "
msgstr "새 %s%s 암호:"
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "새 %s%s 암호:"
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "새 %s%s 암호 재입력:"
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "죄송합니다. 암호가 일치하지 않습니다."
@@ -205,79 +205,79 @@ msgstr "libpam을 다시 불러오려면 응용 프로그램이 필요함"
msgid "Unknown PAM error"
msgstr "알 수 없는 PAM 오류"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "이전 암호와 같음"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "메모리 할당 오류 "
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "앞뒤 어느쪽에서 읽어도 같은 문맥임"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "대소문자만 변경"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "이전 암호와 유사함"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "너무 간단함"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "교체됨"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "문자 클래스가 부족합니다 "
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "너무 많은 동일한 문자가 연속적으로 포함되어있습니다 "
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "너무 길게 단순한 문자가 연속적으로 포함되어 있습니다 "
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "어떠한 형식으로 사용자 이름을 포함합니다. "
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "암호가 없음"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "암호가 변경되지 않음"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "잘못된 암호: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s 실패: 종료 코드 %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s 실패: 신호 발견 %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s 실패: 알 수 없는 상태 0x%x"
@@ -504,7 +504,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: 모든 사용자를 영이 아닌 값으로 설정할 수 없음\n"
diff --git a/po/kw.gmo b/po/kw.gmo
index b4441943..0c9af6a2 100644
--- a/po/kw.gmo
+++ b/po/kw.gmo
Binary files differ
diff --git a/po/kw.po b/po/kw.po
index 9044fe06..6cc4aa80 100644
--- a/po/kw.po
+++ b/po/kw.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM 1.2.1\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -499,7 +499,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/kw@kkcor.gmo b/po/kw@kkcor.gmo
index fac5a487..017139ce 100644
--- a/po/kw@kkcor.gmo
+++ b/po/kw@kkcor.gmo
Binary files differ
diff --git a/po/kw@kkcor.po b/po/kw@kkcor.po
index ef0c5df9..e10c5f4f 100644
--- a/po/kw@kkcor.po
+++ b/po/kw@kkcor.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM 1.2.1\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish (Common Orthography)\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -499,7 +499,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/kw@uccor.gmo b/po/kw@uccor.gmo
index a9a947a4..9ff20b2b 100644
--- a/po/kw@uccor.gmo
+++ b/po/kw@uccor.gmo
Binary files differ
diff --git a/po/kw@uccor.po b/po/kw@uccor.po
index eb346817..8ce6789f 100644
--- a/po/kw@uccor.po
+++ b/po/kw@uccor.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM 1.2.1\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish (Unified Orthography)\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -499,7 +499,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/kw_GB.gmo b/po/kw_GB.gmo
index 1c971c4f..907885c5 100644
--- a/po/kw_GB.gmo
+++ b/po/kw_GB.gmo
Binary files differ
diff --git a/po/kw_GB.po b/po/kw_GB.po
index d1dcbadf..55bac444 100644
--- a/po/kw_GB.po
+++ b/po/kw_GB.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM 1.2.1\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish (United Kingdom)\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -499,7 +499,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/ky.gmo b/po/ky.gmo
index 54b89ab4..56840213 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index 7ae85b8d..ef2744e6 100644
--- a/po/ky.po
+++ b/po/ky.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Kirgyz (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/lt.gmo b/po/lt.gmo
index 4c31a193..1eed3556 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index ecc2f734..391393f0 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Lithuanian (http://www.transifex.com/projects/p/fedora/"
@@ -44,17 +44,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -503,7 +503,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/lv.gmo b/po/lv.gmo
index 7c8c34cf..7cf75a77 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 8f97ca5c..5951105f 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/fedora/language/"
@@ -44,17 +44,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -203,79 +203,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -503,7 +503,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/mai.gmo b/po/mai.gmo
index 6f212ca2..33e51510 100644
--- a/po/mai.gmo
+++ b/po/mai.gmo
Binary files differ
diff --git a/po/mai.po b/po/mai.po
index 44018c96..f45e71c5 100644
--- a/po/mai.po
+++ b/po/mai.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Maithili (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/mk.gmo b/po/mk.gmo
index 35f2d2bf..73663dbe 100644
--- a/po/mk.gmo
+++ b/po/mk.gmo
Binary files differ
diff --git a/po/mk.po b/po/mk.po
index 76abf0c6..38b5e120 100644
--- a/po/mk.po
+++ b/po/mk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian (http://www.transifex.com/projects/p/fedora/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/ml.gmo b/po/ml.gmo
index 73b82081..a0db01e1 100644
--- a/po/ml.gmo
+++ b/po/ml.gmo
Binary files differ
diff --git a/po/ml.po b/po/ml.po
index 8d497f68..d84115d5 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-15 01:55-0400\n"
"Last-Translator: Ani Peter <apeter@redhat.com>\n"
"Language-Team: Malayalam <discuss@lists.smc.org.in>\n"
@@ -43,17 +43,17 @@ msgstr "അടയാളവാക്ക്: "
msgid "Current %s%spassword: "
msgstr "പുതിയ %s%s അടയാളവാക്ക്: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "പുതിയ %s%s അടയാളവാക്ക്: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "വീണ്ടും %s%s അടയാളവാക്ക് ടൈപ്പ് ചെയ്യുക: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "ക്ഷമിക്കണം, അടയാളവാക്കുകള്‍ തമ്മില്‍ ചേരുന്നില്ല."
@@ -202,79 +202,79 @@ msgstr "പ്രയോഗങ്ങള്‍ക്ക് വീണ്ടും l
msgid "Unknown PAM error"
msgstr "അപരിചിതമായ PAM പിശക്"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "പഴയത് പോലെ തന്നെയാകുന്നതു്"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "മെമ്മറി അനുവദിയ്ക്കുന്നതില്‍ പിശക്"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "ഒരു പാലിന്‍ഡ്രോം ആണു്"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "അക്ഷരങ്ങളുടെ വലിപ്പം മാത്രം മാറുന്നതു്"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "പഴയതിന് സാമ്യമുള്ളതു്"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "സാധാരണയുള്ളതു്"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "is rotated"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "മതിയായ ക്യാരക്ടര്‍ ക്ലാസ്സുകള്‍ ലഭ്യമല്ല"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "അടുത്തടുത്ത് ഒരേപോലുള്ള അനവധി അക്ഷരങ്ങളുണ്ടു്"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "വളരെയധികം ഒരേ തരത്തിലുള്ള അക്ഷരങ്ങളടങ്ങുന്നു"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "ഉപയോക്താവിന്റെ നാമം ഏതെങ്കിലും ഒരു തരത്തിലുണ്ടു്"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "അടയാളവാക്ക് നല്‍കിയിട്ടില്ല"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "അടയാളവാക്ക് മാറ്റിയിട്ടില്ല"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "തെറ്റായ അടയാളവാക്ക്: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s പരാ‍ജയപ്പെട്ടു: %d എന്ന കോഡില്‍ നിന്നും പുറത്ത് കടക്കുക"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s പരാ‍ജയപ്പെട്ടു: %d%s സിഗ്നല്‍ ലഭ്യമായിരിക്കുന്നു"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s പരാ‍ജയപ്പെട്ടു: അപരിചിതമായ 0x%x നിലവാരം"
@@ -502,7 +502,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: എല്ലാ ഉപയോക്താക്കള്‍ക്കും പൂജ്യം അല്ലാതെ ക്രമികരിക്കുവാന്‍ സാധ്യമല്ല\n"
diff --git a/po/mn.gmo b/po/mn.gmo
index 4b62759e..d987ccf8 100644
--- a/po/mn.gmo
+++ b/po/mn.gmo
Binary files differ
diff --git a/po/mn.po b/po/mn.po
index 0c0390f3..6449114a 100644
--- a/po/mn.po
+++ b/po/mn.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Mongolian (http://www.transifex.com/projects/p/fedora/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/mr.gmo b/po/mr.gmo
index 6d463ee8..7359ac6c 100644
--- a/po/mr.gmo
+++ b/po/mr.gmo
Binary files differ
diff --git a/po/mr.po b/po/mr.po
index fa6e9a75..9989305e 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-05-03 03:46-0400\n"
"Last-Translator: sandeeps <sshedmak@redhat.com>\n"
"Language-Team: Marathi (http://www.transifex.com/projects/p/fedora/language/"
@@ -45,17 +45,17 @@ msgstr "गुप्तशब्द: "
msgid "Current %s%spassword: "
msgstr "नवीन गुप्तशब्द %s%sp: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "नवीन गुप्तशब्द %s%sp: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "नवीन गुप्तशब्द %s%sp पुन्हा टाइप करा: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "माफ करा, गुप्तशब्द जुळत नाही."
@@ -204,79 +204,79 @@ msgstr "अनुप्रयोगास libpam ची आवश्चकता
msgid "Unknown PAM error"
msgstr "अपरिचीत PAM त्रुटी"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "प्रविष्ट केलेले जुण्या प्रमाणेच आहे"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "मेमरि वाटपवेळी त्रुटी"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "पॅलींड्रोम आहे"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "फक्त आकार बदलाव"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "प्रविष्ट केलेले जुण्या नुरूपच आहे"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "खूपच सोपे आहे"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "स्तर बदलविले गेले"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "अतिरिक्त अक्षर गट उपलब्ध नाही"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "पाठोपाठ खूप जास्त समान अक्षर आढळले"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "मोनोटोनिक अक्षर श्रृंखला खूपच लांब आहे"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "कुठल्यातरी स्वरूपात वापरकर्ता नाव आढळले"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "गुप्तशब्द दिलेला नाही"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "गुप्तशब्द बदलविला नाही"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "अयोग्य गुप्तशब्द: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s अपयशी: एक्जीट कोड %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s अपयशी: संकेत %d%s प्राप्त झाले"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s अपयशी: अपरिचीत स्थिती 0x%x"
@@ -504,7 +504,7 @@ msgid ""
msgstr ""
"%s: [--file रूटेड-फाइलनाव] [--user वापरकर्त्याचे नाव] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: सर्व वापरकर्ता विना-शून्य असे पुन्हस्थापन करू शकत नाही\n"
diff --git a/po/ms.gmo b/po/ms.gmo
index 6202389c..ce777b1b 100644
--- a/po/ms.gmo
+++ b/po/ms.gmo
Binary files differ
diff --git a/po/ms.po b/po/ms.po
index 5f42229c..dea80954 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-29 07:01-0500\n"
"Last-Translator: Tomáš Mráz <tmraz@fedoraproject.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr "(semasa) katalaluan UNIX:"
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/my.gmo b/po/my.gmo
index af92e870..421a61a8 100644
--- a/po/my.gmo
+++ b/po/my.gmo
Binary files differ
diff --git a/po/my.po b/po/my.po
index 231c2a29..7613d708 100644
--- a/po/my.po
+++ b/po/my.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Burmese (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/nb.gmo b/po/nb.gmo
index 80781501..7326bd23 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index a8b68841..dffee3fd 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-01-08 08:18-0500\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
@@ -44,17 +44,17 @@ msgstr "Passord: "
msgid "Current %s%spassword: "
msgstr "Nytt %s%spassord: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nytt %s%spassord: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Bekreft nytt %s%s-passord: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Beklager, ikke samsvar mellom passord."
@@ -203,79 +203,79 @@ msgstr "Programmet må spørre libpam på nytt"
msgid "Unknown PAM error"
msgstr "Ukjent PAM-feil"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "er det samme som det gamle"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "feil med minneallokering"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "er et palindrom"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "kun endring av små/store bokstaver"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "er for likt det gamle"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "er for enkelt"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "er rotert"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "ikke nok tegnklasser"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "inneholder for mange like tegn etter hverandre"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "inneholder for lang monoton tegnsekvens"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "inneholder brukernavnet i en eller annen form"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Passord ikke angitt"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Passord uendret"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "SVAKT PASSORD: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s feilet: sluttkode %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s feilet: fikk signal %d%s"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s feilet: ukjent status 0x%x"
@@ -506,7 +506,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filnavn] [--user brukernavn] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Kan ikke tilbakestille alle brukere til non-zero\n"
diff --git a/po/nds.gmo b/po/nds.gmo
index 653207d7..a7398a4e 100644
--- a/po/nds.gmo
+++ b/po/nds.gmo
Binary files differ
diff --git a/po/nds.po b/po/nds.po
index 4f76b4f6..f1efce3a 100644
--- a/po/nds.po
+++ b/po/nds.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Low German <nds-lowgerman@lists.sourceforge.net>\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/ne.gmo b/po/ne.gmo
index d530aa8b..b5de5330 100644
--- a/po/ne.gmo
+++ b/po/ne.gmo
Binary files differ
diff --git a/po/ne.po b/po/ne.po
index 45a6b62f..f8dfebc2 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Nepali (http://www.transifex.com/projects/p/fedora/language/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/nl.gmo b/po/nl.gmo
index 39e78ed3..c20d8ee2 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index fcbebdcf..d7652635 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-07-10 09:21-0400\n"
"Last-Translator: hamaryns <hendrik@hendrikmaryns.name>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/fedora/language/"
@@ -50,17 +50,17 @@ msgstr "Wachtwoord:"
msgid "Current %s%spassword: "
msgstr "Nieuw %s%swachtwoord:"
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "Nieuw %s%swachtwoord:"
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "Nieuw %s%swachtwoord herhalen: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "Sorry, wachtwoorden komen niet overeen."
@@ -210,79 +210,79 @@ msgstr "Toepassing moet libpam nogmaals aanroepen"
msgid "Unknown PAM error"
msgstr "Onbekende PAM-fout"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "is hetzelfde als het oude"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "geheugentoekenningsfout"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "is een palindroom"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "alleen veranderingen in hoofd-/kleine letters"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "lijkt te veel op het oude"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "is te eenvoudig"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "is omgedraaid"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "onvoldoende tekensoorten"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "bevat teveel dezelfde opeenvolgende karakters"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "bevat een te lange monotone tekenreeks"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "bevat de gebruikersnaam in een of andere vorm"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "Geen wachtwoord opgegeven"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "Wachtwoord is ongewijzigd"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "SLECHT WACHTWOORD: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s is mislukt: afsluitcode %d"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s is mislukt: signaal %d%s ontvangen"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s is mislukt: onbekende status 0x%x"
@@ -514,7 +514,7 @@ msgstr ""
"%s [--file rooted-bestandsnaam] [--user gebruikersnaam] [--reset[=n]] [--"
"quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: kan niet alle gebruikers terugzetten naar non-zero\n"
diff --git a/po/nn.gmo b/po/nn.gmo
index 8a25afdd..8a12eb00 100644
--- a/po/nn.gmo
+++ b/po/nn.gmo
Binary files differ
diff --git a/po/nn.po b/po/nn.po
index 06267f31..c1a4d73f 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -42,17 +42,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -201,79 +201,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -500,7 +500,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/nso.gmo b/po/nso.gmo
index 475acf84..2fce2623 100644
--- a/po/nso.gmo
+++ b/po/nso.gmo
Binary files differ
diff --git a/po/nso.po b/po/nso.po
index 0b10cd53..ae7321b6 100644
--- a/po/nso.po
+++ b/po/nso.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2011-11-30 06:56-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Northern Sotho (http://www.transifex.com/projects/p/fedora/"
@@ -43,17 +43,17 @@ msgstr ""
msgid "Current %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr ""
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr ""
@@ -202,79 +202,79 @@ msgstr ""
msgid "Unknown PAM error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr ""
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr ""
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
@@ -501,7 +501,7 @@ msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
diff --git a/po/or.gmo b/po/or.gmo
index 4bf0a36b..64043003 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index fa064837..28583df3 100644
--- a/po/or.po
+++ b/po/or.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-04-15 10:35-0400\n"
"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
"Language-Team: Oriya (http://www.transifex.com/projects/p/fedora/language/"
@@ -46,17 +46,17 @@ msgstr "ପ୍ରବେଶ ସଙ୍କେତ: "
msgid "Current %s%spassword: "
msgstr "ନୂତନ %s%s ପ୍ରବେଶ ସଙ୍କେତ: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "ନୂତନ %s%s ପ୍ରବେଶ ସଙ୍କେତ: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "ନୂତନ %s%s ପ୍ରବେଶ ସଙ୍କେତକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "କ୍ଷମା କରିବେ, ପ୍ରବେଶ ସଙ୍କେତ ମିଶୁ ନାହିଁ।"
@@ -205,79 +205,79 @@ msgstr "ପ୍ରୟୋଗ libpam କୁ ପୁନର୍ବାର ଆହ୍ବ
msgid "Unknown PAM error"
msgstr "ଅଜଣା PAM ତୃଟି"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "ପୁରୁଣା ପ୍ରବେଶ ସଙ୍କେତ ସହିତ ଏହା ସମାନ ଅଟେ"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "ସ୍ମୃତିସ୍ଥାନ ବଣ୍ଟନ ତ୍ରୁଟି"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "ପ୍ରବେଶ ସଙ୍କେତଟି ଗୋଟିଏ ପାଲିନଡ୍ରୋମ ଅଟେ"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "କେବଳ ଅକ୍ଷର ପ୍ରକାର ପରିବର୍ତ୍ତିତ ହୋଇଥାଏ"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ଏହା ପୂର୍ବ ପ୍ରବେଶ ସଙ୍କେତ ସହିତ ବହୁତ ସମାନ ଅଟେ"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "ଏହା ଅତି ସହଜ ଅଟେ"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "ଏହା ଘୂର୍ଣ୍ଣୟମାନ ଅଟେ"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "ଯଥେଷ୍ଟ ବର୍ଣ୍ଣ ଶ୍ରେଣୀ ନାହିଁ"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "ଅତ୍ୟଧିକ ସମାନ ଅକ୍ଷରକୁ ଲଗାତାର ଧାରଣ କରିଥାଏ"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "ନିରସ ବର୍ଣ୍ଣର ବଡ଼ କ୍ରମ ଧାରଣ କରିଅଛି"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "ଚାଳକ ନାମକୁ କୌଣସି ଉପାୟରେ ଧାରଣ କରିଥାଏ"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "କୌଣସି ପ୍ରବେଶ ସଙ୍କେତ ପ୍ରଦାନ କରାଯାଇ ନାହିଁ"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଅପରିବର୍ତ୍ତିତ ଅଛି"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ଖରାପ ପ୍ରବେଶ ସଙ୍କେତ: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s ବିଫଳ: %d ସଙ୍କେତରୁ ପ୍ରସ୍ଥାନ କରୁଅଛି"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s ବିଫଳ: %d%s ସଙ୍କେତ ପାଇଲା"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s ବିଫଳ: ଅଜଣା ଅବସ୍ଥିତି 0x%x"
@@ -505,7 +505,7 @@ msgid ""
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1016
+#: modules/pam_tally/pam_tally.c:859 modules/pam_tally2/pam_tally2.c:1028
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: ସମସ୍ତ ଚାଳକ ମାନଙ୍କୁ ଶୂନ୍ଯ ବିହୀନ ଭାବରେ ପୁନର୍ବାର ବିନ୍ଯାସ କରିପାରିବ ନାହିଁ\n"
diff --git a/po/pa.gmo b/po/pa.gmo
index ee9a1eaf..249a4fa0 100644
--- a/po/pa.gmo
+++ b/po/pa.gmo
Binary files differ
diff --git a/po/pa.po b/po/pa.po
index 2893e2dc..e1b21414 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2016-04-28 13:27+0200\n"
+"POT-Creation-Date: 2018-05-18 12:58+0200\n"
"PO-Revision-Date: 2013-08-29 08:55-0400\n"
"Last-Translator: asaini <asaini@redhat.com>\n"
"Language-Team: Panjabi (Punjabi) <punjabi-users@lists.sf.net>\n"
@@ -45,17 +45,17 @@ msgstr "ਪਾਸਵਰਡ: "
msgid "Current %s%spassword: "
msgstr "ਨਵਾਂ %s%sਪਾਸਵਰਡ: "
-#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68
+#: libpam/pam_get_authtok.c:43
#, c-format
msgid "New %s%spassword: "
msgstr "ਨਵਾਂ %s%sਪਾਸਵਰਡ: "
-#: libpam/pam_get_authtok.c:45 modules/pam_cracklib/pam_cracklib.c:70
+#: libpam/pam_get_authtok.c:45
#, c-format
msgid "Retype new %s%spassword: "
msgstr "ਨਵਾਂ %s%sਪਾਸਵਰਡ ਮੁੜ-ਲਿਖੋ: "
-#: libpam/pam_get_authtok.c:46 modules/pam_cracklib/pam_cracklib.c:71
+#: libpam/pam_get_authtok.c:46
msgid "Sorry, passwords do not match."
msgstr "ਮਾਫ ਕਰਨਾ ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ।"
@@ -204,79 +204,79 @@ msgstr "ਕਾਰਜ ਲਈ ਫਿਰ libpam ਨੂੰ ਕਾਲ ਕਰਨ ਦ
msgid "Unknown PAM error"
msgstr "ਅਣਜਾਣ PAM ਗਲਤੀ"
-#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:612
msgid "is the same as the old one"
msgstr "ਪੁਰਾਣੇ ਵਰਗਾ ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:624
-#: modules/pam_cracklib/pam_cracklib.c:628
-#: modules/pam_cracklib/pam_cracklib.c:638
+#: modules/pam_cracklib/pam_cracklib.c:618
+#: modules/pam_cracklib/pam_cracklib.c:622
+#: modules/pam_cracklib/pam_cracklib.c:632
msgid "memory allocation error"
msgstr "ਮੈਮੋਰੀ ਨਿਰਧਾਰਨ ਗਲਤੀ"
-#: modules/pam_cracklib/pam_cracklib.c:643
+#: modules/pam_cracklib/pam_cracklib.c:637
msgid "is a palindrome"
msgstr "ਇੱਕ palindrome ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:646
+#: modules/pam_cracklib/pam_cracklib.c:640
msgid "case changes only"
msgstr "ਸਿਰਫ ਅੱਖਰ ਤਬਦੀਲੀ"
-#: modules/pam_cracklib/pam_cracklib.c:649
+#: modules/pam_cracklib/pam_cracklib.c:643
msgid "is too similar to the old one"
msgstr "ਪੁਰਾਣੇ ਨਾਲ ਬਹੁਤ ਮਿਲਦਾ-ਜੁਲਦਾ ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:652
+#: modules/pam_cracklib/pam_cracklib.c:646
msgid "is too simple"
msgstr "ਬਹੁਤ ਸਧਾਰਨ ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:655
+#: modules/pam_cracklib/pam_cracklib.c:649
msgid "is rotated"
msgstr "ਘੁੰਮਾਇਆ ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:658
+#: modules/pam_cracklib/pam_cracklib.c:652
msgid "not enough character classes"
msgstr "ਲੋੜੀਂਦੀਆਂ ਅੱਖਰ ਸ਼੍ਰੇਣੀਆਂ ਨਹੀਂ ਹਨ"
-#: modules/pam_cracklib/pam_cracklib.c:661
+#: modules/pam_cracklib/pam_cracklib.c:655
msgid "contains too many same characters consecutively"
msgstr "ਲਗਾਤਾਰ ਬਹੁਤ ਸਾਰੇ ਮਿਲਦੇ-ਜੁਲਦੇ ਅੱਖਰ ਸ਼ਾਮਿਲ ਹਨ"
-#: modules/pam_cracklib/pam_cracklib.c:664
+#: modules/pam_cracklib/pam_cracklib.c:658
msgid "contains too long of a monotonic character sequence"
msgstr "ਇੱਕ ਬਹੁਤ ਜਿਆਦਾ ਲੰਬੀ ਇਕਸੁਰਤਾ ਵਾਲੀ ਅੱਖਰ ਲੜੀ ਸਮਾਈ ਹੋਈ ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:667
+#: modules/pam_cracklib/pam_cracklib.c:661
msgid "contains the user name in some form"
msgstr "ਕੁਸੇ ਰੂਪ ਵਿੱਚ ਉਪਭੋਗੀ ਨਾਂ ਸ਼ਾਮਿਲ ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "No password supplied"
msgstr "ਕੋਈ ਪਾਸਵਰਡ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ"
-#: modules/pam_cracklib/pam_cracklib.c:701
+#: modules/pam_cracklib/pam_cracklib.c:695
#: modules/pam_unix/pam_unix_passwd.c:568
msgid "Password unchanged"
msgstr "ਪਾਸਵਰਡ ਨਾ-ਤਬਦੀਲ ਹੈ"
-#: modules/pam_cracklib/pam_cracklib.c:721
-#: modules/pam_cracklib/pam_cracklib.c:803
+#: modules/pam_cracklib/pam_cracklib.c:715
+#: modules/pam_cracklib/pam_cracklib.c:797
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ਗਲਤ ਪਾਸਵਰਡ: %s"
-#: modules/pam_exec/pam_exec.c:273
+#: modules/pam_exec/pam_exec.c:276
#, c-format
msgid "%s failed: exit code %d"
msgstr "%s ਫੇਲ ਹੋਇਆ: ਕੋਡ %d ਨਾਲ ਬੰਦ ਹੋ ਗਿਆ"
-#: modules/pam_exec/pam_exec.c:282
+#: modules/pam_exec/pam_exec.c:285
#, c-format
msgid "%s failed: caught signal %d%s"
msgstr "%s ਫੇਲ ਹੋ ਗਿਆ: ਸਿਗਨਲ %d%s ਮਿਲਿਆ"
-#: modules/pam_exec/pam_exec.c:291
+#: modules/pam_exec/pam_exec.c:294
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s ਫੇਲ ਹੋਇਆ: ਅਣਪਛਾਤੀ ਸਥਿਤੀ 0x%x"
@@ -504,7 +504,7 @@ msgid ""