]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs: none
authorThorsten Kukuk <kukuk@thkukuk.de>
Fri, 2 Sep 2005 08:46:23 +0000 (08:46 +0000)
committerThorsten Kukuk <kukuk@thkukuk.de>
Fri, 2 Sep 2005 08:46:23 +0000 (08:46 +0000)
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.

21 files changed:
CHANGELOG
config.h.in
configure
configure.in
modules/pam_cracklib/README
modules/pam_cracklib/pam_cracklib.c
po/Linux-PAM.pot
po/cs.po
po/de.po
po/es.po
po/fr.po
po/hu.po
po/it.po
po/ja.po
po/nb.po
po/pa.po
po/pl.po
po/pt.po
po/pt_BR.po
po/zh_CN.po
po/zh_TW.po

index 329ce6b59e7e2bd592ddc53ddc3b72dcf52560d1..ceceb822e9fb4dd6e9a3fef9f59d944165a9ebdc 100644 (file)
--- 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)
index 95847475a633b6b06dc380e3b0542a6943ea63e0..a42faad608a852ada7d7dceb0cd288b73f1a758d 100644 (file)
@@ -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
 
index 0bca03cef77856dc5ed0e8e1db0980f6fe95d4ab..073ae401c091a7331fff371c2eb573f0b73725bd 100755 (executable)
--- a/configure
+++ b/configure
 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
index b0ef7c5665407ce6617756205909e409c932f882..4037cfb7d7abb44e83fb91203b3d5378267d2981 100644 (file)
@@ -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)
index 69662f7385b3df597f8cd687fc62817c2983ff56..eea980eb6481e4a71e4998bfc5e8fe5c84751e7a 100644 (file)
@@ -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
 
index 5f9d54bfb9579cd972cb29eab6a413f9f2720643..de757f474cbaeaab5149c2b4ad4c760b20d51bff 100644 (file)
 #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);
index b205e3a6fb0d1c08bc7dc10ef09c2c70d351be36..5541f04321ebae19ca1a2d3a82922042c3fe814e 100644 (file)
@@ -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 ""
index 334e05ca391a3c19a1ce4adfc6619c2c0464bbaa..dbf1db1d0e441b90d2ef48307dc32dabaf5768e6 100644 (file)
--- 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 ""
index bfefebd8068e9fce34306e1cf740f374925995b9..840f3089b94f04af92d761f0e850f9f9f7602d3f 100644 (file)
--- 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 ""
index 2ac683a1f8167eb4158103d5f9907606922e7736..2d577e0ca685752895825f80943e376d4bf74f25 100644 (file)
--- 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 ""
index f4828d1bfd0819f1f301d5f182b9393c722987ae..cda25e6c1fcb3f067b35b6491ed0379208ee92b4 100644 (file)
--- 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 ""
index 3b3265e4432136d1627f92a675158f67c8134572..51f5e0ef78862c95bab7719ff1d41d607862711b 100644 (file)
--- 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 ""
index 96a60fb8f6b474cfbab3b7ec0286e11a2eda8432..f933a5e0bb71c0f8d4eb64ad05a1585b040bbb3d 100644 (file)
--- 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 ""
index 21cf06c163cc94c4e1819ed7755ffc06dc646980..f66ddb614330ded89d0e3e8a5c53f1e5a81d31cf 100644 (file)
--- 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 ""
index b1b48abf8e48980b39b39852f01d579b1fa659cb..20355eba6706eabe91787310cf221ae1b921f9ec 100644 (file)
--- 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 ""
index c165c5fdf74c2662703029069ae916cc058d350b..63fde6da6833c500e62b060b4fab2257e4bddb51 100644 (file)
--- 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 ""
index be89fee43634728a176f09780a7dc8bd3334c19d..7098b2702d4e26d165449a7e5e427a33703dbe2f 100644 (file)
--- 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 ""
index 1a227bc6ae157d992a9b7fa142823ae741496df9..ff08b23bff30ade2d424f6a8b799fd1dfd2f3872 100644 (file)
--- 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 ""
index 3ae20fc061b699d4c3cd3e0b063d4d314c836d9d..eae399c8ef0cf3da94b98fadcc7d8699e96b82e3 100644 (file)
@@ -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 ""
index 193c8e278a6cc1a82504e49ba0b227025d573c7b..d6848c8dc7f96085cff45e7e6afacab6f64dd798 100644 (file)
@@ -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 ""
index d38779d1b8aceea52c51f42b21fd8d26cb4fa8aa..9f60574608cfd312918882ca00c1d88dcdcae59b 100644 (file)
@@ -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 ""