summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Kukuk <kukuk@thkukuk.de>2005-09-02 08:46:23 +0000
committerThorsten Kukuk <kukuk@thkukuk.de>2005-09-02 08:46:23 +0000
commit44e952f399551aba882a9676ea10243b896a214c (patch)
treef63698a1ebe78f6ef205394e539eb9986520ddb9
parent8d8cd5b8922db1bbc30cb726916076d2879a4ed2 (diff)
Relevant BUGIDs: none
Purpose of commit: new feature Commit summary: --------------- pam_cracklib: - Make cracklib dict path an option - Don't compile a hard path to cracklib dict, libcrack knows it better - Use pam_prompt(). With this, pam_cracklib should work again after moving to automake.
-rw-r--r--CHANGELOG1
-rw-r--r--config.h.in3
-rwxr-xr-xconfigure150
-rw-r--r--configure.in1
-rw-r--r--modules/pam_cracklib/README3
-rw-r--r--modules/pam_cracklib/pam_cracklib.c186
-rw-r--r--po/Linux-PAM.pot23
-rw-r--r--po/cs.po24
-rw-r--r--po/de.po24
-rw-r--r--po/es.po24
-rw-r--r--po/fr.po24
-rw-r--r--po/hu.po24
-rw-r--r--po/it.po24
-rw-r--r--po/ja.po33
-rw-r--r--po/nb.po24
-rw-r--r--po/pa.po36
-rw-r--r--po/pl.po24
-rw-r--r--po/pt.po24
-rw-r--r--po/pt_BR.po24
-rw-r--r--po/zh_CN.po28
-rw-r--r--po/zh_TW.po28
21 files changed, 582 insertions, 150 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 329ce6b5..ceceb822 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -82,6 +82,7 @@ BerliOS Bugs are marked with (BerliOS #XXXX).
* libpam: Cache pam_get_user() failures
* libpam: Add pam_prompt,pam_vprompt,pam_error,pam_verror,pam_info
and pam_vinfo functions for use by modules as extension (kukuk).
+* pam_cracklib: Make path to cracklib dicts an option (kukuk).
0.80: Wed Jul 13 13:23:20 CEST 2005
* pam_tally: test for NULL data before dereferencing them (t8m)
diff --git a/config.h.in b/config.h.in
index 95847475..a42faad6 100644
--- a/config.h.in
+++ b/config.h.in
@@ -19,6 +19,9 @@
the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+/* Define to 1 if you have the <crack.h> header file. */
+#undef HAVE_CRACK_H
+
/* Define to 1 if you have the <crypt.h> header file. */
#undef HAVE_CRYPT_H
diff --git a/configure b/configure
index 0bca03ce..073ae401 100755
--- a/configure
+++ b/configure
@@ -22889,6 +22889,156 @@ fi
done
+for ac_header in crack.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+ # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ (
+ cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists. ##
+## ------------------------------------------ ##
+_ASBOX
+ ) |
+ sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
for ac_header in ndbm.h db.h
diff --git a/configure.in b/configure.in
index b0ef7c56..4037cfb7 100644
--- a/configure.in
+++ b/configure.in
@@ -300,6 +300,7 @@ AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h termio.h unistd.h sys/fsuid.h inittypes.h)
AC_CHECK_HEADERS(crypt.h)
+AC_CHECK_HEADERS(crack.h)
dnl For module/pam_userdb
AC_CHECK_HEADERS(ndbm.h db.h)
diff --git a/modules/pam_cracklib/README b/modules/pam_cracklib/README
index 69662f73..eea980eb 100644
--- a/modules/pam_cracklib/README
+++ b/modules/pam_cracklib/README
@@ -29,6 +29,9 @@ RECOGNIZED ARGUMENTS:
use_authtok Get the proposed password from PAM_AUTHTOK
+ dictpath=<path> Path to the cracklib dictionaries.
+
+
MODULE SERVICES PROVIDED:
passwd chauthtok
diff --git a/modules/pam_cracklib/pam_cracklib.c b/modules/pam_cracklib/pam_cracklib.c
index 5f9d54bf..de757f47 100644
--- a/modules/pam_cracklib/pam_cracklib.c
+++ b/modules/pam_cracklib/pam_cracklib.c
@@ -49,16 +49,19 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <ctype.h>
+#include <limits.h>
+#ifdef HAVE_CRACK_H
+#include <crack.h>
+#else
extern char *FascistCheck(char *pw, const char *dictpath);
-
-#ifndef CRACKLIB_DICTPATH
-#define CRACKLIB_DICTPATH "/usr/share/dict/cracklib_dict"
#endif
-#define PROMPT1 "New %s%spassword: "
-#define PROMPT2 "Retype new %s%spassword: "
-#define MISTYPED_PASS "Sorry, passwords do not match"
+/* 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
@@ -76,10 +79,7 @@ extern char *FascistCheck(char *pw, const char *dictpath);
#include <security/pam_modules.h>
#include <security/_pam_macros.h>
-
-#ifndef LINUX_PAM
-#include <security/pam_appl.h>
-#endif /* LINUX_PAM */
+#include <security/pam_ext.h>
/* some syslogging */
@@ -108,6 +108,7 @@ struct cracklib_options {
int oth_credit;
int use_authtok;
char prompt_type[BUFSIZ];
+ char cracklib_dictpath[PATH_MAX];
};
#define CO_RETRY_TIMES 1
@@ -169,64 +170,21 @@ static int _pam_parse(struct cracklib_options *opt, int argc, const char **argv)
opt->oth_credit = 0;
} else if (!strncmp(*argv,"use_authtok",11)) {
opt->use_authtok = 1;
+ } else if (!strncmp(*argv,"dictpath=",9)) {
+ strncpy(opt->cracklib_dictpath, *argv+9,
+ sizeof(opt->cracklib_dictpath) - 1);
} else {
_pam_log(LOG_ERR,"pam_parse: unknown option; %s",*argv);
}
}
opt->prompt_type[sizeof(opt->prompt_type) - 1] = '\0';
+ opt->cracklib_dictpath[sizeof(opt->cracklib_dictpath) - 1] = '\0';
return ctrl;
}
/* Helper functions */
-/* this is a front-end for module-application conversations */
-static int converse(pam_handle_t *pamh, int ctrl, int nargs,
- struct pam_message **message,
- struct pam_response **response)
-{
- int retval;
- const void *void_conv = NULL;
- const struct pam_conv *conv;
-
- retval = pam_get_item(pamh, PAM_CONV, &void_conv);
- conv = (const struct pam_conv *)void_conv;
- if ( retval == PAM_SUCCESS && conv ) {
- retval = conv->conv(nargs, (const struct pam_message **)message,
- response, conv->appdata_ptr);
- if (retval != PAM_SUCCESS && (ctrl && PAM_DEBUG_ARG)) {
- _pam_log(LOG_DEBUG, "conversation failure [%s]",
- pam_strerror(pamh, retval));
- }
- } else {
- _pam_log(LOG_ERR, "couldn't obtain coversation function [%s]",
- pam_strerror(pamh, retval));
- if ( retval == PAM_SUCCESS )
- retval = PAM_BAD_ITEM; /* conv was NULL */
- }
-
- return retval; /* propagate error status */
-}
-
-static int make_remark(pam_handle_t *pamh, unsigned int ctrl,
- int type, const char *text)
-{
- struct pam_message *pmsg[1], msg[1];
- struct pam_response *resp;
- int retval;
-
- pmsg[0] = &msg[0];
- msg[0].msg = text;
- msg[0].msg_style = type;
- resp = NULL;
-
- retval = converse(pamh, ctrl, 1, pmsg, &resp);
- if (retval == PAM_SUCCESS)
- _pam_drop_reply(resp, 1);
-
- return retval;
-}
-
/* use this to free strings. ESPECIALLY password strings */
static char *_pam_delete(register char *xx)
{
@@ -514,9 +472,8 @@ static int _pam_unix_approve_pass(pam_handle_t *pamh,
if (pass_new == NULL || (pass_old && !strcmp(pass_old,pass_new))) {
if (ctrl && PAM_DEBUG_ARG)
_pam_log(LOG_DEBUG, "bad authentication token");
- make_remark(pamh, ctrl, PAM_ERROR_MSG,
- pass_new == NULL ?
- "No password supplied":"Password unchanged" );
+ pam_error(pamh, "%s", pass_new == NULL ?
+ _("No password supplied"):_("Password unchanged"));
return PAM_AUTHTOK_ERR;
}
@@ -537,14 +494,10 @@ static int _pam_unix_approve_pass(pam_handle_t *pamh,
}
if (msg) {
- char remark[BUFSIZ];
-
- memset(remark,0,sizeof(remark));
- snprintf(remark,sizeof(remark),"BAD PASSWORD: %s",msg);
if (ctrl && PAM_DEBUG_ARG)
_pam_log(LOG_NOTICE, "new passwd fails strength check: %s",
msg);
- make_remark(pamh, ctrl, PAM_ERROR_MSG, remark);
+ pam_error(pamh, _("BAD PASSWORD: %s"), msg);
return PAM_AUTHTOK_ERR;
};
return PAM_SUCCESS;
@@ -574,39 +527,20 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
options.use_authtok = CO_USE_AUTHTOK;
memset(options.prompt_type, 0, BUFSIZ);
strcpy(options.prompt_type,"UNIX");
+ memset(options.cracklib_dictpath, 0,
+ sizeof (options.cracklib_dictpath));
ctrl = _pam_parse(&options, argc, argv);
if (flags & PAM_PRELIM_CHECK) {
/* Check for passwd dictionary */
- struct stat st;
- char buf[sizeof(CRACKLIB_DICTPATH)+10];
-
- D(("prelim check"));
-
- memset(buf,0,sizeof(buf)); /* zero the buffer */
- snprintf(buf,sizeof(buf),"%s.pwd",CRACKLIB_DICTPATH);
-
- if (!stat(buf,&st) && st.st_size)
- return PAM_SUCCESS;
- else {
- if (ctrl & PAM_DEBUG_ARG)
- _pam_log(LOG_NOTICE,"dict path '%s'[.pwd] is invalid",
- CRACKLIB_DICTPATH);
- return PAM_ABORT;
- }
-
- /* Not reached */
- return PAM_SERVICE_ERR;
-
+ /* We cannot do that, since the original path is compiled
+ into the cracklib library and we don't know it. */
+ return PAM_SUCCESS;
} else if (flags & PAM_UPDATE_AUTHTOK) {
int retval;
- char *token1, *token2;
+ char *token1, *token2, *resp;
const void *oldtoken;
- struct pam_message msg[1],*pmsg[1];
- struct pam_response *resp;
- const char *cracklib_dictpath = CRACKLIB_DICTPATH;
- char prompt[BUFSIZ];
D(("do update"));
retval = pam_get_item(pamh, PAM_OLDAUTHTOK, &oldtoken);
@@ -655,29 +589,22 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
} else {
/* Prepare to ask the user for the first time */
- memset(prompt,0,sizeof(prompt));
- snprintf(prompt,sizeof(prompt),PROMPT1,
- options.prompt_type, options.prompt_type[0]?" ":"");
- pmsg[0] = &msg[0];
- msg[0].msg_style = PAM_PROMPT_ECHO_OFF;
- msg[0].msg = prompt;
-
resp = NULL;
- retval = converse(pamh, ctrl, 1, pmsg, &resp);
- if (resp != NULL) {
- /* interpret the response */
- if (retval == PAM_SUCCESS) { /* a good conversation */
- token1 = x_strdup(resp[0].resp);
- if (token1 == NULL) {
- _pam_log(LOG_NOTICE,
- "could not recover authentication token 1");
- retval = PAM_AUTHTOK_RECOVER_ERR;
- }
- }
+ retval = pam_prompt (pamh, PAM_PROMPT_ECHO_OFF, &resp,
+ PROMPT1, options.prompt_type,
+ options.prompt_type[0]?" ":"");
+
+ if (retval == PAM_SUCCESS) { /* a good conversation */
+ token1 = x_strdup(resp);
+ if (token1 == NULL) {
+ _pam_log(LOG_NOTICE,
+ "could not recover authentication token 1");
+ retval = PAM_AUTHTOK_RECOVER_ERR;
+ }
/*
* tidy up the conversation (resp_retcode) is ignored
*/
- _pam_drop_reply(resp, 1);
+ _pam_drop(resp);
} else {
retval = (retval == PAM_SUCCESS) ?
PAM_AUTHTOK_RECOVER_ERR:retval ;
@@ -693,16 +620,13 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
D(("testing password, retval = %s", pam_strerror(pamh, retval)));
/* now test this passwd against cracklib */
{
- char *crack_msg;
- char remark[BUFSIZ];
+ const char *crack_msg;
- bzero(remark,sizeof(remark));
D(("against cracklib"));
- if ((crack_msg = FascistCheck(token1, cracklib_dictpath))) {
+ if ((crack_msg = FascistCheck(token1,options.cracklib_dictpath[0] == '\0'?NULL:options.cracklib_dictpath))) {
if (ctrl && PAM_DEBUG_ARG)
_pam_log(LOG_DEBUG,"bad password: %s",crack_msg);
- snprintf(remark,sizeof(remark),"BAD PASSWORD: %s", crack_msg);
- make_remark(pamh, ctrl, PAM_ERROR_MSG, remark);
+ pam_error(pamh, "BAD PASSWORD: %s", crack_msg);
if (getuid() || (flags & PAM_CHANGE_EXPIRED_AUTHTOK))
retval = PAM_AUTHTOK_ERR;
else
@@ -736,29 +660,21 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
/* Now we have a good passwd. Ask for it once again */
if (options.use_authtok == 0) {
- bzero(prompt,sizeof(prompt));
- snprintf(prompt,sizeof(prompt),PROMPT2,
- options.prompt_type, options.prompt_type[0]?" ":"");
- pmsg[0] = &msg[0];
- msg[0].msg_style = PAM_PROMPT_ECHO_OFF;
- msg[0].msg = prompt;
-
resp = NULL;
- retval = converse(pamh, ctrl, 1, pmsg, &resp);
- if (resp != NULL) {
- /* interpret the response */
- if (retval == PAM_SUCCESS) { /* a good conversation */
- token2 = x_strdup(resp[0].resp);
- if (token2 == NULL) {
- _pam_log(LOG_NOTICE,
- "could not recover authentication token 2");
- retval = PAM_AUTHTOK_RECOVER_ERR;
- }
- }
+ retval = pam_prompt (pamh, PAM_PROMPT_ECHO_OFF, &resp,
+ PROMPT2, options.prompt_type,
+ options.prompt_type[0]?" ":"");
+ if (retval == PAM_SUCCESS) { /* a good conversation */
+ token2 = x_strdup(resp);
+ if (token2 == NULL) {
+ _pam_log(LOG_NOTICE,
+ "could not recover authentication token 2");
+ retval = PAM_AUTHTOK_RECOVER_ERR;
+ }
/*
* tidy up the conversation (resp_retcode) is ignored
*/
- _pam_drop_reply(resp, 1);
+ _pam_drop(resp);
} else {
retval = (retval == PAM_SUCCESS) ?
PAM_AUTHTOK_RECOVER_ERR:retval ;
@@ -774,7 +690,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
/* Hopefully now token1 and token2 the same password ... */
if (strcmp(token1,token2) != 0) {
/* tell the user */
- make_remark(pamh, ctrl, PAM_ERROR_MSG, MISTYPED_PASS);
+ pam_error(pamh, "%s", MISTYPED_PASS);
token1 = _pam_delete(token1);
token2 = _pam_delete(token2);
pam_set_item(pamh, PAM_AUTHTOK, NULL);
diff --git a/po/Linux-PAM.pot b/po/Linux-PAM.pot
index b205e3a6..5541f043 100644
--- a/po/Linux-PAM.pot
+++ b/po/Linux-PAM.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+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"
@@ -132,10 +132,12 @@ msgid "NIS password could not be changed."
msgstr ""
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr ""
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr ""
@@ -179,6 +181,25 @@ msgstr ""
msgid "Verification mis-typed; password unchanged"
msgstr ""
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, c-format
+msgid "New %s%spassword: "
+msgstr ""
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, c-format
+msgid "Retype new %s%spassword: "
+msgstr ""
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+msgid "Sorry, passwords do not match."
+msgstr ""
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/cs.po b/po/cs.po
index 334e05ca..dbf1db1d 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-24 13:58+0200\n"
"Last-Translator: Tomas Mraz <t8m@centrum.cz>\n"
"Language-Team: cs_CZ <cs@li.org>\n"
@@ -144,10 +144,12 @@ msgid "NIS password could not be changed."
msgstr "NIS heslo se nepoda\305\231ilo zm\304\233nit."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Nezad\303\241no heslo"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Heslo nebylo zm\304\233n\304\233no"
@@ -194,6 +196,26 @@ msgstr "Opakujte STRESS heslo: "
msgid "Verification mis-typed; password unchanged"
msgstr "Chybn\303\251 potvrzen\303\255. Heslo nezm\304\233n\304\233no"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Heslo nebylo zm\304\233n\304\233no"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Opakujte STRESS heslo: "
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "NIS heslo se nepoda\305\231ilo zm\304\233nit."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/de.po b/po/de.po
index bfefebd8..840f3089 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-17 16:50+0000\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -136,10 +136,12 @@ msgid "NIS password could not be changed."
msgstr "\303\204nderung des NIS-Passworts nicht m\303\266glich."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Kein Passwort angegeben"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Passwort nicht ge\303\244ndert"
@@ -186,6 +188,26 @@ msgid "Verification mis-typed; password unchanged"
msgstr ""
"Best\303\244tigungspasswort falsch eingegeben; Passwort nicht ge\303\244ndert"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Passwort nicht ge\303\244ndert"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Geben Sie das neue STRESS-Passwort erneut ein:"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "\303\204nderung des NIS-Passworts nicht m\303\266glich."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 2ac683a1..2d577e0c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-18 HO:MI+ZONE\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -143,10 +143,12 @@ msgid "NIS password could not be changed."
msgstr "No es posible cambiar la contrase\303\261a NIS."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "No se ha proporcionado ninguna contrase\303\261a"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "La contrase\303\261a no ha cambiado"
@@ -193,6 +195,26 @@ msgid "Verification mis-typed; password unchanged"
msgstr ""
"Error al escribir la verificaci\303\263n; la contrase\303\261a no ha cambiado"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "La contrase\303\261a no ha cambiado"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Vuelva a escribir la nueva contrase\303\261a STRESS:"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "No es posible cambiar la contrase\303\261a NIS."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index f4828d1b..cda25e6c 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-18 12:12+0000\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -139,10 +139,12 @@ msgid "NIS password could not be changed."
msgstr "Le mot de passe NIS n'a pas pu \303\252tre chang\303\251."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Aucun mot de passe fourni"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Mot de passe inchang\303\251"
@@ -189,6 +191,26 @@ msgstr "Retaper le nouveau mot de passe STRESS :"
msgid "Verification mis-typed; password unchanged"
msgstr "Verification erron\303\251e : mot de passe inchang\303\251"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Mot de passe inchang\303\251"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Retaper le nouveau mot de passe STRESS :"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "Le mot de passe NIS n'a pas pu \303\252tre chang\303\251."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/hu.po b/po/hu.po
index 3b3265e4..51f5e0ef 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM 0.80\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-07 02:59+0100\n"
"Last-Translator: Szabolcs Varga <shirokuma@shirokuma.hu>\n"
"Language-Team: hu\n"
@@ -143,10 +143,12 @@ msgid "NIS password could not be changed."
msgstr "A NIS-jelsz\303\263 nem m\303\263dos\303\255that\303\263."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Nem lett megadva jelsz\303\263"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "A jelsz\303\263 nem v\303\241ltozott"
@@ -198,6 +200,26 @@ msgstr ""
"Az ellen\305\221rz\305\221 jelsz\303\263 nem egyezik; a jelsz\303\263 nem ker"
"\303\274lt m\303\263dos\303\255t\303\241sra"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "A jelsz\303\263 nem v\303\241ltozott"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "\303\215rja be m\303\251gegyszer az \303\272j STRESS jelsz\303\263t:"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "A NIS-jelsz\303\263 nem m\303\263dos\303\255that\303\263."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/it.po b/po/it.po
index 96a60fb8..f933a5e0 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-18 13:43-0000\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -138,10 +138,12 @@ msgid "NIS password could not be changed."
msgstr "[f1]Impossibile modificare parola d'ordine NIS."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Nessuna parola d'ordine fornita"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Parola d'ordine non modificata"
@@ -187,6 +189,26 @@ msgstr "Ridigitare nuova parola d'ordine STRESS:"
msgid "Verification mis-typed; password unchanged"
msgstr "Errore digitazione verifica; parola d'ordine non cambiata"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Parola d'ordine non modificata"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Ridigitare nuova parola d'ordine STRESS:"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "[f1]Impossibile modificare parola d'ordine NIS."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/ja.po b/po/ja.po
index 21cf06c1..f66ddb61 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-18 11:52-0000\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -199,6 +199,7 @@ msgstr ""
"\202\223\343\201\247\343\201\227\343\201\237\343\200\202"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr ""
"\343\203\221\343\202\271\343\203\257\343\203\274\343\203\211\343\201\214\344"
@@ -206,6 +207,7 @@ msgstr ""
"\276\343\201\233\343\202\223"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr ""
"\343\203\221\343\202\271\343\203\257\343\203\274\343\203\211\343\201\214\345"
@@ -285,6 +287,35 @@ msgstr ""
"\274\343\203\211\343\201\214\345\244\211\346\233\264\343\201\225\343\202\214"
"\343\201\246\343\201\204\343\201\276\343\201\233\343\202\223"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr ""
+"\343\203\221\343\202\271\343\203\257\343\203\274\343\203\211\343\201\214\345"
+"\244\211\346\233\264\343\201\225\343\202\214\343\201\246\343\201\204\343\201"
+"\276\343\201\233\343\202\223"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr ""
+"\346\226\260\343\201\227\343\201\204STRESS\343\203\221\343\202\271\343\203"
+"\257\343\203\274\343\203\211\343\202\222\345\206\215\345\205\245\345\212\233"
+"\343\201\227\343\201\246\343\201\217\343\201\240\343\201\225\343\201\204:"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr ""
+"NIS\343\203\221\343\202\271\343\203\257\343\203\274\343\203\211\343\202\222"
+"\345\244\211\346\233\264\343\201\247\343\201\215\343\201\276\343\201\233\343"
+"\202\223\343\201\247\343\201\227\343\201\237\343\200\202"
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/nb.po b/po/nb.po
index b1b48abf..20355eba 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-13 22:44+0200\n"
"Last-Translator: Olav Pettershagen <olav.pet@online.no>\n"
"Language-Team: <nb@li.org>\n"
@@ -134,10 +134,12 @@ msgid "NIS password could not be changed."
msgstr "NIS-passord kunne ikke endres."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Passord ikke angitt"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Passord uendret"
@@ -183,6 +185,26 @@ msgstr "Bekreft nytt STRESS-passord: "
msgid "Verification mis-typed; password unchanged"
msgstr "Bekreftelse feil skrevet; passord uendret"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Passord uendret"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Bekreft nytt STRESS-passord: "
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "NIS-passord kunne ikke endres."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/pa.po b/po/pa.po
index c165c5fd..63fde6da 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -33,7 +33,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM.pa\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-06 08:34+0530\n"
"Last-Translator: Amanpreet Singh Alam[\340\250\206\340\250\262\340\250\256] "
"<amanpreetalam@yahoo.com>\n"
@@ -216,6 +216,7 @@ msgstr ""
"\250\277\340\250\206 \340\250\271\340\251\210\340\245\244"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr ""
"\340\250\225\340\251\213\340\250\210 \340\250\227\340\251\201\340\250\252\340"
@@ -224,6 +225,7 @@ msgstr ""
"\276 \340\250\227\340\250\277\340\250\206"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr ""
"\340\250\227\340\251\201\340\250\252\340\250\244-\340\250\225\340\251\213\340"
@@ -298,6 +300,38 @@ msgstr ""
msgid "Verification mis-typed; password unchanged"
msgstr ""
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr ""
+"\340\250\227\340\251\201\340\250\252\340\250\244-\340\250\225\340\251\213\340"
+"\250\241 \340\250\250\340\250\276-\340\250\244\340\250\254\340\250\246\340"
+"\251\200\340\250\262 \340\250\271\340\251\210"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr ""
+"\340\250\250\340\250\265\340\250\276\340\250\202 STRESS \340\250\227\340\251"
+"\201\340\250\252\340\250\244-\340\250\225\340\251\213\340\250\241 \340\250"
+"\256\340\251\201\340\251\234-\340\250\262\340\250\277\340\250\226\340\251"
+"\213: "
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr ""
+"NIS \340\250\227\340\251\201\340\250\252\340\250\244-\340\250\225\340\251\213"
+"\340\250\241 \340\250\244\340\250\254\340\250\246\340\251\200\340\250\262 "
+"\340\250\250\340\250\271\340\251\200\340\250\202 \340\250\225\340\251\200\340"
+"\250\244\340\250\276 \340\250\234\340\250\276 \340\250\270\340\250\225\340"
+"\250\277\340\250\206 \340\250\271\340\251\210\340\245\244"
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index be89fee4..7098b270 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM TBD\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-23 15:22+0200\n"
"Last-Translator: Piotr Bolek <pb@7bulls.com>\n"
"Language-Team: Polish <i18n@suse.de>\n"
@@ -139,10 +139,12 @@ msgid "NIS password could not be changed."
msgstr "Nie mo\305\274na zmienia\304\207 has\305\202a NIS."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Nie podano has\305\202a"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Has\305\202o nie zmienione"
@@ -190,6 +192,26 @@ msgstr "Wpisz ponownie has\305\202o STRESS: "
msgid "Verification mis-typed; password unchanged"
msgstr "B\305\202\304\231dna weryfikacja; has\305\202o niezmienione"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Has\305\202o nie zmienione"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Wpisz ponownie has\305\202o STRESS: "
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "Nie mo\305\274na zmienia\304\207 has\305\202a NIS."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/pt.po b/po/pt.po
index 1a227bc6..ff08b23b 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM-pt\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-07 00:41+0100\n"
"Last-Translator: Antonio Cardoso Martins <digiplan@netvisao.pt>\n"
"Language-Team: portuguese\n"
@@ -142,10 +142,12 @@ msgid "NIS password could not be changed."
msgstr "A palavra passe de NIS n\303\243o pode ser alterada."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "N\303\243o foi fornecida uma palavra passe"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Palavra passe inalterada"
@@ -192,6 +194,26 @@ msgid "Verification mis-typed; password unchanged"
msgstr ""
"A verifica\303\247\303\243o n\303\243o coincide; palavra passe inalterada"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Palavra passe inalterada"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Digite novamente a nova palavra passe de STRESS: "
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "A palavra passe de NIS n\303\243o pode ser alterada."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 3ae20fc0..eae399c8 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-18 15:02+0000\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -135,10 +135,12 @@ msgid "NIS password could not be changed."
msgstr "A senha NIS n\303\243o p\303\264de ser mudada."
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "Nenhuma senha informada"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "Senha inalterada"
@@ -184,6 +186,26 @@ msgstr "Digite novamente a nova senha STRESS:"
msgid "Verification mis-typed; password unchanged"
msgstr "Verifica\303\247\303\243o digitada incorretamente; senha inalterada"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "Senha inalterada"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr "Digite novamente a nova senha STRESS:"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr "A senha NIS n\303\243o p\303\264de ser mudada."
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 193c8e27..d6848c8d 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux_PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-18 HO:MI+ZONE\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -170,10 +170,12 @@ msgstr ""
"\343\200\202"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "\345\217\243\344\273\244\346\234\252\346\217\220\344\276\233"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "\345\217\243\344\273\244\346\234\252\346\233\264\346\224\271"
@@ -237,6 +239,30 @@ msgstr ""
"\346\240\241\351\252\214\347\261\273\345\236\213\351\224\231\350\257\257\357"
"\274\233\345\217\243\344\273\244\346\234\252\346\233\264\346\224\271"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "\345\217\243\344\273\244\346\234\252\346\233\264\346\224\271"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr ""
+"\351\207\215\346\226\260\350\276\223\345\205\245\346\226\260\347\232\204 "
+"STRESS \345\217\243\344\273\244\357\274\232"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr ""
+"\346\227\240\346\263\225\346\233\264\346\224\271 NIS \345\217\243\344\273\244"
+"\343\200\202"
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""
diff --git a/po/zh_TW.po b/po/zh_TW.po
index d38779d1..9f605746 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Linux_PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2005-09-01 15:47+0200\n"
+"POT-Creation-Date: 2005-09-02 10:31+0200\n"
"PO-Revision-Date: 2005-08-18 12:12+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
@@ -171,10 +171,12 @@ msgstr ""
"\343\200\202"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "No password supplied"
msgstr "\346\234\252\346\217\220\344\276\233\345\257\206\347\242\274"
#: modules/pam_unix/pam_unix_passwd.c:962
+#: modules/pam_cracklib/pam_cracklib.c:476
msgid "Password unchanged"
msgstr "\345\257\206\347\242\274\346\234\252\350\256\212\346\233\264"
@@ -241,6 +243,30 @@ msgstr ""
"\347\242\272\350\252\215\351\214\257\350\252\244\350\274\270\345\205\245\357"
"\274\233\345\257\206\347\242\274\346\234\252\350\256\212\346\233\264"
+#: modules/pam_cracklib/pam_cracklib.c:61
+#, fuzzy, c-format
+msgid "New %s%spassword: "
+msgstr "\345\257\206\347\242\274\346\234\252\350\256\212\346\233\264"
+
+#: modules/pam_cracklib/pam_cracklib.c:63
+#, fuzzy, c-format
+msgid "Retype new %s%spassword: "
+msgstr ""
+"\345\206\215\346\254\241\350\274\270\345\205\245\346\226\260\347\232\204 "
+"STRESS \345\257\206\347\242\274\357\274\232"
+
+#: modules/pam_cracklib/pam_cracklib.c:64
+#, fuzzy
+msgid "Sorry, passwords do not match."
+msgstr ""
+"\347\204\241\346\263\225\350\256\212\346\233\264 NIS \345\257\206\347\242\274"
+"\343\200\202"
+
+#: modules/pam_cracklib/pam_cracklib.c:500
+#, c-format
+msgid "BAD PASSWORD: %s"
+msgstr ""
+
#: libpam/pam_item.c:268
msgid "login:"
msgstr ""