From 5c58f28cb4fa9965d5755b0eb1d0fcbd593b51ca Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 11 Nov 2010 16:15:52 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- 2010-11-11 Tomas Mraz * modules/pam_selinux/pam_selinux.c (pam_sm_open_session): Fix potential use after free in case SELinux is misconfigured. * modules/pam_namespace/pam_namespace.c (process_line): Fix memory leak when parsing empty config file lines. --- ChangeLog | 8 ++++++++ modules/pam_namespace/pam_namespace.c | 8 ++++---- modules/pam_selinux/pam_selinux.c | 7 +++++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 247a4f14..9a7baef5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-11-11 Tomas Mraz + + * modules/pam_selinux/pam_selinux.c (pam_sm_open_session): Fix + potential use after free in case SELinux is misconfigured. + + * modules/pam_namespace/pam_namespace.c (process_line): Fix memory + leak when parsing empty config file lines. + 2010-10-28 Thorsten Kukuk * release version 1.1.3 diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c index a13f9599..baa7f85a 100644 --- a/modules/pam_namespace/pam_namespace.c +++ b/modules/pam_namespace/pam_namespace.c @@ -307,10 +307,6 @@ static int process_line(char *line, const char *home, const char *rhome, const char *rvar_values[] = {rhome, idata->ruser}; int len; - poly = calloc(1, sizeof(*poly)); - if (poly == NULL) - goto erralloc; - /* * skip the leading white space */ @@ -337,6 +333,10 @@ static int process_line(char *line, const char *home, const char *rhome, if (line[0] == 0) return 0; + poly = calloc(1, sizeof(*poly)); + if (poly == NULL) + goto erralloc; + /* * Initialize and scan the five strings from the line from the * namespace configuration file. diff --git a/modules/pam_selinux/pam_selinux.c b/modules/pam_selinux/pam_selinux.c index 64fabafd..c31278e9 100644 --- a/modules/pam_selinux/pam_selinux.c +++ b/modules/pam_selinux/pam_selinux.c @@ -642,10 +642,10 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, if (debug) pam_syslog(pamh, LOG_DEBUG, "Username= %s SELinux User = %s Level= %s", username, seuser, level); - free(seuser); free(level); } if (num_contexts > 0) { + free(seuser); default_user_context=strdup(contextlist[0]); freeconary(contextlist); if (default_user_context == NULL) { @@ -672,7 +672,10 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, } } else { - user_context = manual_context(pamh,seuser,debug); + if (seuser != NULL) { + user_context = manual_context(pamh,seuser,debug); + free(seuser); + } if (user_context == NULL) { pam_syslog (pamh, LOG_ERR, "Unable to get valid context for %s", username); -- cgit v1.2.3 From 7aba472d5255f0e64a5ea42221c0d5f225f3b42d Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 16 Nov 2010 09:51:50 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- 2010-11-16 Tomas Mraz * modules/pam_pwhistory/pam_pwhistory.c (pam_sm_chauthtok): Remove dead and duplicate code. Return PAM_INCOMPLETE instead of PAM_CONV_AGAIN. --- ChangeLog | 6 ++++++ modules/pam_pwhistory/pam_pwhistory.c | 21 ++++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9a7baef5..41d782f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-11-16 Tomas Mraz + + * modules/pam_pwhistory/pam_pwhistory.c (pam_sm_chauthtok): Remove + dead and duplicate code. Return PAM_INCOMPLETE instead of + PAM_CONV_AGAIN. + 2010-11-11 Tomas Mraz * modules/pam_selinux/pam_selinux.c (pam_sm_open_session): Fix diff --git a/modules/pam_pwhistory/pam_pwhistory.c b/modules/pam_pwhistory/pam_pwhistory.c index 0f6ffca3..9b588958 100644 --- a/modules/pam_pwhistory/pam_pwhistory.c +++ b/modules/pam_pwhistory/pam_pwhistory.c @@ -187,12 +187,13 @@ pam_sm_chauthtok (pam_handle_t *pamh, int flags, int argc, const char **argv) { retval = pam_get_authtok (pamh, PAM_AUTHTOK, &newpass, NULL); if (retval != PAM_SUCCESS && retval != PAM_TRY_AGAIN) - return retval; + { + if (retval == PAM_CONV_AGAIN) + retval = PAM_INCOMPLETE; + return retval; + } tries++; - if (newpass == NULL || retval == PAM_TRY_AGAIN) - continue; - if (options.debug) { if (newpass) @@ -201,12 +202,8 @@ pam_sm_chauthtok (pam_handle_t *pamh, int flags, int argc, const char **argv) pam_syslog (pamh, LOG_DEBUG, "got no auth token"); } - if (retval != PAM_SUCCESS || newpass == NULL) - { - if (retval == PAM_CONV_AGAIN) - retval = PAM_INCOMPLETE; - return retval; - } + if (newpass == NULL || retval == PAM_TRY_AGAIN) + continue; if (options.debug) pam_syslog (pamh, LOG_DEBUG, "check against old password file"); @@ -219,7 +216,6 @@ pam_sm_chauthtok (pam_handle_t *pamh, int flags, int argc, const char **argv) newpass = NULL; /* Remove password item, else following module will use it */ pam_set_item (pamh, PAM_AUTHTOK, (void *) NULL); - continue; } } @@ -230,8 +226,7 @@ pam_sm_chauthtok (pam_handle_t *pamh, int flags, int argc, const char **argv) return PAM_MAXTRIES; } - /* Remember new password */ - return pam_set_item (pamh, PAM_AUTHTOK, newpass); + return PAM_SUCCESS; } -- cgit v1.2.3 From ff1e893b0e22e6848d78ae8094d1e10e3993ed7b Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 18 Nov 2010 09:37:31 +0000 Subject: Relevant BUGIDs: Purpose of commit: cleanup Commit summary: --------------- 2010-11-18 Tomas Mraz * modules/pam_limits/pam_limits.c (pam_parse,pam_sm_open_session): Drop obsolete and broken option change_uid. * modules/pam_limits/pam_limits.8.xml: Likewise. --- ChangeLog | 6 ++++++ modules/pam_limits/pam_limits.8.xml | 16 ---------------- modules/pam_limits/pam_limits.c | 7 ------- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index 41d782f2..b8cde262 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-11-18 Tomas Mraz + + * modules/pam_limits/pam_limits.c (pam_parse,pam_sm_open_session): + Drop obsolete and broken option change_uid. + * modules/pam_limits/pam_limits.8.xml: Likewise. + 2010-11-16 Tomas Mraz * modules/pam_pwhistory/pam_pwhistory.c (pam_sm_chauthtok): Remove diff --git a/modules/pam_limits/pam_limits.8.xml b/modules/pam_limits/pam_limits.8.xml index 0be7ef4d..7b944f9e 100644 --- a/modules/pam_limits/pam_limits.8.xml +++ b/modules/pam_limits/pam_limits.8.xml @@ -22,9 +22,6 @@ pam_limits.so - - change_uid - conf=/path/to/limits.conf @@ -70,19 +67,6 @@ OPTIONS - - - - - - - Change real uid to the user for who the limits are set up. Use this - option if you have problems like login not forking a shell for user - who has no processes. Be warned that something else may break when - you do this. - - - diff --git a/modules/pam_limits/pam_limits.c b/modules/pam_limits/pam_limits.c index f446f9e3..79cc717e 100644 --- a/modules/pam_limits/pam_limits.c +++ b/modules/pam_limits/pam_limits.c @@ -103,7 +103,6 @@ struct pam_limit_s { /* argument parsing */ #define PAM_DEBUG_ARG 0x0001 -#define PAM_DO_SETREUID 0x0002 #define PAM_UTMP_EARLY 0x0004 #define PAM_NO_AUDIT 0x0008 @@ -127,8 +126,6 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, ctrl |= PAM_DEBUG_ARG; } else if (!strncmp(*argv,"conf=",5)) { pl->conf_file = *argv+5; - } else if (!strncmp(*argv,"change_uid",10)) { - ctrl |= PAM_DO_SETREUID; } else if (!strcmp(*argv,"utmp_early")) { ctrl |= PAM_UTMP_EARLY; } else if (!strcmp(*argv,"noaudit")) { @@ -777,10 +774,6 @@ out: return retval; } - if (ctrl & PAM_DO_SETREUID) { - setreuid(pwd->pw_uid, -1); - } - retval = setup_limits(pamh, pwd->pw_name, pwd->pw_uid, ctrl, pl); if (retval & LOGIN_ERR) pam_error(pamh, _("Too many logins for '%s'."), pwd->pw_name); -- cgit v1.2.3 From a56c03f5b878796f8357e1b306b00279350ebf7a Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 24 Nov 2010 08:49:30 +0000 Subject: Relevant BUGIDs: Purpose of commit: docfix Commit summary: --------------- 2010-11-24 Tomas Mraz * modules/pam_limits/limits.conf.5.xml: Document the %group syntax. --- ChangeLog | 4 ++++ modules/pam_limits/limits.conf.5.xml | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b8cde262..87610bab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2010-11-24 Tomas Mraz + + * modules/pam_limits/limits.conf.5.xml: Document the %group syntax. + 2010-11-18 Tomas Mraz * modules/pam_limits/pam_limits.c (pam_parse,pam_sm_open_session): diff --git a/modules/pam_limits/limits.conf.5.xml b/modules/pam_limits/limits.conf.5.xml index a9757a7f..e9174bc1 100644 --- a/modules/pam_limits/limits.conf.5.xml +++ b/modules/pam_limits/limits.conf.5.xml @@ -53,7 +53,11 @@ the wildcard %, for maxlogins limit only, - can also be used with %group syntax. + can also be used with %group syntax. If the + % wildcard is used alone it is identical + to using * with maxsyslogins limit. With + a group specified after % it limits the total + number of logins of all users that are member of the group. @@ -182,7 +186,7 @@ - maximum number of logins on system + maximum number of all logins on system -- cgit v1.2.3 From 76d789aa7a3ced98ed8421c6c8ed978042ebd477 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Wed, 24 Nov 2010 12:28:01 +0000 Subject: Relevant BUGIDs: Purpose of commit: new feature Commit summary: --------------- 2010-11-24 Thorsten Kukuk * modules/pam_securetty/pam_securetty.c: Parse console= kernel option, add noconsole option. * modules/pam_securetty/pam_securetty.8.xml: Document new behavior for serial console. Patch from Lennart Poettering. --- ChangeLog | 8 +++++++ modules/pam_securetty/pam_securetty.8.xml | 13 +++++++++++ modules/pam_securetty/pam_securetty.c | 39 +++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/ChangeLog b/ChangeLog index 87610bab..c42e20ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-11-24 Thorsten Kukuk + + * modules/pam_securetty/pam_securetty.c: Parse console= kernel + option, add noconsole option. + * modules/pam_securetty/pam_securetty.8.xml: Document new behavior + for serial console. + Patch from Lennart Poettering. + 2010-11-24 Tomas Mraz * modules/pam_limits/limits.conf.5.xml: Document the %group syntax. diff --git a/modules/pam_securetty/pam_securetty.8.xml b/modules/pam_securetty/pam_securetty.8.xml index dd57705b..90d99a3d 100644 --- a/modules/pam_securetty/pam_securetty.8.xml +++ b/modules/pam_securetty/pam_securetty.8.xml @@ -61,6 +61,19 @@ + + + + + + + By default pam_securetty will allow root logins on the + kernel console device, as specified with the console= + switch on the kernel command line. Use this switch to turn + of this behaviour. + + + diff --git a/modules/pam_securetty/pam_securetty.c b/modules/pam_securetty/pam_securetty.c index a3c2010d..99c6371f 100644 --- a/modules/pam_securetty/pam_securetty.c +++ b/modules/pam_securetty/pam_securetty.c @@ -2,6 +2,7 @@ #define SECURETTY_FILE "/etc/securetty" #define TTY_PREFIX "/dev/" +#define CMDLINE_FILE "/proc/cmdline" /* * by Elliot Lee , Red Hat Software. @@ -22,6 +23,7 @@ #include #include #include +#include /* * here, we make a definition for the externally accessible function @@ -38,6 +40,7 @@ #include #define PAM_DEBUG_ARG 0x0001 +#define PAM_NOCONSOLE_ARG 0x0002 static int _pam_parse (const pam_handle_t *pamh, int argc, const char **argv) @@ -51,6 +54,8 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv) if (!strcmp(*argv,"debug")) ctrl |= PAM_DEBUG_ARG; + else if (!strcmp(*argv, "noconsole")) + ctrl |= PAM_NOCONSOLE_ARG; else { pam_syslog(pamh, LOG_ERR, "unknown option: %s", *argv); } @@ -144,6 +149,40 @@ securetty_perform_check (pam_handle_t *pamh, int ctrl, } fclose(ttyfile); + if (retval && !(ctrl & PAM_NOCONSOLE_ARG)) { + FILE *cmdlinefile; + + /* Allow access from the kernel console, if enabled */ + cmdlinefile = fopen(CMDLINE_FILE, "r"); + + if (cmdlinefile != NULL) { + char line[LINE_MAX], *p; + + line[0] = 0; + fgets(line, sizeof(line), cmdlinefile); + fclose(cmdlinefile); + + for (p = line; p; p = strstr(p+1, "console=")) { + char *e; + + /* Test whether this is a beginning of a word? */ + if (p > line && p[-1] != ' ') + continue; + + /* Ist this our console? */ + if (strncmp(p + 8, uttyname, strlen(uttyname))) + continue; + + /* Is there any garbage after the TTY name? */ + e = p + 8 + strlen(uttyname); + if (*e == ',' || *e == ' ' || *e == '\n' || *e == 0) { + retval = 0; + break; + } + } + } + } + if (retval) { pam_syslog(pamh, LOG_WARNING, "access denied: tty '%s' is not secure !", uttyname); -- cgit v1.2.3 From ecb0e6385aace15a6dce31749b34962058f2ebab Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 25 Nov 2010 16:58:59 +0000 Subject: Relevant BUGIDs: Purpose of commit: docfix Commit summary: --------------- 2010-11-25 Tomas Mraz * modules/pam_securetty/pam_securetty.8.xml: Improve documentation of the kernel console feature and the noconsole option. --- ChangeLog | 5 +++++ modules/pam_securetty/pam_securetty.8.xml | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index c42e20ef..ae7e5da1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-11-25 Tomas Mraz + + * modules/pam_securetty/pam_securetty.8.xml: Improve documentation + of the kernel console feature and the noconsole option. + 2010-11-24 Thorsten Kukuk * modules/pam_securetty/pam_securetty.c: Parse console= kernel diff --git a/modules/pam_securetty/pam_securetty.8.xml b/modules/pam_securetty/pam_securetty.8.xml index 90d99a3d..c5d6c5fe 100644 --- a/modules/pam_securetty/pam_securetty.8.xml +++ b/modules/pam_securetty/pam_securetty.8.xml @@ -33,7 +33,9 @@ user is logging in on a "secure" tty, as defined by the listing in /etc/securetty. pam_securetty also checks to make sure that /etc/securetty is a plain - file and not world writable. + file and not world writable. It will also allow root logins on + the tty specified with switch on the + kernel command line. This module has no effect on non-root users and requires that the @@ -67,10 +69,9 @@ - By default pam_securetty will allow root logins on the - kernel console device, as specified with the console= - switch on the kernel command line. Use this switch to turn - of this behaviour. + Do not automatically allow root logins on the kernel console + device, as specified on the kernel command line, if it is + not also specified in the /etc/securetty file. -- cgit v1.2.3 From da7baa3cd89c1ef0afc99c65e8ebdb0b68a68563 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 14 Dec 2010 08:28:38 +0000 Subject: Relevant BUGIDs: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Purpose of commit: translations Commit summary: --------------- 2010-12-14 Bahadır Kandemir * po/tr.po: Updated translations. --- ChangeLog | 4 ++ po/tr.po | 189 +++++++++++++++++++++++++++----------------------------------- 2 files changed, 85 insertions(+), 108 deletions(-) diff --git a/ChangeLog b/ChangeLog index ae7e5da1..0aa8feb5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2010-12-14 Bahadır Kandemir + + * po/tr.po: Updated translations. + 2010-11-25 Tomas Mraz * modules/pam_securetty/pam_securetty.8.xml: Improve documentation diff --git a/po/tr.po b/po/tr.po index 60904d47..72904a46 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,15 +1,16 @@ # translation of Linux-PAM.po to Türkçe -# Copyright (C) YEAR Linux-PAM Project -# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) 2010 Linux-PAM Project +# This file is distributed under the same license as the PAM package. # # Koray Löker , 2006. +# Bahadır Kandemir , 2010. msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" "POT-Creation-Date: 2010-10-20 15:15+0200\n" "PO-Revision-Date: 2006-05-03 19:00+0200\n" -"Last-Translator: Koray Löker \n" +"Last-Translator: Bahadır Kandemir \n" "Language-Team: Türkçe \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -50,14 +51,13 @@ msgid "Sorry, passwords do not match." msgstr "Üzgünüm, parolalar birbirine uymuyor." #: libpam/pam_get_authtok.c:133 libpam/pam_get_authtok.c:209 -#, fuzzy, c-format +#, c-format msgid "Retype %s" -msgstr "tip: " +msgstr "%s'i tekrar girin" #: libpam/pam_get_authtok.c:153 libpam/pam_get_authtok.c:222 -#, fuzzy msgid "Password change aborted." -msgstr "Parola değiştirilmedi" +msgstr "Parola değişimi iptal edildi." #: libpam/pam_item.c:310 msgid "login:" @@ -73,7 +73,7 @@ msgstr "Kritik hata - şimdi çıkılıyor" #: libpam/pam_strerror.c:44 msgid "Failed to load module" -msgstr "" +msgstr "Modül yüklenemedi" #: libpam/pam_strerror.c:46 msgid "Symbol not found" @@ -89,7 +89,7 @@ msgstr "Sistem hatası" #: libpam/pam_strerror.c:52 msgid "Memory buffer error" -msgstr "Bellek tampo hatası" +msgstr "Tampon bellek hatası" #: libpam/pam_strerror.c:54 msgid "Permission denied" @@ -105,11 +105,11 @@ msgstr "Kimlik bilgisine ulaşmak için yetersiz yetki" #: libpam/pam_strerror.c:60 msgid "Authentication service cannot retrieve authentication info" -msgstr "Yetkilendirme servisi yetki bilgisini getiremedi" +msgstr "Yetkilendirme servisi yetki bilgisini alamadı" #: libpam/pam_strerror.c:62 msgid "User not known to the underlying authentication module" -msgstr "Kullanıcı yetki modülü altyapısında tanımlı değil" +msgstr "Kullanıcı, yetkilendirme modülü altyapısında tanımlı değil" #: libpam/pam_strerror.c:64 msgid "Have exhausted maximum number of retries for service" @@ -117,7 +117,7 @@ msgstr "Servis için geçerli deneme sayısı aşıldı" #: libpam/pam_strerror.c:66 msgid "Authentication token is no longer valid; new one required" -msgstr "Yetki alıntı kütüğü geçersiz; yenisi gerekiyor" +msgstr "Yetkilendirme anahtarı artık geçerli değil; yenisi gerekiyor" #: libpam/pam_strerror.c:68 msgid "User account has expired" @@ -125,7 +125,7 @@ msgstr "Kullanıcı hesabının süresi doldu" #: libpam/pam_strerror.c:70 msgid "Cannot make/remove an entry for the specified session" -msgstr "Belirlenen oturumda girdi yapılamıyor/silinemiyor" +msgstr "Belirtilen oturum için girdi yapılamıyor/silinemiyor" #: libpam/pam_strerror.c:72 msgid "Authentication service cannot retrieve user credentials" @@ -137,7 +137,7 @@ msgstr "Kullanıcı kimliğinin süresi doldu" #: libpam/pam_strerror.c:76 msgid "Failure setting user credentials" -msgstr "Kullanıcı kimliği oluşturma başarılamadı" +msgstr "Kullanıcı kimlik bilgileri ayarlanamadı" #: libpam/pam_strerror.c:78 msgid "No module specific data is present" @@ -145,7 +145,7 @@ msgstr "Modüle özgü veri yok" #: libpam/pam_strerror.c:80 msgid "Bad item passed to pam_*_item()" -msgstr "" +msgstr "pam_*_item() fonksiyonuna yanlış öğe geçildi" #: libpam/pam_strerror.c:82 msgid "Conversation error" @@ -153,27 +153,27 @@ msgstr "Etkileşim hatası" #: libpam/pam_strerror.c:84 msgid "Authentication token manipulation error" -msgstr "Yetki alıntı kütüğü çalıştırma hatası" +msgstr "Yetkilendirme anahtarı manipülasyon hatası" #: libpam/pam_strerror.c:86 msgid "Authentication information cannot be recovered" -msgstr "Yetki bilgisi kurtarılamadı" +msgstr "Yetkilendirme bilgisi kurtarılamadı" #: libpam/pam_strerror.c:88 msgid "Authentication token lock busy" -msgstr "Yetki alıntı kütüğü kilitli" +msgstr "Yetkilendirme anahtarının kilidi meşgul" #: libpam/pam_strerror.c:90 msgid "Authentication token aging disabled" -msgstr "Yetki alıntı kütüğü vadesi etkinsizleştirildi" +msgstr "Yetkilendirme anahtarı vadesi pasifleştirildi" #: libpam/pam_strerror.c:92 msgid "Failed preliminary check by password service" -msgstr "Parola servisi hazırlık sağlaması başarısız oldu" +msgstr "Parola servisi ön denetimi başarısız oldu" #: libpam/pam_strerror.c:94 msgid "The return value should be ignored by PAM dispatch" -msgstr "" +msgstr "Dönüş değeri PAM dispatch tarafından gözardı edilmeli" #: libpam/pam_strerror.c:96 msgid "Module is unknown" @@ -181,7 +181,7 @@ msgstr "Modül bilinmiyor" #: libpam/pam_strerror.c:98 msgid "Authentication token expired" -msgstr "Yetki alıntı kütüğünün süresi doldu" +msgstr "Yetkilendirme anahtarının süresi doldu" #: libpam/pam_strerror.c:100 msgid "Conversation is waiting for event" @@ -209,7 +209,7 @@ msgstr "sadece büyük-küçük harf değişimi" #: modules/pam_cracklib/pam_cracklib.c:510 msgid "is too similar to the old one" -msgstr "eskisi ile çok benziyor" +msgstr "eskisine çok benziyor" #: modules/pam_cracklib/pam_cracklib.c:513 msgid "is too simple" @@ -217,19 +217,19 @@ msgstr "çok basit" #: modules/pam_cracklib/pam_cracklib.c:516 msgid "is rotated" -msgstr "çevrilmiş" +msgstr "değiştirilmiş" #: modules/pam_cracklib/pam_cracklib.c:519 msgid "not enough character classes" -msgstr "" +msgstr "yetersiz karakter sınıfı" #: modules/pam_cracklib/pam_cracklib.c:522 msgid "contains too many same characters consecutively" -msgstr "" +msgstr "aynı karakterleri arka arkaya içeriyor" #: modules/pam_cracklib/pam_cracklib.c:525 msgid "contains the user name in some form" -msgstr "" +msgstr "kullanıcı adını bir biçimde içeriyor" #: modules/pam_cracklib/pam_cracklib.c:555 #: modules/pam_unix/pam_unix_passwd.c:476 @@ -245,33 +245,33 @@ msgstr "Parola değiştirilmedi" #: modules/pam_cracklib/pam_cracklib.c:658 #, c-format msgid "BAD PASSWORD: %s" -msgstr "YANLIŞ PAROLA: %s" +msgstr "KÖTÜ PAROLA: %s" #: modules/pam_exec/pam_exec.c:215 #, c-format msgid "%s failed: exit code %d" -msgstr "" +msgstr "%s başarısız: çıkış kodu %d" #: modules/pam_exec/pam_exec.c:224 #, c-format msgid "%s failed: caught signal %d%s" -msgstr "" +msgstr "%s başarısız: %d%s sinyali yakalandı" #: modules/pam_exec/pam_exec.c:233 #, c-format msgid "%s failed: unknown status 0x%x" -msgstr "" +msgstr "%s başarısız: bilinmeyen durum 0x%x" #. TRANSLATORS: "strftime options for date of last login" #: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 msgid " %a %b %e %H:%M:%S %Z %Y" -msgstr "" +msgstr "%e %b %a %H:%M:%S %Z %Y" #. TRANSLATORS: " from " #: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 #, c-format msgid " from %.*s" -msgstr " %.*s'dan" +msgstr " %.*s makinesinden" #. TRANSLATORS: " on " #: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 @@ -283,81 +283,81 @@ msgstr " %.*s üzerinde" #: modules/pam_lastlog/pam_lastlog.c:232 #, c-format msgid "Last login:%s%s%s" -msgstr "Son giriş: %s%s%s" +msgstr "Son giriş:%s%s%s" #: modules/pam_lastlog/pam_lastlog.c:238 msgid "Welcome to your new account!" -msgstr "Yeni hesabınıza hoşgeldiniz" +msgstr "Yeni hesabınıza hoş geldiniz" #. TRANSLATORS: "Last failed login: from on " #: modules/pam_lastlog/pam_lastlog.c:460 -#, fuzzy, c-format +#, c-format msgid "Last failed login:%s%s%s" -msgstr "Son giriş: %s%s%s" +msgstr "Son başarısız giriş:%s%s%s" #: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" "There were %d failed login attempts since the last successful login." -msgstr[0] "" +msgstr[0] "Son başarılı girişten itibaren %d başarısız kimlik doğrulama girişimi oldu." #. TRANSLATORS: only used if dngettext is not supported #: modules/pam_lastlog/pam_lastlog.c:481 #, c-format msgid "There were %d failed login attempts since the last successful login." -msgstr "" +msgstr "Son başarılı girişten itibaren %d başarısız kimlik doğrulama girişimi oldu." #: modules/pam_limits/pam_limits.c:786 #, c-format msgid "Too many logins for '%s'." -msgstr "%s için fazla giriş " +msgstr "%s için çok fazla giriş." #: modules/pam_mail/pam_mail.c:297 msgid "No mail." -msgstr "İleti yok" +msgstr "İleti yok." #: modules/pam_mail/pam_mail.c:300 msgid "You have new mail." -msgstr "Yeni iletiniz var" +msgstr "Yeni iletiniz var." #: modules/pam_mail/pam_mail.c:303 msgid "You have old mail." -msgstr "Okunmuş iletiniz var" +msgstr "Eski/okunmuş iletiniz var." #: modules/pam_mail/pam_mail.c:307 msgid "You have mail." -msgstr "İletiniz var" +msgstr "İletiniz var." #: modules/pam_mail/pam_mail.c:314 #, c-format msgid "You have no mail in folder %s." -msgstr "%s dizininde iletiniz yok" +msgstr "%s dizininde iletiniz yok." #: modules/pam_mail/pam_mail.c:318 #, c-format msgid "You have new mail in folder %s." -msgstr "%s dizininde yeni iletiniz var" +msgstr "%s dizininde yeni iletiniz var." #: modules/pam_mail/pam_mail.c:322 #, c-format msgid "You have old mail in folder %s." -msgstr "%s dizininde okunmuş iletiniz var" +msgstr "%s dizininde eski/okunmuş iletiniz var." #: modules/pam_mail/pam_mail.c:327 #, c-format msgid "You have mail in folder %s." -msgstr "%s dizininde iletiniz var" +msgstr "%s dizininde iletiniz var." #: modules/pam_mkhomedir/pam_mkhomedir.c:113 #, c-format msgid "Creating directory '%s'." -msgstr "" +msgstr "%s dizini oluşturuluyor." #: modules/pam_mkhomedir/pam_mkhomedir.c:183 #, c-format msgid "Unable to create and initialize directory '%s'." -msgstr "" +msgstr "%s dizini oluşturulamadı." #: modules/pam_pwhistory/pam_pwhistory.c:218 #: modules/pam_unix/pam_unix_passwd.c:497 @@ -365,43 +365,39 @@ msgid "Password has been already used. Choose another." msgstr "Parola kullanımda. Lütfen başka bir parola seçin." #: modules/pam_selinux/pam_selinux.c:172 -#, fuzzy msgid "Would you like to enter a security context? [N] " -msgstr "Güvenlik bağlamı girmek ister misiniz? [e]" +msgstr "Güvenlik bağlamı girmek ister misiniz? [H] " #: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 -#, fuzzy msgid "role:" -msgstr "rol: " +msgstr "rol:" #: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 -#, fuzzy msgid "level:" -msgstr "seviye: " +msgstr "seviye:" #: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 msgid "Not a valid security context" msgstr "Geçerli bir güvenlik bağlamı değil" #: modules/pam_selinux/pam_selinux.c:265 -#, fuzzy, c-format +#, c-format msgid "Default Security Context %s\n" -msgstr "Güvenlik Bağlamı %s Atandı" +msgstr "Öntanımlı Güvenlik Bağlamı %s\n" #: modules/pam_selinux/pam_selinux.c:269 -#, fuzzy msgid "Would you like to enter a different role or level?" -msgstr "Güvenlik bağlamı girmek ister misiniz? [e]" +msgstr "Farklı bir rol ya da seviye girmek ister misiniz?" #: modules/pam_selinux/pam_selinux.c:285 #, c-format msgid "No default type for role %s\n" -msgstr "" +msgstr "%s rolü için öntanımlı tür yok\n" #: modules/pam_selinux/pam_selinux.c:667 #, c-format msgid "Unable to get valid context for %s" -msgstr "" +msgstr "%s için geçerli bir bağlam alınamadı" #: modules/pam_selinux/pam_selinux.c:718 #, c-format @@ -409,9 +405,9 @@ msgid "Security Context %s Assigned" msgstr "Güvenlik Bağlamı %s Atandı" #: modules/pam_selinux/pam_selinux.c:739 -#, fuzzy, c-format +#, c-format msgid "Key Creation Context %s Assigned" -msgstr "Güvenlik Bağlamı %s Atandı" +msgstr "Anahtar Oluşturma Bağlamı %s Atandı" #: modules/pam_selinux/pam_selinux_check.c:99 #, c-format @@ -429,9 +425,9 @@ msgid "login: failure forking: %m" msgstr "giriş: çatallama yapılamadı: %m" #: modules/pam_stress/pam_stress.c:475 -#, fuzzy, c-format +#, c-format msgid "Changing STRESS password for %s." -msgstr "STRESS parolası değiştiriliyor " +msgstr "%s için STRESS parolası değiştiriliyor." #: modules/pam_stress/pam_stress.c:489 msgid "Enter new STRESS password: " @@ -443,17 +439,17 @@ msgstr "Yeni STRESS parolasını tekrar girin: " #: modules/pam_stress/pam_stress.c:521 msgid "Verification mis-typed; password unchanged" -msgstr "Doğrulama hatalı: parola değiştirilmedi" +msgstr "Doğrulama hatalı; parola değiştirilmedi" #: modules/pam_tally/pam_tally.c:541 modules/pam_tally2/pam_tally2.c:596 #, c-format msgid "Account temporary locked (%ld seconds left)" -msgstr "" +msgstr "Hesap geçici bir süre kilitlendi (%ld saniye kaldı)" #: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:575 #, c-format msgid "Account locked due to %u failed logins" -msgstr "" +msgstr "Hesap %u başarısız giriş yüzünden kilitlendi" #: modules/pam_tally/pam_tally.c:777 modules/pam_tally2/pam_tally2.c:884 msgid "Authentication error" @@ -474,12 +470,12 @@ msgstr "Bilinmeyen hata" #: modules/pam_tally/pam_tally.c:796 modules/pam_tally2/pam_tally2.c:906 #, c-format msgid "%s: Bad number given to --reset=\n" -msgstr "%s: Sıfırlamak için geçersiz sayı=\n" +msgstr "%s: --reset argümanına geçersiz sayı verildi\n" #: modules/pam_tally/pam_tally.c:800 modules/pam_tally2/pam_tally2.c:910 #, c-format msgid "%s: Unrecognised option %s\n" -msgstr "%s: Tanımlanamayan seçenek %s\n" +msgstr "%s: Tanınmayan seçenek %s\n" #: modules/pam_tally/pam_tally.c:812 #, c-format @@ -491,26 +487,28 @@ msgstr "" #: modules/pam_tally/pam_tally.c:886 modules/pam_tally2/pam_tally2.c:1036 #, c-format msgid "%s: Can't reset all users to non-zero\n" -msgstr "" +msgstr "%s: Tüm kullanıcılara sıfır olmayan bir değer atanamadı\n" #: modules/pam_tally2/pam_tally2.c:937 #, c-format msgid "Login Failures Latest failure From\n" -msgstr "" +msgstr "Giriş Hatalar Son hata Kim\n" #: modules/pam_tally2/pam_tally2.c:953 -#, fuzzy, c-format +#, c-format msgid "" "%s: [-f rooted-filename] [--file rooted-filename]\n" " [-u username] [--user username]\n" " [-r] [--reset[=n]] [--quiet]\n" msgstr "" -"%s: [--file DosyanınTamYolu] [--user KullanıcıAdı] [--reset[=n]] [--quiet]\n" +"%s: [-f rooted-filename] [--file rooted-filename]\n" +" [-u username] [--user username]\n" +" [-r] [--reset[=n]] [--quiet]\n" #: modules/pam_timestamp/pam_timestamp.c:345 #, c-format msgid "Access granted (last access was %ld seconds ago)." -msgstr "" +msgstr "Erişim izni verildi (son erişim %ld saniye önceydi)." #: modules/pam_unix/pam_unix_acct.c:236 modules/pam_unix/pam_unix_acct.c:258 msgid "Your account has expired; please contact your system administrator" @@ -518,23 +516,22 @@ msgstr "Hesabınızın süresi doldu; lütfen sistem yöneticinizle bağlantıya #: modules/pam_unix/pam_unix_acct.c:244 msgid "You are required to change your password immediately (root enforced)" -msgstr "Parolanızı en kısa sürede değiştirmeniz gerekiyor (yönetici bildirimi)" +msgstr "Parolanızı en kısa sürede değiştirmeniz gerekiyor (yönetici baskıs)" #: modules/pam_unix/pam_unix_acct.c:250 msgid "You are required to change your password immediately (password aged)" msgstr "Parolanızı en kısa sürede değiştirmeniz gerekiyor (parola eski)" #: modules/pam_unix/pam_unix_acct.c:271 modules/pam_unix/pam_unix_acct.c:278 -#, fuzzy, c-format +#, c-format msgid "Warning: your password will expire in %d day" -msgid_plural "Warning: your password will expire in %d days" -msgstr[0] "Dikkat: Parolanızın geçerlilik süresi %d gün%.2s sonra doluyor" +msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün sonra doluyor" #. TRANSLATORS: only used if dngettext is not supported #: modules/pam_unix/pam_unix_acct.c:283 -#, fuzzy, c-format +#, c-format msgid "Warning: your password will expire in %d days" -msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün%.2s sonra doluyor" +msgstr "Uyarı: Parolanız %d gün içinde geçerliliğini yitirecek" #: modules/pam_unix/pam_unix_passwd.c:385 msgid "NIS password could not be changed." @@ -545,9 +542,9 @@ msgid "You must choose a longer password" msgstr "Daha uzun bir parola girmelisiniz" #: modules/pam_unix/pam_unix_passwd.c:600 -#, fuzzy, c-format +#, c-format msgid "Changing password for %s." -msgstr "STRESS parolası değiştiriliyor " +msgstr "%s kullanıcısının parolası değiştiriliyor." #: modules/pam_unix/pam_unix_passwd.c:611 msgid "(current) UNIX password: " @@ -564,27 +561,3 @@ msgstr "Yeni parolayı girin: " #: modules/pam_unix/pam_unix_passwd.c:707 msgid "Retype new UNIX password: " msgstr "Yeni parolayı tekrar girin: " - -#~ msgid "has been already used" -#~ msgstr "daha önce kullanıldı" - -#, fuzzy -#~ msgid "Password has been used already. Choose another." -#~ msgstr "Parola kullanımda. Lütfen başka bir parola seçin." - -#, fuzzy -#~ msgid "Error translating default context." -#~ msgstr "Öntanımlı bağlamınız %s \n" - -#~ msgid "Do you want to choose a different one? [n]" -#~ msgstr "Başka bir seçim yapmak ister misiniz? [h]" - -#~ msgid "Enter number of choice: " -#~ msgstr "Seçenek sayısını girin: " - -#, fuzzy -#~ msgid "Warning: your password will expire in one day" -#~ msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün%.2s sonra doluyor" - -#~ msgid "dlopen() failure" -#~ msgstr "dlopen() hatası" -- cgit v1.2.3 From 19eb6b29412491d272210938259c574bf9728d94 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 14 Dec 2010 08:40:40 +0000 Subject: Relevant BUGIDs: Purpose of commit: new feature Commit summary: --------------- 2010-12-14 Tomas Mraz * modules/pam_limits/pam_limits.c (parse_uid_range): New function to parse the range of uids or gids. (parse_config_file): Call parse_uid_range() and if uid/gid range is identified, setup the limits if the range matches. New parameters containing user's uid and primary gid. (pam_sm_open_session): Pass the user's uid and primary gid to parse_config_file(). * modules/pam_limits/limits.conf.5.xml: Document the uid/gid ranges. --- ChangeLog | 11 ++ modules/pam_limits/limits.conf.5.xml | 32 +++++- modules/pam_limits/pam_limits.c | 198 ++++++++++++++++++++++++++++++----- 3 files changed, 215 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0aa8feb5..f1cf525e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-12-14 Tomas Mraz + + * modules/pam_limits/pam_limits.c (parse_uid_range): New function + to parse the range of uids or gids. + (parse_config_file): Call parse_uid_range() and if uid/gid range + is identified, setup the limits if the range matches. New parameters + containing user's uid and primary gid. + (pam_sm_open_session): Pass the user's uid and primary gid to + parse_config_file(). + * modules/pam_limits/limits.conf.5.xml: Document the uid/gid ranges. + 2010-12-14 Bahadır Kandemir * po/tr.po: Updated translations. diff --git a/modules/pam_limits/limits.conf.5.xml b/modules/pam_limits/limits.conf.5.xml index e9174bc1..a1e84102 100644 --- a/modules/pam_limits/limits.conf.5.xml +++ b/modules/pam_limits/limits.conf.5.xml @@ -60,6 +60,33 @@ number of logins of all users that are member of the group. + + + an uid range specified as <min_uid>:<max_uid>. If min_uid + is omitted, the match is exact for the max_uid. If max_uid is omitted, all + uids greater than or equal min_uid match. + + + + + a gid range specified as @<min_gid>:<max_gid>. If min_gid + is omitted, the match is exact for the max_gid. If max_gid is omitted, all + gids greater than or equal min_gid match. For the exact match all groups including + the user's supplementary groups are examined. For the range matches only + the user's primary group is examined. + + + + + a gid specified as %:<gid> applicable + to maxlogins limit only. It limits the total number of logins of all users + that are member of the group with the specified gid. + + @@ -276,12 +303,15 @@ * soft core 0 -* hard rss 10000 +* hard nofile 512 @student hard nproc 20 @faculty soft nproc 20 @faculty hard nproc 50 ftp hard nproc 0 @student - maxlogins 4 +:123 hard cpu 5000 +@500: soft cpu 10000 +600:700 hard locks 10 diff --git a/modules/pam_limits/pam_limits.c b/modules/pam_limits/pam_limits.c index 79cc717e..88146523 100644 --- a/modules/pam_limits/pam_limits.c +++ b/modules/pam_limits/pam_limits.c @@ -55,6 +55,12 @@ #define LIMITS_DEF_DEFAULT 4 /* limit was set by an default entry */ #define LIMITS_DEF_NONE 5 /* this limit was not set yet */ +#define LIMIT_RANGE_ERR -1 /* error in specified uid/gid range */ +#define LIMIT_RANGE_NONE 0 /* no range specified */ +#define LIMIT_RANGE_ONE 1 /* exact uid/gid specified (:max_uid)*/ +#define LIMIT_RANGE_MIN 2 /* only minimum uid/gid specified (min_uid:) */ +#define LIMIT_RANGE_MM 3 /* both min and max uid/gid specified (min_uid:max_uid) */ + static const char *limits_def_names[] = { "USER", "GROUP", @@ -520,8 +526,57 @@ process_limit (const pam_handle_t *pamh, int source, const char *lim_type, return; } -static int parse_config_file(pam_handle_t *pamh, const char *uname, int ctrl, - struct pam_limit_s *pl) +static int +parse_uid_range(pam_handle_t *pamh, const char *domain, + uid_t *min_uid, uid_t *max_uid) +{ + const char *range = domain; + char *pmax; + char *endptr; + int rv = LIMIT_RANGE_MM; + + if ((pmax=strchr(range, ':')) == NULL) + return LIMIT_RANGE_NONE; + ++pmax; + + if (range[0] == '@' || range[0] == '%') + ++range; + + if (range[0] == ':') + rv = LIMIT_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/gid value in '%s'", domain); + return LIMIT_RANGE_ERR; + } + } + + if (*pmax == '\0') { + if (rv == LIMIT_RANGE_ONE) + return LIMIT_RANGE_ERR; + else + return LIMIT_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/gid value in '%s'", domain); + return LIMIT_RANGE_ERR; + } + + if (rv == LIMIT_RANGE_ONE) + *min_uid = *max_uid; + return rv; +} + +static int +parse_config_file(pam_handle_t *pamh, const char *uname, uid_t uid, gid_t gid, + int ctrl, struct pam_limit_s *pl) { FILE *fil; char buf[LINE_LENGTH]; @@ -543,8 +598,10 @@ static int parse_config_file(pam_handle_t *pamh, const char *uname, int ctrl, char item[LINE_LENGTH]; char value[LINE_LENGTH]; int i; + int rngtype; size_t j; char *tptr,*line; + uid_t min_uid = (uid_t)-1, max_uid = (uid_t)-1; line = buf; /* skip the leading white space */ @@ -572,6 +629,11 @@ static int parse_config_file(pam_handle_t *pamh, const char *uname, int ctrl, for(j=0; j < strlen(ltype); j++) ltype[j]=tolower(ltype[j]); + if ((rngtype=parse_uid_range(pamh, domain, &min_uid, &max_uid)) < 0) { + pam_syslog(pamh, LOG_WARNING, "invalid uid range '%s' - skipped", domain); + continue; + } + if (i == 4) { /* a complete line */ for(j=0; j < strlen(item); j++) item[j]=tolower(item[j]); @@ -581,47 +643,133 @@ static int parse_config_file(pam_handle_t *pamh, const char *uname, int ctrl, if (strcmp(uname, domain) == 0) /* this user have a limit */ process_limit(pamh, LIMITS_DEF_USER, ltype, item, value, ctrl, pl); else if (domain[0]=='@') { - if (ctrl & PAM_DEBUG_ARG) { + if (ctrl & PAM_DEBUG_ARG) { pam_syslog(pamh, LOG_DEBUG, "checking if %s is in group %s", uname, domain + 1); - } - if (pam_modutil_user_in_group_nam_nam(pamh, uname, domain+1)) - process_limit(pamh, LIMITS_DEF_GROUP, ltype, item, value, ctrl, + } + switch(rngtype) { + case LIMIT_RANGE_NONE: + if (pam_modutil_user_in_group_nam_nam(pamh, uname, domain+1)) + process_limit(pamh, LIMITS_DEF_GROUP, ltype, item, value, ctrl, + pl); + break; + case LIMIT_RANGE_ONE: + if (pam_modutil_user_in_group_nam_gid(pamh, uname, (gid_t)max_uid)) + process_limit(pamh, LIMITS_DEF_GROUP, ltype, item, value, ctrl, pl); + break; + case LIMIT_RANGE_MM: + if (gid > (gid_t)max_uid) + break; + /* fallthrough */ + case LIMIT_RANGE_MIN: + if (gid >= (gid_t)min_uid) + process_limit(pamh, LIMITS_DEF_GROUP, ltype, item, value, ctrl, + pl); + } } else if (domain[0]=='%') { - if (ctrl & PAM_DEBUG_ARG) { + if (ctrl & PAM_DEBUG_ARG) { pam_syslog(pamh, LOG_DEBUG, "checking if %s is in group %s", uname, domain + 1); - } - if (strcmp(domain,"%") == 0) - process_limit(pamh, LIMITS_DEF_ALL, ltype, item, value, ctrl, - pl); - else if (pam_modutil_user_in_group_nam_nam(pamh, uname, domain+1)) { - strcpy(pl->login_group, domain+1); - process_limit(pamh, LIMITS_DEF_ALLGROUP, ltype, item, value, ctrl, - pl); } - } else if (strcmp(domain, "*") == 0) - process_limit(pamh, LIMITS_DEF_DEFAULT, ltype, item, value, ctrl, - pl); + switch(rngtype) { + case LIMIT_RANGE_NONE: + if (strcmp(domain,"%") == 0) + process_limit(pamh, LIMITS_DEF_ALL, ltype, item, value, ctrl, + pl); + else if (pam_modutil_user_in_group_nam_nam(pamh, uname, domain+1)) { + strcpy(pl->login_group, domain+1); + process_limit(pamh, LIMITS_DEF_ALLGROUP, ltype, item, value, ctrl, + pl); + } + break; + case LIMIT_RANGE_ONE: + if (pam_modutil_user_in_group_nam_gid(pamh, uname, (gid_t)max_uid)) { + struct group *grp; + grp = pam_modutil_getgrgid(pamh, (gid_t)max_uid); + strncpy(pl->login_group, grp->gr_name, sizeof(pl->login_group)); + pl->login_group[sizeof(pl->login_group)-1] = '\0'; + process_limit(pamh, LIMITS_DEF_ALLGROUP, ltype, item, value, ctrl, + pl); + } + break; + case LIMIT_RANGE_MIN: + case LIMIT_RANGE_MM: + pam_syslog(pamh, LOG_WARNING, "range unsupported for %%group matching - ignored"); + } + } else { + switch(rngtype) { + case LIMIT_RANGE_NONE: + if (strcmp(domain, "*") == 0) + process_limit(pamh, LIMITS_DEF_DEFAULT, ltype, item, value, ctrl, + pl); + break; + case LIMIT_RANGE_ONE: + if (uid != max_uid) + break; + /* fallthrough */ + case LIMIT_RANGE_MM: + if (uid > max_uid) + break; + /* fallthrough */ + case LIMIT_RANGE_MIN: + if (uid >= min_uid) + process_limit(pamh, LIMITS_DEF_USER, ltype, item, value, ctrl, pl); + } + } } else if (i == 2 && ltype[0] == '-') { /* Probably a no-limit line */ if (strcmp(uname, domain) == 0) { if (ctrl & PAM_DEBUG_ARG) { pam_syslog(pamh, LOG_DEBUG, "no limits for '%s'", uname); } - fclose(fil); - return PAM_IGNORE; - } else if (domain[0] == '@' && pam_modutil_user_in_group_nam_nam(pamh, uname, domain+1)) { + } else if (domain[0] == '@') { + switch(rngtype) { + case LIMIT_RANGE_NONE: + if (!pam_modutil_user_in_group_nam_nam(pamh, uname, domain+1)) + continue; /* next line */ + break; + case LIMIT_RANGE_ONE: + if (!pam_modutil_user_in_group_nam_gid(pamh, uname, (gid_t)max_uid)) + continue; /* next line */ + break; + case LIMIT_RANGE_MM: + if (gid > (gid_t)max_uid) + continue; /* next line */ + /* fallthrough */ + case LIMIT_RANGE_MIN: + if (gid < (gid_t)min_uid) + continue; /* next line */ + } if (ctrl & PAM_DEBUG_ARG) { pam_syslog(pamh, LOG_DEBUG, "no limits for '%s' in group '%s'", uname, domain+1); } - fclose(fil); - return PAM_IGNORE; + } else { + switch(rngtype) { + case LIMIT_RANGE_NONE: + continue; /* next line */ + case LIMIT_RANGE_ONE: + if (uid != max_uid) + continue; /* next line */ + break; + case LIMIT_RANGE_MM: + if (uid > max_uid) + continue; /* next line */ + /* fallthrough */ + case LIMIT_RANGE_MIN: + if (uid >= min_uid) + break; + continue; /* next line */ + } + if (ctrl & PAM_DEBUG_ARG) { + pam_syslog(pamh, LOG_DEBUG, "no limits for '%s'", uname); + } } + fclose(fil); + return PAM_IGNORE; } else { pam_syslog(pamh, LOG_WARNING, "invalid line '%s' - skipped", line); } @@ -731,7 +879,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED, return PAM_ABORT; } - retval = parse_config_file(pamh, pwd->pw_name, ctrl, pl); + retval = parse_config_file(pamh, pwd->pw_name, pwd->pw_uid, pwd->pw_gid, ctrl, pl); if (retval == PAM_IGNORE) { D(("the configuration file ('%s') has an applicable ' -' entry", CONF_FILE)); return PAM_SUCCESS; @@ -755,7 +903,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED, /* Parse the *.conf files. */ for (i = 0; globbuf.gl_pathv[i] != NULL; i++) { pl->conf_file = globbuf.gl_pathv[i]; - retval = parse_config_file(pamh, pwd->pw_name, ctrl, pl); + retval = parse_config_file(pamh, pwd->pw_name, pwd->pw_uid, pwd->pw_gid, ctrl, pl); if (retval == PAM_IGNORE) { D(("the configuration file ('%s') has an applicable ' -' entry", pl->conf_file)); globfree(&globbuf); -- cgit v1.2.3 From 4c2362ccac4c8e967af619f4550be3a5fb165433 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 21 Dec 2010 08:54:14 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- 2010-12-21 Tomas Mraz * modules/pam_selinux/pam_selinux.c (mls_range_allowed): Unhardcode values for security class and av permission bit. --- ChangeLog | 5 +++++ modules/pam_selinux/pam_selinux.c | 26 +++++++++++++++++++++----- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index f1cf525e..ac4feb98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-12-21 Tomas Mraz + + * modules/pam_selinux/pam_selinux.c (mls_range_allowed): Unhardcode + values for security class and av permission bit. + 2010-12-14 Tomas Mraz * modules/pam_limits/pam_limits.c (parse_uid_range): New function diff --git a/modules/pam_selinux/pam_selinux.c b/modules/pam_selinux/pam_selinux.c index c31278e9..a6ca8af2 100644 --- a/modules/pam_selinux/pam_selinux.c +++ b/modules/pam_selinux/pam_selinux.c @@ -236,19 +236,35 @@ static int mls_range_allowed(pam_handle_t *pamh, security_context_t src, securit { struct av_decision avd; int retval; - unsigned int bit = CONTEXT__CONTAINS; - context_t src_context = context_new (src); - context_t dst_context = context_new (dst); + security_class_t class; + access_vector_t bit; + context_t src_context; + context_t dst_context; + + class = string_to_security_class("context"); + if (!class) { + pam_syslog(pamh, LOG_ERR, "Failed to translate security class context. %m"); + return 0; + } + + bit = string_to_av_perm(class, "contains"); + if (!bit) { + pam_syslog(pamh, LOG_ERR, "Failed to translate av perm contains. %m"); + return 0; + } + + src_context = context_new (src); + dst_context = context_new (dst); context_range_set(dst_context, context_range_get(src_context)); if (debug) pam_syslog(pamh, LOG_NOTICE, "Checking if %s mls range valid for %s", dst, context_str(dst_context)); - retval = security_compute_av(context_str(dst_context), dst, SECCLASS_CONTEXT, bit, &avd); + retval = security_compute_av(context_str(dst_context), dst, class, bit, &avd); context_free(src_context); context_free(dst_context); if (retval || ((bit & avd.allowed) != bit)) return 0; - + return 1; } -- cgit v1.2.3 From 10a49cdcd91b313f665421a65a8511315665cf0a Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 22 Feb 2011 22:44:39 +0000 Subject: Relevant BUGIDs: Purpose of commit: docfix Commit summary: --------------- 2011-02-22 Tomas Mraz * modules/pam_nologin/pam_nologin.8.xml: Add missing space. * modules/pam_limits/limits.conf.5.xml: Fix typo. --- ChangeLog | 5 +++++ modules/pam_limits/limits.conf.5.xml | 2 +- modules/pam_nologin/pam_nologin.8.xml | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ac4feb98..78f49455 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-02-22 Tomas Mraz + + * modules/pam_nologin/pam_nologin.8.xml: Add missing space. + * modules/pam_limits/limits.conf.5.xml: Fix typo. + 2010-12-21 Tomas Mraz * modules/pam_selinux/pam_selinux.c (mls_range_allowed): Unhardcode diff --git a/modules/pam_limits/limits.conf.5.xml b/modules/pam_limits/limits.conf.5.xml index a1e84102..939fa0fe 100644 --- a/modules/pam_limits/limits.conf.5.xml +++ b/modules/pam_limits/limits.conf.5.xml @@ -236,7 +236,7 @@ - + maximum memory used by POSIX message queues (bytes) (Linux 2.6 and higher) diff --git a/modules/pam_nologin/pam_nologin.8.xml b/modules/pam_nologin/pam_nologin.8.xml index 94c4887b..e4f63707 100644 --- a/modules/pam_nologin/pam_nologin.8.xml +++ b/modules/pam_nologin/pam_nologin.8.xml @@ -34,7 +34,7 @@ pam_nologin is a PAM module that prevents users from logging into the system when /var/run/nologin or - /etc/nologinexists. The contents + /etc/nologin exists. The contents of the file are displayed to the user. The pam_nologin module has no effect on the root user's ability to log in. -- cgit v1.2.3 From 24557b231f549dc6511d62f5ad35d15d95e1f44f Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 17 Mar 2011 17:04:34 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- 2011-03-17 Tomas Mraz * modules/pam_selinux/pam_selinux.c (config_context): Fix leak of type. (manual_context): Likewise. (context_from_env): Remove extraneous auditing in success case. * modules/pam_unix/support.c (_unix_run_helper_binary): Remove extra close() call. --- ChangeLog | 9 +++++++++ modules/pam_selinux/pam_selinux.c | 19 ++++++++++++------- modules/pam_unix/support.c | 2 -- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78f49455..f787b764 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-03-17 Tomas Mraz + + * modules/pam_selinux/pam_selinux.c (config_context): Fix leak of type. + (manual_context): Likewise. + (context_from_env): Remove extraneous auditing in success case. + + * modules/pam_unix/support.c (_unix_run_helper_binary): Remove extra + close() call. + 2011-02-22 Tomas Mraz * modules/pam_nologin/pam_nologin.8.xml: Add missing space. diff --git a/modules/pam_selinux/pam_selinux.c b/modules/pam_selinux/pam_selinux.c index a6ca8af2..f99d433a 100644 --- a/modules/pam_selinux/pam_selinux.c +++ b/modules/pam_selinux/pam_selinux.c @@ -196,6 +196,7 @@ manual_context (pam_handle_t *pamh, const char *user, int debug) goto fail_set; if (context_type_set (new_context, type)) goto fail_set; + _pam_drop(type); } _pam_drop(response); @@ -306,6 +307,7 @@ config_context (pam_handle_t *pamh, security_context_t defaultcon, int use_curre goto fail_set; if (context_type_set (new_context, type)) goto fail_set; + _pam_drop(type); } } _pam_drop(response); @@ -390,6 +392,7 @@ context_from_env (pam_handle_t *pamh, security_context_t defaultcon, int env_par int mls_enabled = is_selinux_mls_enabled(); const char *env = NULL; char *type = NULL; + int fail = 1; if ((new_context = context_new(defaultcon)) == NULL) goto fail_set; @@ -450,9 +453,6 @@ context_from_env (pam_handle_t *pamh, security_context_t defaultcon, int env_par /* Get the string value of the context and see if it is valid. */ if (security_check_context(newcon)) { pam_syslog(pamh, LOG_NOTICE, "Not a valid security context %s", newcon); - send_audit_message(pamh, 0, defaultcon, newcon); - freecon(newcon); - newcon = NULL; goto fail_set; } @@ -462,16 +462,21 @@ context_from_env (pam_handle_t *pamh, security_context_t defaultcon, int env_par be checked at setexeccon time */ if (mls_enabled && !mls_range_allowed(pamh, defaultcon, newcon, debug)) { pam_syslog(pamh, LOG_NOTICE, "Security context %s is not allowed for %s", defaultcon, newcon); - send_audit_message(pamh, 0, defaultcon, newcon); - freecon(newcon); - newcon = NULL; + + goto fail_set; } + fail = 0; + fail_set: free(type); context_free(my_context); context_free(new_context); - send_audit_message(pamh, 0, defaultcon, NULL); + if (fail) { + send_audit_message(pamh, 0, defaultcon, newcon); + freecon(newcon); + newcon = NULL; + } return newcon; } diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c index bddafd4b..0b8d4d64 100644 --- a/modules/pam_unix/support.c +++ b/modules/pam_unix/support.c @@ -493,14 +493,12 @@ static int _unix_run_helper_binary(pam_handle_t *pamh, const char *passwd, if (passwd != NULL) { /* send the password to the child */ if (write(fds[1], passwd, strlen(passwd)+1) == -1) { pam_syslog (pamh, LOG_ERR, "Cannot send password to helper: %m"); - close(fds[1]); retval = PAM_AUTH_ERR; } passwd = NULL; } else { /* blank password */ if (write(fds[1], "", 1) == -1) { pam_syslog (pamh, LOG_ERR, "Cannot send password to helper: %m"); - close(fds[1]); retval = PAM_AUTH_ERR; } } -- cgit v1.2.3 From f052833acfa231b68d024fef7637883d81400e42 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Fri, 18 Mar 2011 23:15:54 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- 2011-03-18 Tomas Mraz * modules/pam_namespace/md5.c (MD5Final): Clear the whole ctx. * modules/pam_namespace/pam_namespace.c (del_polydir): Guard for NULL poly. (protect_dir): Guard for -1 passing to close(). (ns_setup): Likewise. (pam_sm_open_session): Correctly test for SELinux enabled flag. --- ChangeLog | 8 ++++++++ modules/pam_namespace/argv_parse.c | 29 ++++++++++++++++++----------- modules/pam_namespace/md5.c | 2 +- modules/pam_namespace/pam_namespace.c | 17 ++++++++++------- 4 files changed, 37 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index f787b764..24318182 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-03-18 Tomas Mraz + + * modules/pam_namespace/md5.c (MD5Final): Clear the whole ctx. + * modules/pam_namespace/pam_namespace.c (del_polydir): Guard for NULL poly. + (protect_dir): Guard for -1 passing to close(). + (ns_setup): Likewise. + (pam_sm_open_session): Correctly test for SELinux enabled flag. + 2011-03-17 Tomas Mraz * modules/pam_selinux/pam_selinux.c (config_context): Fix leak of type. diff --git a/modules/pam_namespace/argv_parse.c b/modules/pam_namespace/argv_parse.c index acc76d74..40510542 100644 --- a/modules/pam_namespace/argv_parse.c +++ b/modules/pam_namespace/argv_parse.c @@ -44,15 +44,15 @@ int argv_parse(const char *in_buf, int *ret_argc, char ***ret_argv) { int argc = 0, max_argc = 0; char **argv, **new_argv, *buf, ch; - const char *cp = 0; - char *outcp = 0; + const char *cp = NULL; + char *outcp = NULL; int state = STATE_WHITESPACE; buf = malloc(strlen(in_buf)+1); if (!buf) return -1; - max_argc = 0; argc = 0; argv = 0; + argv = NULL; outcp = buf; for (cp = in_buf; (ch = *cp); cp++) { if (state == STATE_WHITESPACE) { @@ -111,23 +111,30 @@ int argv_parse(const char *in_buf, int *ret_argc, char ***ret_argv) } if (state != STATE_WHITESPACE) *outcp++ = '\0'; - if (argv == 0) { - argv = malloc(sizeof(char *)); + if (ret_argv) { + if (argv == NULL) { + free(buf); + if ((argv=malloc(sizeof(char *))) == NULL) + return -1; + } + argv[argc] = NULL; + *ret_argv = argv; + } else { free(buf); + free(argv); } - argv[argc] = 0; if (ret_argc) *ret_argc = argc; - if (ret_argv) - *ret_argv = argv; return 0; } void argv_free(char **argv) { - if (*argv) - free(*argv); - free(argv); + if (argv) { + if (*argv) + free(*argv); + free(argv); + } } #ifdef DEBUG_ARGV_PARSE diff --git a/modules/pam_namespace/md5.c b/modules/pam_namespace/md5.c index 3094a130..c79fb357 100644 --- a/modules/pam_namespace/md5.c +++ b/modules/pam_namespace/md5.c @@ -148,7 +148,7 @@ void MD5Name(MD5Final)(unsigned char digest[16], struct MD5Context *ctx) MD5Name(MD5Transform)(ctx->buf, (uint32 *) ctx->in); byteReverse((unsigned char *) ctx->buf, 4); memcpy(digest, ctx->buf, 16); - memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ + memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ } /* The four core functions - F1 is optimized somewhat */ diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c index baa7f85a..c47599e0 100644 --- a/modules/pam_namespace/pam_namespace.c +++ b/modules/pam_namespace/pam_namespace.c @@ -61,9 +61,11 @@ static void add_polydir_entry(struct instance_data *idata, static void del_polydir(struct polydir_s *poly) { - free(poly->uid); - free(poly->init_script); - free(poly); + if (poly) { + free(poly->uid); + free(poly->init_script); + free(poly); + } } /* @@ -1093,7 +1095,7 @@ static int protect_dir(const char *path, mode_t mode, int do_mkdir, error: save_errno = errno; free(p); - if (dfd != AT_FDCWD) + if (dfd != AT_FDCWD && dfd >= 0) close(dfd); errno = save_errno; @@ -1453,8 +1455,9 @@ static int ns_setup(struct polydir_s *polyptr, return PAM_SESSION_ERR; } - if (retval < 0 && (polyptr->flags & POLYDIR_CREATE)) { - if (create_polydir(polyptr, idata) != PAM_SUCCESS) + if (retval < 0) { + if ((polyptr->flags & POLYDIR_CREATE) && + create_polydir(polyptr, idata) != PAM_SUCCESS) return PAM_SESSION_ERR; } else { close(retval); @@ -1966,7 +1969,7 @@ PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, if (strcmp(argv[i], "unmnt_only") == 0) unmnt = UNMNT_ONLY; if (strcmp(argv[i], "require_selinux") == 0) { - if (~(idata.flags & PAMNS_SELINUX_ENABLED)) { + if (!(idata.flags & PAMNS_SELINUX_ENABLED)) { pam_syslog(idata.pamh, LOG_ERR, "selinux_required option given and selinux is disabled"); return PAM_SESSION_ERR; -- cgit v1.2.3 From 7698a76cf4983fe69944a810305183f1fe6cc031 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 21 Mar 2011 22:02:16 +0100 Subject: Clear the whole MD5 context. --- ChangeLog | 3 +++ modules/pam_unix/md5.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 24318182..04072c29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2011-03-21 Tomas Mraz + * modules/pam_unix/md5.c (MD5Final): Clear the whole ctx. + 2011-03-18 Tomas Mraz * modules/pam_namespace/md5.c (MD5Final): Clear the whole ctx. diff --git a/modules/pam_unix/md5.c b/modules/pam_unix/md5.c index d88d6810..94d1c9da 100644 --- a/modules/pam_unix/md5.c +++ b/modules/pam_unix/md5.c @@ -148,7 +148,7 @@ void MD5Name(MD5Final)(unsigned char digest[16], struct MD5Context *ctx) MD5Name(MD5Transform)(ctx->buf, (uint32 *) ctx->in); byteReverse((unsigned char *) ctx->buf, 4); memcpy(digest, ctx->buf, 16); - memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ + memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ } #ifndef ASM_MD5 -- cgit v1.2.3 From 6ee536baa197e2d78019e6eab3990c0b9d367fb8 Mon Sep 17 00:00:00 2001 From: kukuk Date: Wed, 4 May 2011 17:26:16 +0200 Subject: 2011-05-04 Thorsten Kukuk * modules/pam_lastlog/pam_lastlog.c (last_login_failed): Don't abort with error if btmp file does not exist. --- ChangeLog | 6 ++++++ modules/pam_lastlog/pam_lastlog.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 04072c29..763c44e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,10 @@ +2011-05-04 Thorsten Kukuk + + * modules/pam_lastlog/pam_lastlog.c (last_login_failed): Don't + abort with error if btmp file does not exist. + 2011-03-21 Tomas Mraz + * modules/pam_unix/md5.c (MD5Final): Clear the whole ctx. 2011-03-18 Tomas Mraz diff --git a/modules/pam_lastlog/pam_lastlog.c b/modules/pam_lastlog/pam_lastlog.c index b44c1755..9e8da7d2 100644 --- a/modules/pam_lastlog/pam_lastlog.c +++ b/modules/pam_lastlog/pam_lastlog.c @@ -403,9 +403,13 @@ last_login_failed(pam_handle_t *pamh, int announce, const char *user, time_t llt /* obtain the failed login attempt records from btmp */ fd = open(_PATH_BTMP, O_RDONLY); if (fd < 0) { + int save_errno = errno; pam_syslog(pamh, LOG_ERR, "unable to open %s: %m", _PATH_BTMP); D(("unable to open %s file", _PATH_BTMP)); - return PAM_SERVICE_ERR; + if (save_errno == ENOENT) + return PAM_SUCCESS; + else + return PAM_SERVICE_ERR; } while ((retval=pam_modutil_read(fd, (void *)&ut, -- cgit v1.2.3 From 4f9bffa18076e4ee197513555a4021530b1a1f38 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 24 May 2011 16:48:11 +0200 Subject: 2011-05-24 Thorsten Kukuk * modules/pam_listfile/pam_listfile.c (pam_sm_authenticate): quiet option has no argument, print no missing file if quiet is set [sf#3194930]. --- ChangeLog | 6 ++++++ modules/pam_listfile/pam_listfile.c | 13 +++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 763c44e8..b90a2e6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-05-24 Thorsten Kukuk + + * modules/pam_listfile/pam_listfile.c (pam_sm_authenticate): quiet + option has no argument, print no missing file if quiet is set + [sf#3194930]. + 2011-05-04 Thorsten Kukuk * modules/pam_lastlog/pam_lastlog.c (last_login_failed): Don't diff --git a/modules/pam_listfile/pam_listfile.c b/modules/pam_listfile/pam_listfile.c index 616d2201..2af2afd8 100644 --- a/modules/pam_listfile/pam_listfile.c +++ b/modules/pam_listfile/pam_listfile.c @@ -78,8 +78,14 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, { const char *junk; + /* option quiet has no value */ + if(!strcmp(argv[i],"quiet")) { + quiet = 1; + continue; + } + memset(mybuf,'\0',sizeof(mybuf)); - memset(myval,'\0',sizeof(mybuf)); + memset(myval,'\0',sizeof(myval)); junk = strchr(argv[i], '='); if((junk == NULL) || (junk - argv[i]) >= (int) sizeof(mybuf)) { pam_syslog(pamh,LOG_ERR, "Bad option: \"%s\"", @@ -142,8 +148,6 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, apply_type=APPLY_TYPE_USER; strncpy(apply_val,myval,sizeof(apply_val)-1); } - } else if (!strcmp(mybuf,"quiet")) { - quiet = 1; } else { free(ifname); pam_syslog(pamh,LOG_ERR, "Unknown option: %s",mybuf); @@ -283,7 +287,8 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, ifname, citem, citemp, sense); #endif if(lstat(ifname,&fileinfo)) { - pam_syslog(pamh,LOG_ERR, "Couldn't open %s",ifname); + if(!quiet) + pam_syslog(pamh,LOG_ERR, "Couldn't open %s",ifname); free(ifname); return onerr; } -- cgit v1.2.3 From 9ac26f8f0a23a396e3cec5c1949fb2f90a097643 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Mon, 30 May 2011 11:12:30 +0200 Subject: 2011-05-30 Thorsten Kukuk * modules/pam_env/pam_env.c (_pam_parse): Implement debug option. Based on patch by Tomas Mraz. --- ChangeLog | 5 +++++ modules/pam_env/pam_env.c | 31 ++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index b90a2e6d..986a78fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-05-30 Thorsten Kukuk + + * modules/pam_env/pam_env.c (_pam_parse): Implement debug option. + Based on patch by Tomas Mraz. + 2011-05-24 Thorsten Kukuk * modules/pam_listfile/pam_listfile.c (pam_sm_authenticate): quiet diff --git a/modules/pam_env/pam_env.c b/modules/pam_env/pam_env.c index 8ac8ed33..865fbafe 100644 --- a/modules/pam_env/pam_env.c +++ b/modules/pam_env/pam_env.c @@ -68,8 +68,8 @@ static int _check_var(pam_handle_t *, VAR *); /* This is the real mea static void _clean_var(VAR *); static int _expand_arg(pam_handle_t *, char **); static const char * _pam_get_item_byname(pam_handle_t *, const char *); -static int _define_var(pam_handle_t *, VAR *); -static int _undefine_var(pam_handle_t *, VAR *); +static int _define_var(pam_handle_t *, int, VAR *); +static int _undefine_var(pam_handle_t *, int, VAR *); /* This is a flag used to designate an empty string */ static char quote='Z'; @@ -134,7 +134,7 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, } static int -_parse_config_file(pam_handle_t *pamh, const char *file) +_parse_config_file(pam_handle_t *pamh, int ctrl, const char *file) { int retval; char buffer[BUF_SIZE]; @@ -168,10 +168,10 @@ _parse_config_file(pam_handle_t *pamh, const char *file) retval = _check_var(pamh, var); if (DEFINE_VAR == retval) { - retval = _define_var(pamh, var); + retval = _define_var(pamh, ctrl, var); } else if (UNDEFINE_VAR == retval) { - retval = _undefine_var(pamh, var); + retval = _undefine_var(pamh, ctrl, var); } } if (PAM_SUCCESS != retval && ILLEGAL_VAR != retval @@ -191,7 +191,7 @@ _parse_config_file(pam_handle_t *pamh, const char *file) } static int -_parse_env_file(pam_handle_t *pamh, const char *file) +_parse_env_file(pam_handle_t *pamh, int ctrl, const char *file) { int retval=PAM_SUCCESS, i, t; char buffer[BUF_SIZE], *key, *mark; @@ -267,6 +267,9 @@ _parse_env_file(pam_handle_t *pamh, const char *file) if (retval != PAM_SUCCESS) { D(("error setting env \"%s\"", key)); break; + } else if (ctrl & PAM_DEBUG_ARG) { + pam_syslog(pamh, LOG_DEBUG, + "pam_putenv(\"%s\")", key); } } @@ -691,7 +694,7 @@ static const char * _pam_get_item_byname(pam_handle_t *pamh, const char *name) return itemval; } -static int _define_var(pam_handle_t *pamh, VAR *var) +static int _define_var(pam_handle_t *pamh, int ctrl, VAR *var) { /* We have a variable to define, this is a simple function */ @@ -705,16 +708,22 @@ static int _define_var(pam_handle_t *pamh, VAR *var) } retval = pam_putenv(pamh, envvar); + if (ctrl & PAM_DEBUG_ARG) { + pam_syslog(pamh, LOG_DEBUG, "pam_putenv(\"%s\")", envvar); + } _pam_drop(envvar); D(("Exit.")); return retval; } -static int _undefine_var(pam_handle_t *pamh, VAR *var) +static int _undefine_var(pam_handle_t *pamh, int ctrl, VAR *var) { /* We have a variable to undefine, this is a simple function */ D(("Called and exit.")); + if (ctrl & PAM_DEBUG_ARG) { + pam_syslog(pamh, LOG_DEBUG, "remove variable \"%s\"", var->name); + } return pam_putenv(pamh, var->name); } @@ -762,10 +771,10 @@ handle_env (pam_handle_t *pamh, int argc, const char **argv) ctrl = _pam_parse(pamh, argc, argv, &conf_file, &env_file, &readenv, &user_env_file, &user_readenv); - retval = _parse_config_file(pamh, conf_file); + retval = _parse_config_file(pamh, ctrl, conf_file); if(readenv && retval == PAM_SUCCESS) { - retval = _parse_env_file(pamh, env_file); + retval = _parse_env_file(pamh, ctrl, env_file); if (retval == PAM_IGNORE) retval = PAM_SUCCESS; } @@ -795,7 +804,7 @@ handle_env (pam_handle_t *pamh, int argc, const char **argv) if (pam_modutil_drop_priv(pamh, &privs, user_entry)) { retval = PAM_SESSION_ERR; } else { - retval = _parse_config_file(pamh, envpath); + retval = _parse_config_file(pamh, ctrl, envpath); if (pam_modutil_regain_priv(pamh, &privs)) retval = PAM_SESSION_ERR; } -- cgit v1.2.3 From a1950248ee3fb08374b5733afc3d9f123634319b Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Mon, 30 May 2011 19:36:56 +0200 Subject: 2011-05-30 Thorsten Kukuk * modules/pam_timestamp/pam_timestamp.c (main): Remove unsused variable pretval. * modules/pam_stress/pam_stress.c (converse): **message is const. (stress_get_password): pmsg is const. (pam_sm_chauthtok): Likewise. * libpam/pam_item.c (pam_get_user): Make pmsg const and remove casts. --- ChangeLog | 11 +++++++++++ libpam/pam_item.c | 6 +++--- modules/pam_stress/pam_stress.c | 11 ++++++----- modules/pam_timestamp/pam_timestamp.c | 3 +-- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 986a78fb..c60a1436 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2011-05-30 Thorsten Kukuk + + * modules/pam_timestamp/pam_timestamp.c (main): Remove unsused + variable pretval. + + * modules/pam_stress/pam_stress.c (converse): **message is const. + (stress_get_password): pmsg is const. + (pam_sm_chauthtok): Likewise. + * libpam/pam_item.c (pam_get_user): Make pmsg const and remove + casts. + 2011-05-30 Thorsten Kukuk * modules/pam_env/pam_env.c (_pam_parse): Implement debug option. diff --git a/libpam/pam_item.c b/libpam/pam_item.c index ed478a4a..00e00c29 100644 --- a/libpam/pam_item.c +++ b/libpam/pam_item.c @@ -274,7 +274,8 @@ int pam_get_user(pam_handle_t *pamh, const char **user, const char *prompt) { const char *use_prompt; int retval; - struct pam_message msg,*pmsg; + struct pam_message msg; + const struct pam_message *pmsg; struct pam_response *resp; D(("called.")); @@ -340,8 +341,7 @@ int pam_get_user(pam_handle_t *pamh, const char **user, const char *prompt) resp = NULL; retval = pamh->pam_conversation-> - conv(1, (const struct pam_message **) &pmsg, &resp, - pamh->pam_conversation->appdata_ptr); + conv(1, &pmsg, &resp, pamh->pam_conversation->appdata_ptr); if (retval == PAM_CONV_AGAIN) { /* conversation function is waiting for an event - save state */ diff --git a/modules/pam_stress/pam_stress.c b/modules/pam_stress/pam_stress.c index 01587fea..b75a597d 100644 --- a/modules/pam_stress/pam_stress.c +++ b/modules/pam_stress/pam_stress.c @@ -116,7 +116,7 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv) } static int converse(pam_handle_t *pamh, int nargs - , struct pam_message **message + , const struct pam_message **message , struct pam_response **response) { int retval; @@ -126,8 +126,7 @@ static int converse(pam_handle_t *pamh, int nargs retval = pam_get_item(pamh,PAM_CONV,&void_conv); conv = void_conv; if (retval == PAM_SUCCESS && conv) { - retval = conv->conv(nargs, (const struct pam_message **) message - , response, conv->appdata_ptr); + retval = conv->conv(nargs, message, response, conv->appdata_ptr); if (retval != PAM_SUCCESS) { pam_syslog(pamh, LOG_ERR, "converse returned %d: %s", retval, pam_strerror(pamh, retval)); @@ -159,7 +158,8 @@ static int stress_get_password(pam_handle_t *pamh, int flags pam_syslog(pamh, LOG_WARNING, "no forwarded password"); return PAM_PERM_DENIED; } else { /* we will have to get one */ - struct pam_message msg[1],*pmsg[1]; + struct pam_message msg[1]; + const struct pam_message *pmsg[1]; struct pam_response *resp; int retval; @@ -412,7 +412,8 @@ int pam_sm_chauthtok(pam_handle_t *pamh, int flags, return PAM_SUCCESS; } else if (flags & PAM_UPDATE_AUTHTOK) { /* second call */ - struct pam_message msg[3],*pmsg[3]; + struct pam_message msg[3]; + const struct pam_message *pmsg[3]; struct pam_response *resp; const void *text; char *txt=NULL; diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c index 26876769..7bcf3d12 100644 --- a/modules/pam_timestamp/pam_timestamp.c +++ b/modules/pam_timestamp/pam_timestamp.c @@ -684,7 +684,7 @@ struct pam_module _pam_timestamp_modstruct = { int main(int argc, char **argv) { - int i, pretval = -1, retval = 0, dflag = 0, kflag = 0; + int i, retval = 0, dflag = 0, kflag = 0; const char *target_user = NULL, *user = NULL, *tty = NULL; struct passwd *pwd; struct timeval tv; @@ -826,7 +826,6 @@ main(int argc, char **argv) select(STDOUT_FILENO + 1, NULL, NULL, &write_fds, &tv); - pretval = retval; retval = 0; } } while (dflag > 0); -- cgit v1.2.3 From be52e613145564d55becf220111c0c81038eb7f6 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 2 Jun 2011 21:50:11 +0200 Subject: Add support for the mount_private option to pam_namespace. --- ChangeLog | 11 +++++++++++ modules/pam_namespace/pam_namespace.8.xml | 18 ++++++++++++++++++ modules/pam_namespace/pam_namespace.c | 29 ++++++++++++++++++++++++----- modules/pam_namespace/pam_namespace.h | 1 + 4 files changed, 54 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index c60a1436..e91af88b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2011-06-02 Tomas Mraz + + * modules/pam_namespace/pam_namespace.c (protect_dir): Add parameter + to always do protect mount the last directory in the path. + (check_inst_parent, create_polydir): Update the protect_dir() call. + (ns_setup): Likewise and add the MS_PRIVATE mount() call. + (pam_sm_open_session): Check the mount_private option. + * modules/pam_namespace/pam_namespace.h: Add the PAMNS_MOUNT_PRIVATE. + * modules/pam_namespace/pam_namespace.8.xml: Document the mount_private + option. + 2011-05-30 Thorsten Kukuk * modules/pam_timestamp/pam_timestamp.c (main): Remove unsused diff --git a/modules/pam_namespace/pam_namespace.8.xml b/modules/pam_namespace/pam_namespace.8.xml index 0433f0fd..f0ebe2c6 100644 --- a/modules/pam_namespace/pam_namespace.8.xml +++ b/modules/pam_namespace/pam_namespace.8.xml @@ -52,6 +52,9 @@ use_default_context + + mount_private + @@ -234,6 +237,21 @@ + + + + + + + This option should be used on systems where the / mount point and + its submounts are made shared (for example with a + mount --make-rshared / command). + The module will make the polyinstantiated directory mount points + private. + + + + diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c index c47599e0..d5a2d781 100644 --- a/modules/pam_namespace/pam_namespace.c +++ b/modules/pam_namespace/pam_namespace.c @@ -1003,7 +1003,7 @@ static int protect_mount(int dfd, const char *path, struct instance_data *idata) return 0; } -static int protect_dir(const char *path, mode_t mode, int do_mkdir, +static int protect_dir(const char *path, mode_t mode, int do_mkdir, int always, struct instance_data *idata) { char *p = strdup(path); @@ -1082,7 +1082,7 @@ static int protect_dir(const char *path, mode_t mode, int do_mkdir, } } - if (flags & O_NOFOLLOW) { + if ((flags & O_NOFOLLOW) || always) { /* we are inside user-owned dir - protect */ if (protect_mount(rv, p, idata) == -1) { save_errno = errno; @@ -1124,7 +1124,7 @@ static int check_inst_parent(char *ipath, struct instance_data *idata) if (trailing_slash) *trailing_slash = '\0'; - dfd = protect_dir(inst_parent, 0, 1, idata); + dfd = protect_dir(inst_parent, 0, 1, 0, idata); if (dfd == -1 || fstat(dfd, &instpbuf) < 0) { pam_syslog(idata->pamh, LOG_ERR, @@ -1259,7 +1259,7 @@ static int create_polydir(struct polydir_s *polyptr, } #endif - rc = protect_dir(dir, mode, 1, idata); + rc = protect_dir(dir, mode, 1, idata->flags & PAMNS_MOUNT_PRIVATE, idata); if (rc == -1) { pam_syslog(idata->pamh, LOG_ERR, "Error creating directory %s: %m", dir); @@ -1447,7 +1447,7 @@ static int ns_setup(struct polydir_s *polyptr, pam_syslog(idata->pamh, LOG_DEBUG, "Set namespace for directory %s", polyptr->dir); - retval = protect_dir(polyptr->dir, 0, 0, idata); + retval = protect_dir(polyptr->dir, 0, 0, idata->flags & PAMNS_MOUNT_PRIVATE, idata); if (retval < 0 && errno != ENOENT) { pam_syslog(idata->pamh, LOG_ERR, "Polydir %s access error: %m", @@ -1534,6 +1534,22 @@ static int ns_setup(struct polydir_s *polyptr, goto error_out; } + if (idata->flags & PAMNS_MOUNT_PRIVATE) { + /* + * Make the polyinstantiated dir private mount. This depends + * on making the dir a mount point in the protect_dir call. + */ + if (mount(polyptr->dir, polyptr->dir, NULL, MS_PRIVATE|MS_REC, NULL) < 0) { + pam_syslog(idata->pamh, LOG_ERR, "Error making %s a private mount, %m", + polyptr->dir); + goto error_out; + } + if (idata->flags & PAMNS_DEBUG) + pam_syslog(idata->pamh, LOG_DEBUG, + "Polyinstantiated directory %s made as private mount", polyptr->dir); + + } + /* * Bind mount instance directory on top of the polyinstantiated * directory to provide an instance of polyinstantiated directory @@ -1964,6 +1980,9 @@ PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, idata.flags |= PAMNS_USE_DEFAULT_CONTEXT; idata.flags |= PAMNS_CTXT_BASED_INST; } + if (strcmp(argv[i], "mount_private") == 0) { + idata.flags |= PAMNS_MOUNT_PRIVATE; + } if (strcmp(argv[i], "unmnt_remnt") == 0) unmnt = UNMNT_REMNT; if (strcmp(argv[i], "unmnt_only") == 0) diff --git a/modules/pam_namespace/pam_namespace.h b/modules/pam_namespace/pam_namespace.h index da21bd70..7b39068b 100644 --- a/modules/pam_namespace/pam_namespace.h +++ b/modules/pam_namespace/pam_namespace.h @@ -96,6 +96,7 @@ #define PAMNS_NO_UNMOUNT_ON_CLOSE 0x00010000 /* no unmount at session close */ #define PAMNS_USE_CURRENT_CONTEXT 0x00020000 /* use getcon instead of getexeccon */ #define PAMNS_USE_DEFAULT_CONTEXT 0x00040000 /* use get_default_context instead of getexeccon */ +#define PAMNS_MOUNT_PRIVATE 0x00080000 /* Make the polydir mounts private */ /* polydir flags */ #define POLYDIR_EXCLUSIVE 0x00000001 /* polyinstatiate exclusively for override uids */ -- cgit v1.2.3 From 48590abce86b34e55c84f71424449f16d285eaf2 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 2 Jun 2011 21:53:55 +0200 Subject: Guards for memory allocation errors in pam_cracklib module. --- ChangeLog | 4 ++++ modules/pam_cracklib/pam_cracklib.c | 38 +++++++++++++++++++++++++++---------- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index e91af88b..7af2a869 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,10 @@ * modules/pam_namespace/pam_namespace.8.xml: Document the mount_private option. + * modules/pam_cracklib/pam_cracklib.c (str_lower): Make it no-op + on NULL strings. + (password_check): Guard for NULLs returned from memory allocation. + 2011-05-30 Thorsten Kukuk * modules/pam_timestamp/pam_timestamp.c (main): Remove unsused diff --git a/modules/pam_cracklib/pam_cracklib.c b/modules/pam_cracklib/pam_cracklib.c index 2e911261..1955b83f 100644 --- a/modules/pam_cracklib/pam_cracklib.c +++ b/modules/pam_cracklib/pam_cracklib.c @@ -473,6 +473,9 @@ static char * str_lower(char *string) { char *cp; + if (!string) + return NULL; + for (cp = string; *cp; cp++) *cp = tolower(*cp); return string; @@ -492,15 +495,26 @@ static const char *password_check(struct cracklib_options *opt, } newmono = str_lower(x_strdup(new)); + if (!newmono) + msg = _("memory allocation error"); + usermono = str_lower(x_strdup(user)); - if (old) { - oldmono = str_lower(x_strdup(old)); - wrapped = malloc(strlen(oldmono) * 2 + 1); - strcpy (wrapped, oldmono); - strcat (wrapped, oldmono); + if (!usermono) + msg = _("memory allocation error"); + + if (!msg && old) { + oldmono = str_lower(x_strdup(old)); + if (oldmono) + wrapped = malloc(strlen(oldmono) * 2 + 1); + if (wrapped) { + strcpy (wrapped, oldmono); + strcat (wrapped, oldmono); + } else { + msg = _("memory allocation error"); + } } - if (palindrome(newmono)) + if (!msg && palindrome(newmono)) msg = _("is a palindrome"); if (!msg && oldmono && strcmp(oldmono, newmono) == 0) @@ -524,13 +538,17 @@ static const char *password_check(struct cracklib_options *opt, if (!msg && usercheck(opt, newmono, usermono)) msg = _("contains the user name in some form"); - memset(newmono, 0, strlen(newmono)); - free(newmono); free(usermono); - if (old) { + if (newmono) { + memset(newmono, 0, strlen(newmono)); + free(newmono); + } + if (oldmono) { memset(oldmono, 0, strlen(oldmono)); - memset(wrapped, 0, strlen(wrapped)); free(oldmono); + } + if (wrapped) { + memset(wrapped, 0, strlen(wrapped)); free(wrapped); } -- cgit v1.2.3 From 26747b9b490d190dd20543ea9cbde082ae667402 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 2 Jun 2011 21:55:41 +0200 Subject: Guard for pam_get_user() error in pam_filter module. --- ChangeLog | 3 +++ modules/pam_filter/pam_filter.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7af2a869..90bb7c06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,9 @@ on NULL strings. (password_check): Guard for NULLs returned from memory allocation. + * modules/pam_filter/pam_filter.c (process_args): Guard for error return + from pam_get_user(). + 2011-05-30 Thorsten Kukuk * modules/pam_timestamp/pam_timestamp.c (main): Remove unsused diff --git a/modules/pam_filter/pam_filter.c b/modules/pam_filter/pam_filter.c index 2f290fd5..da98148f 100644 --- a/modules/pam_filter/pam_filter.c +++ b/modules/pam_filter/pam_filter.c @@ -177,8 +177,8 @@ static int process_args(pam_handle_t *pamh #define USER_OFFSET 5 /* strlen('USER='); */ #define USER_NAME "USER=" - pam_get_user(pamh, &user, NULL); - if (user == NULL) { + if (pam_get_user(pamh, &user, NULL) != PAM_SUCCESS || + user == NULL) { user = ""; } size = USER_OFFSET+strlen(user); -- cgit v1.2.3 From 3475dbeb44238b5b8910cea4abfde106c6e90618 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 2 Jun 2011 21:57:31 +0200 Subject: Check for return value of pam_get_item() in pam_echo module. --- ChangeLog | 3 +++ modules/pam_echo/pam_echo.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 90bb7c06..a7c485cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16,6 +16,9 @@ * modules/pam_filter/pam_filter.c (process_args): Guard for error return from pam_get_user(). + * modules/pam_echo/pam_echo.c (replace_and_print): Guard for error return + from pam_get_item(). + 2011-05-30 Thorsten Kukuk * modules/pam_timestamp/pam_timestamp.c (main): Remove unsused diff --git a/modules/pam_echo/pam_echo.c b/modules/pam_echo/pam_echo.c index 31ebca22..043ff703 100644 --- a/modules/pam_echo/pam_echo.c +++ b/modules/pam_echo/pam_echo.c @@ -119,7 +119,10 @@ replace_and_print (pam_handle_t *pamh, const char *mesg) str = &myhostname; } else - pam_get_item (pamh, item, &str); + { + if (pam_get_item (pamh, item, &str) != PAM_SUCCESS) + str = NULL; + } if (str == NULL) str = "(null)"; for (q = str; *q != '\0' && len < length - 1; ++q) -- cgit v1.2.3 From 6b2631afddb131d2f4b3f0caf8b46c936eae3407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Sun, 5 Jun 2011 14:27:41 +0700 Subject: po: add Vietnamese translation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nguyễn Thái Ngọc Duy --- po/LINGUAS | 1 + po/vi.po | 578 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 579 insertions(+) create mode 100644 po/vi.po diff --git a/po/LINGUAS b/po/LINGUAS index 028bd46f..9d5f6a89 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -38,6 +38,7 @@ ta te tr uk +vi zh_CN zh_TW zu diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 00000000..da13fbb6 --- /dev/null +++ b/po/vi.po @@ -0,0 +1,578 @@ +# Vietnamese translation for pam +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the pam package. +# Ubuntu Vietname translators , 2009-2011. +# +msgid "" +msgstr "" +"Project-Id-Version: pam\n" +"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" +"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"PO-Revision-Date: 2011-06-04 17:58+0700\n" +"Last-Translator: Lê Trường An \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Launchpad-Export-Date: 2011-06-04 10:52+0000\n" +"X-Generator: Launchpad (build 13144)\n" + +#: libpam_misc/misc_conv.c:33 +msgid "...Time is running out...\n" +msgstr "...Thời gian đang dần hết...\n" + +#: libpam_misc/misc_conv.c:34 +msgid "...Sorry, your time is up!\n" +msgstr "...Xin lỗi, đã hết thời gian!\n" + +#: libpam_misc/misc_conv.c:342 +#, c-format +msgid "erroneous conversation (%d)\n" +msgstr "hội thoại sai (%d)\n" + +#: libpam/pam_get_authtok.c:39 modules/pam_exec/pam_exec.c:142 +#: modules/pam_unix/pam_unix_auth.c:157 modules/pam_userdb/pam_userdb.c:64 +msgid "Password: " +msgstr "Mật khẩu : " + +#: libpam/pam_get_authtok.c:41 modules/pam_cracklib/pam_cracklib.c:66 +#, c-format +msgid "New %s%spassword: " +msgstr "Mật khẩu %s%s mới: " + +#: libpam/pam_get_authtok.c:43 modules/pam_cracklib/pam_cracklib.c:68 +#, c-format +msgid "Retype new %s%spassword: " +msgstr "Nhập lại mật khẩu %s%s mới: " + +#: libpam/pam_get_authtok.c:44 modules/pam_cracklib/pam_cracklib.c:69 +msgid "Sorry, passwords do not match." +msgstr "Xin lỗi, mật khẩu không khớp." + +#: libpam/pam_get_authtok.c:133 libpam/pam_get_authtok.c:209 +#, c-format +msgid "Retype %s" +msgstr "Nhập lại %s" + +#: libpam/pam_get_authtok.c:153 libpam/pam_get_authtok.c:222 +msgid "Password change aborted." +msgstr "Hủy bỏ việc thay đổi mật khẩu." + +#: libpam/pam_item.c:310 +msgid "login:" +msgstr "Đăng nhập:" + +#: libpam/pam_strerror.c:40 +msgid "Success" +msgstr "Thành công" + +#: libpam/pam_strerror.c:42 +msgid "Critical error - immediate abort" +msgstr "Lỗi nghiêm trọng - hủy bỏ ngay" + +#: libpam/pam_strerror.c:44 +msgid "Failed to load module" +msgstr "Không thể nạp mô-đun" + +#: libpam/pam_strerror.c:46 +msgid "Symbol not found" +msgstr "Không tìm thấy biểu tượng" + +#: libpam/pam_strerror.c:48 +msgid "Error in service module" +msgstr "Lỗi trong mô-đun dịch vụ" + +#: libpam/pam_strerror.c:50 +msgid "System error" +msgstr "Lỗi hệ thống" + +#: libpam/pam_strerror.c:52 +msgid "Memory buffer error" +msgstr "Lỗi bộ nhớ đệm" + +#: libpam/pam_strerror.c:54 +msgid "Permission denied" +msgstr "Không có đủ quyền thực hiện" + +#: libpam/pam_strerror.c:56 +msgid "Authentication failure" +msgstr "Xác thực thất bại" + +#: libpam/pam_strerror.c:58 +msgid "Insufficient credentials to access authentication data" +msgstr "Không đủ quyền uỷ nhiệm để truy cập dữ liệu xác thực" + +#: libpam/pam_strerror.c:60 +msgid "Authentication service cannot retrieve authentication info" +msgstr "Dịch vụ chứng thực không thể lấy các thông tin xác thực" + +#: libpam/pam_strerror.c:62 +msgid "User not known to the underlying authentication module" +msgstr "Người dùng chưa biết đến mô-đun xác thực tiềm ẩn" + +#: libpam/pam_strerror.c:64 +msgid "Have exhausted maximum number of retries for service" +msgstr "Đã hết số lần thử lại tối đa cho dịch vụ" + +#: libpam/pam_strerror.c:66 +msgid "Authentication token is no longer valid; new one required" +msgstr "Dấu hiệu xác thực không còn hiệu lực; yêu cầu dấu hiệu xác thực mới" + +#: libpam/pam_strerror.c:68 +msgid "User account has expired" +msgstr "Tài khoản người dùng đã hết hiệu lực" + +#: libpam/pam_strerror.c:70 +msgid "Cannot make/remove an entry for the specified session" +msgstr "Không thể thực hiện hoặc loại bỏ một mục nhập cho phiên định" + +#: libpam/pam_strerror.c:72 +msgid "Authentication service cannot retrieve user credentials" +msgstr "Dịch vụ chứng thực không thể lấy các chứng chỉ người dùng" + +#: libpam/pam_strerror.c:74 +msgid "User credentials expired" +msgstr "Hết hạn ủy nhiệm người dùng" + +#: libpam/pam_strerror.c:76 +msgid "Failure setting user credentials" +msgstr "Cài đặt ủy nhiệm người dùng thất bại" + +#: libpam/pam_strerror.c:78 +msgid "No module specific data is present" +msgstr "Hiện tại không có mô-đun dữ liệu" + +#: libpam/pam_strerror.c:80 +msgid "Bad item passed to pam_*_item()" +msgstr "Tình trạng hàng được thông qua để pam_ * _item ()" + +#: libpam/pam_strerror.c:82 +msgid "Conversation error" +msgstr "Lỗi giao tiếp" + +#: libpam/pam_strerror.c:84 +msgid "Authentication token manipulation error" +msgstr "Thao tác xác thực token lỗi" + +#: libpam/pam_strerror.c:86 +msgid "Authentication information cannot be recovered" +msgstr "Xác thực thông tin không thể được phục hồi" + +#: libpam/pam_strerror.c:88 +msgid "Authentication token lock busy" +msgstr "authentication token lock busy" + +#: libpam/pam_strerror.c:90 +msgid "Authentication token aging disabled" +msgstr "xác thực token già tàn tật" + +#: libpam/pam_strerror.c:92 +msgid "Failed preliminary check by password service" +msgstr "Không thành công sơ bộ kiểm tra bằng mật khẩu dịch vụ" + +#: libpam/pam_strerror.c:94 +msgid "The return value should be ignored by PAM dispatch" +msgstr "Giá trị trả về phải được bỏ qua bởi PAM công văn" + +#: libpam/pam_strerror.c:96 +msgid "Module is unknown" +msgstr "chưa biết mô-đun" + +#: libpam/pam_strerror.c:98 +msgid "Authentication token expired" +msgstr "Hết hạn xác thực" + +#: libpam/pam_strerror.c:100 +msgid "Conversation is waiting for event" +msgstr "Giao tiếp đang chờ kết quả" + +#: libpam/pam_strerror.c:102 +msgid "Application needs to call libpam again" +msgstr "Ứng dụng cần gọi libpam lần nữa" + +#: libpam/pam_strerror.c:105 +msgid "Unknown PAM error" +msgstr "Không biết lỗi PAM" + +#: modules/pam_cracklib/pam_cracklib.c:490 +msgid "is the same as the old one" +msgstr "là giống như cũ" + +#: modules/pam_cracklib/pam_cracklib.c:504 +msgid "is a palindrome" +msgstr "là một xâu palindrome" + +#: modules/pam_cracklib/pam_cracklib.c:507 +msgid "case changes only" +msgstr "chỉ thay đổi chữ thường/hoa" + +#: modules/pam_cracklib/pam_cracklib.c:510 +msgid "is too similar to the old one" +msgstr "quá giống cái cũ" + +#: modules/pam_cracklib/pam_cracklib.c:513 +msgid "is too simple" +msgstr "quá đơn giản" + +#: modules/pam_cracklib/pam_cracklib.c:516 +msgid "is rotated" +msgstr "được sử dụng lại" + +#: modules/pam_cracklib/pam_cracklib.c:519 +msgid "not enough character classes" +msgstr "không đủ các lớp nhân vật" + +#: modules/pam_cracklib/pam_cracklib.c:522 +msgid "contains too many same characters consecutively" +msgstr "chứa quá nhiều kí tự giống nhau liên tiếp" + +#: modules/pam_cracklib/pam_cracklib.c:525 +msgid "contains the user name in some form" +msgstr "chứa tên user trong một số biểu mẫu" + +#: modules/pam_cracklib/pam_cracklib.c:555 +#: modules/pam_unix/pam_unix_passwd.c:476 +msgid "No password supplied" +msgstr "Không có mật khẩu được cung cấp" + +#: modules/pam_cracklib/pam_cracklib.c:555 +#: modules/pam_unix/pam_unix_passwd.c:476 +msgid "Password unchanged" +msgstr "Chưa thay đổi mật khẩu" + +#: modules/pam_cracklib/pam_cracklib.c:575 +#: modules/pam_cracklib/pam_cracklib.c:658 +#, c-format +msgid "BAD PASSWORD: %s" +msgstr "Mật khẩu không an toàn: %s" + +#: modules/pam_exec/pam_exec.c:215 +#, c-format +msgid "%s failed: exit code %d" +msgstr "%s thất bại: lối ra mã %d" + +#: modules/pam_exec/pam_exec.c:224 +#, c-format +msgid "%s failed: caught signal %d%s" +msgstr "%s thất bại: bắt tín hiệu %d%s" + +#: modules/pam_exec/pam_exec.c:233 +#, c-format +msgid "%s failed: unknown status 0x%x" +msgstr "%s thất bại: không rõ tình trạng 0x%x" + +#. TRANSLATORS: "strftime options for date of last login" +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +msgid " %a %b %e %H:%M:%S %Z %Y" +msgstr " %a %b %e %H:%M:%S %Z %Y" + +#. TRANSLATORS: " from " +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#, c-format +msgid " from %.*s" +msgstr " từ %.*s" + +#. TRANSLATORS: " on " +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#, c-format +msgid " on %.*s" +msgstr " trên %.*s" + +#. TRANSLATORS: "Last login: from on " +#: modules/pam_lastlog/pam_lastlog.c:232 +#, c-format +msgid "Last login:%s%s%s" +msgstr "Lần đăng nhập:%s%s%s" + +#: modules/pam_lastlog/pam_lastlog.c:238 +msgid "Welcome to your new account!" +msgstr "Chào mừng bạn đến tài khoản mới của bạn!" + +#. TRANSLATORS: "Last failed login: from on " +#: modules/pam_lastlog/pam_lastlog.c:460 +#, c-format +msgid "Last failed login:%s%s%s" +msgstr "Lần đăng nhập thất bại trước:%s%s%s" + +#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#, c-format +msgid "There was %d failed login attempt since the last successful login." +msgid_plural "" +"There were %d failed login attempts since the last successful login." +msgstr[0] "" +"Đã có %d lần đăng nhập thất bại kể từ lần đăng nhập thành công trước đó." + +#. TRANSLATORS: only used if dngettext is not supported +#: modules/pam_lastlog/pam_lastlog.c:481 +#, c-format +msgid "There were %d failed login attempts since the last successful login." +msgstr "" +"Có %d lần đăng nhập không thành công kể từ lần đăng nhập thành công trước." + +#: modules/pam_limits/pam_limits.c:786 +#, c-format +msgid "Too many logins for '%s'." +msgstr "Quá nhiều lần đăng nhập cho '%s'." + +#: modules/pam_mail/pam_mail.c:297 +msgid "No mail." +msgstr "Không có thư." + +#: modules/pam_mail/pam_mail.c:300 +msgid "You have new mail." +msgstr "Bạn có thư mới." + +#: modules/pam_mail/pam_mail.c:303 +msgid "You have old mail." +msgstr "Bạn có thư cũ." + +#: modules/pam_mail/pam_mail.c:307 +msgid "You have mail." +msgstr "Bạn có thư." + +#: modules/pam_mail/pam_mail.c:314 +#, c-format +msgid "You have no mail in folder %s." +msgstr "Bạn không có thư trong thư mục %s." + +#: modules/pam_mail/pam_mail.c:318 +#, c-format +msgid "You have new mail in folder %s." +msgstr "Bạn có thư mới trong thư mục %s." + +#: modules/pam_mail/pam_mail.c:322 +#, c-format +msgid "You have old mail in folder %s." +msgstr "Bạn có thư cũ trong thư mục %s." + +#: modules/pam_mail/pam_mail.c:327 +#, c-format +msgid "You have mail in folder %s." +msgstr "Bạn có thư trong thư mục %s." + +#: modules/pam_mkhomedir/pam_mkhomedir.c:113 +#, c-format +msgid "Creating directory '%s'." +msgstr "Tạo thư mục '%s'." + +#: modules/pam_mkhomedir/pam_mkhomedir.c:183 +#, c-format +msgid "Unable to create and initialize directory '%s'." +msgstr "Không thể khởi tạo thư mục '%s'." + +#: modules/pam_pwhistory/pam_pwhistory.c:218 +#: modules/pam_unix/pam_unix_passwd.c:497 +msgid "Password has been already used. Choose another." +msgstr "Mật khẩu đã được dùng. Hãy chọn mật khẩu khác." + +#: modules/pam_selinux/pam_selinux.c:172 +msgid "Would you like to enter a security context? [N] " +msgstr "Bạn có muốn nhập một bối cảnh an ninh? [N] " + +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +msgid "role:" +msgstr "Vai trò:" + +#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +msgid "level:" +msgstr "trình độ:" + +#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +msgid "Not a valid security context" +msgstr "Không phải là một bối cảnh an ninh hợp lệ" + +#: modules/pam_selinux/pam_selinux.c:265 +#, c-format +msgid "Default Security Context %s\n" +msgstr "Bối cảnh an ninh mặc định %s\n" + +#: modules/pam_selinux/pam_selinux.c:269 +msgid "Would you like to enter a different role or level?" +msgstr "Bạn có muốn nhập một vai trò khác nhau hoặc cấp?" + +#: modules/pam_selinux/pam_selinux.c:285 +#, c-format +msgid "No default type for role %s\n" +msgstr "Không có loại mặc định cho vai trò %s\n" + +#: modules/pam_selinux/pam_selinux.c:667 +#, c-format +msgid "Unable to get valid context for %s" +msgstr "Không thể có được bối cảnh hợp lệ cho %s" + +#: modules/pam_selinux/pam_selinux.c:718 +#, c-format +msgid "Security Context %s Assigned" +msgstr "Bối cảnh an ninh %s Giao" + +#: modules/pam_selinux/pam_selinux.c:739 +#, c-format +msgid "Key Creation Context %s Assigned" +msgstr "Sáng tạo Context phím %s Giao" + +#: modules/pam_selinux/pam_selinux_check.c:99 +#, c-format +msgid "failed to initialize PAM\n" +msgstr "không thể khởi tạo PAM\n" + +#: modules/pam_selinux/pam_selinux_check.c:105 +#, c-format +msgid "failed to pam_set_item()\n" +msgstr "không pam_set_item ()\n" + +#: modules/pam_selinux/pam_selinux_check.c:133 +#, c-format +msgid "login: failure forking: %m" +msgstr "đăng nhập: thất bại forking: %m" + +#: modules/pam_stress/pam_stress.c:475 +#, c-format +msgid "Changing STRESS password for %s." +msgstr "Thay đổi mật khẩu căng thẳng cho %s." + +#: modules/pam_stress/pam_stress.c:489 +msgid "Enter new STRESS password: " +msgstr "Nhập mật khẩu căng thẳng mới: " + +#: modules/pam_stress/pam_stress.c:492 +msgid "Retype new STRESS password: " +msgstr "Nhập lại mật khẩu mới căng thẳng: " + +#: modules/pam_stress/pam_stress.c:521 +msgid "Verification mis-typed; password unchanged" +msgstr "Mã xác nhận mis-đánh máy; mật khẩu không thay đổi" + +#: modules/pam_tally/pam_tally.c:541 modules/pam_tally2/pam_tally2.c:596 +#, c-format +msgid "Account temporary locked (%ld seconds left)" +msgstr "Tài khoản tạm thời bị khóa (%ld giây còn lại)" + +#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:575 +#, c-format +msgid "Account locked due to %u failed logins" +msgstr "Tài khoản bị khóa do đăng nhập %u không thành công" + +#: modules/pam_tally/pam_tally.c:777 modules/pam_tally2/pam_tally2.c:884 +msgid "Authentication error" +msgstr "Xác thực lỗi" + +#: modules/pam_tally/pam_tally.c:778 modules/pam_tally2/pam_tally2.c:885 +msgid "Service error" +msgstr "Lỗi dịch vụ" + +#: modules/pam_tally/pam_tally.c:779 modules/pam_tally2/pam_tally2.c:886 +msgid "Unknown user" +msgstr "Người dùng không rõ" + +#: modules/pam_tally/pam_tally.c:780 modules/pam_tally2/pam_tally2.c:887 +msgid "Unknown error" +msgstr "Lỗi không rõ" + +#: modules/pam_tally/pam_tally.c:796 modules/pam_tally2/pam_tally2.c:906 +#, c-format +msgid "%s: Bad number given to --reset=\n" +msgstr "%s: Xấu số cho --cài lại=\n" + +#: modules/pam_tally/pam_tally.c:800 modules/pam_tally2/pam_tally2.c:910 +#, c-format +msgid "%s: Unrecognised option %s\n" +msgstr "%s: Được thừa nhận lựa chọn%s\n" + +#: modules/pam_tally/pam_tally.c:812 +#, c-format +msgid "" +"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n" +msgstr "" +"%s: [- tập bắt rễ-filename] [- người sử dụng tên người dùng] [- đặt lại [= " +"n]] [- yên tĩnh]\n" + +#: modules/pam_tally/pam_tally.c:886 modules/pam_tally2/pam_tally2.c:1036 +#, c-format +msgid "%s: Can't reset all users to non-zero\n" +msgstr "%s: Không thể thiết lập lại tất cả các người dùng khác không\n" + +#: modules/pam_tally2/pam_tally2.c:937 +#, c-format +msgid "Login Failures Latest failure From\n" +msgstr "Đang nhập Thất bại Thất bại cuốie Từ \n" + +#: modules/pam_tally2/pam_tally2.c:953 +#, c-format +msgid "" +"%s: [-f rooted-filename] [--file rooted-filename]\n" +" [-u username] [--user username]\n" +" [-r] [--reset[=n]] [--quiet]\n" +msgstr "" +"%s: [-f rooted-filename] [--file rooted-filename]\n" +" [-u username] [--user username]\n" +" [-r] [--reset[=n]] [--quiet]\n" + +#: modules/pam_timestamp/pam_timestamp.c:345 +#, c-format +msgid "Access granted (last access was %ld seconds ago)." +msgstr "Được phép truy cập (lần truy cập trước %ld giây trước)" + +#: modules/pam_unix/pam_unix_acct.c:236 modules/pam_unix/pam_unix_acct.c:258 +msgid "Your account has expired; please contact your system administrator" +msgstr "" +"Tài khoản của bạn đã hết hạn dùng: hãy liên lạc với nhà quản trị hệ thống" + +#: modules/pam_unix/pam_unix_acct.c:244 +msgid "You are required to change your password immediately (root enforced)" +msgstr "Bạn phải thay đổi ngay mật khẩu (người chủ ép buộc)" + +#: modules/pam_unix/pam_unix_acct.c:250 +msgid "You are required to change your password immediately (password aged)" +msgstr "Bạn phải thay đổi ngay mật khẩu (mật khẩu quá cũ)" + +#: modules/pam_unix/pam_unix_acct.c:271 modules/pam_unix/pam_unix_acct.c:278 +#, c-format +msgid "Warning: your password will expire in %d day" +msgid_plural "Warning: your password will expire in %d days" +msgstr[0] "Cảnh báo: mật khẩu của bạn sẽ hết hạn trong %d ngày" + +#. TRANSLATORS: only used if dngettext is not supported +#: modules/pam_unix/pam_unix_acct.c:283 +#, c-format +msgid "Warning: your password will expire in %d days" +msgstr "Cảnh báo: mật khẩu của bạn sẽ hết hạn trong %d ngày" + +#: modules/pam_unix/pam_unix_passwd.c:385 +msgid "NIS password could not be changed." +msgstr "NIS mật khẩu không thể được thay đổi." + +#: modules/pam_unix/pam_unix_passwd.c:493 +msgid "You must choose a longer password" +msgstr "Bạn phải chọn mật khẩu dài hơn" + +#: modules/pam_unix/pam_unix_passwd.c:600 +#, c-format +msgid "Changing password for %s." +msgstr "Thay đổi mật khẩu cho %s." + +#: modules/pam_unix/pam_unix_passwd.c:611 +msgid "(current) UNIX password: " +msgstr "hiện hành UNIX mật khẩu: " + +#: modules/pam_unix/pam_unix_passwd.c:646 +msgid "You must wait longer to change your password" +msgstr "Bạn phải đợi thêm nữa, để thay đổi mật khẩu" + +#: modules/pam_unix/pam_unix_passwd.c:706 +msgid "Enter new UNIX password: " +msgstr "Nhập mật khẩu UNIX mới: " + +#: modules/pam_unix/pam_unix_passwd.c:707 +msgid "Retype new UNIX password: " +msgstr "Nhập lại mật khẩu UNIX mới: " + +#~ msgid "has been already used" +#~ msgstr "đã được đã được sử dụng" + +#~ msgid "Unable to create directory %s: %m" +#~ msgstr "Không thể tạo thư mục %s: %m" + +#~ msgid "Requested MLS level not in permitted range" +#~ msgstr "Số MLS yêu cầu cấp không được cho phép trong phạm vi" -- cgit v1.2.3 From 83814bc0e43f4f7606efbf30b1df39be287a0aa2 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 6 Jun 2011 08:23:42 +0200 Subject: Vietnamese translation added. --- ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ChangeLog b/ChangeLog index a7c485cb..0be8f055 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-06-06 Nguyễn Thái Ngọc Duy + + * po/LINGUAS: Add vietnamese. + * po/vi.po: Add vietnamese translation. + 2011-06-02 Tomas Mraz * modules/pam_namespace/pam_namespace.c (protect_dir): Add parameter -- cgit v1.2.3 From 74b8ffc6d088f06e5c9fd017b5499a406dfb3fb0 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 6 Jun 2011 12:22:02 +0200 Subject: Rewrite of the field parsing in pam_group and pam_time. --- ChangeLog | 13 ++ modules/pam_group/pam_group.c | 281 ++++++++++++++++++++---------------------- modules/pam_time/pam_time.c | 273 ++++++++++++++++++++-------------------- 3 files changed, 281 insertions(+), 286 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0be8f055..b0cb53a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2011-06-06 Tomas Mraz + + * modules/pam_group/pam_group.c (shift_bytes): Removed. + (shift_buf, trim_spaces): Added new functions. + (read_field): Thorough rewrite of the parsing. + (check_account): read_field() now uses state information. No + extra read_field() call at the end of configuration line. + * modules/pam_time/pam_time.c (shift_bytes): Removed. + (shift_buf, trim_spaces): Added new functions. + (read_field): Thorough rewrite of the parsing. + (check_account): read_field() now uses state information. No + extra read_field() call at the end of configuration line. + 2011-06-06 Nguyễn Thái Ngọc Duy * po/LINGUAS: Add vietnamese. diff --git a/modules/pam_group/pam_group.c b/modules/pam_group/pam_group.c index 310b2622..be5f20f3 100644 --- a/modules/pam_group/pam_group.c +++ b/modules/pam_group/pam_group.c @@ -2,6 +2,7 @@ /* * Written by Andrew Morgan 1996/7/6 + * Field parsing rewritten by Tomas Mraz */ #include "config.h" @@ -50,166 +51,156 @@ typedef enum { AND, OR } operator; /* --- static functions for checking whether the user should be let in --- */ -static void shift_bytes(char *mem, int from, int by) +static char * +shift_buf(char *mem, int from) { - while (by-- > 0) { - *mem = mem[from]; + char *start = mem; + while ((*mem = mem[from]) != '\0') ++mem; + memset(mem, '\0', PAM_GROUP_BUFLEN - (mem - start)); + return mem; +} + +static void +trim_spaces(char *buf, char *from) +{ + while (from > buf) { + --from; + if (*from == ' ') + *from = '\0'; + else + break; } } -/* This function should initially be called with buf = NULL. If - * an error occurs, the file descriptor is closed. Subsequent - * calls with a closed descriptor will cause buf to be deallocated. - * Therefore, always check buf after calling this to see if an error - * occurred. - */ +#define STATE_NL 0 /* new line starting */ +#define STATE_COMMENT 1 /* inside comment */ +#define STATE_FIELD 2 /* field following */ +#define STATE_EOF 3 /* end of file or error */ + static int -read_field (const pam_handle_t *pamh, int fd, char **buf, int *from, int *to) +read_field(const pam_handle_t *pamh, int fd, char **buf, int *from, int *state) { - /* is buf set ? */ + char *to; + char *src; + int i; + char c; + int onspace; + /* is buf set ? */ if (! *buf) { - *buf = (char *) malloc(PAM_GROUP_BUFLEN); + *buf = (char *) calloc(1, PAM_GROUP_BUFLEN+1); if (! *buf) { pam_syslog(pamh, LOG_ERR, "out of memory"); + D(("no memory")); + *state = STATE_EOF; return -1; } - *from = *to = 0; + *from = 0; + *state = STATE_NL; fd = open(PAM_GROUP_CONF, O_RDONLY); + if (fd < 0) { + pam_syslog(pamh, LOG_ERR, "error opening %s: %m", PAM_GROUP_CONF); + _pam_drop(*buf); + *state = STATE_EOF; + return -1; + } } - /* do we have a file open ? return error */ - - if (fd < 0 && *to <= 0) { - pam_syslog(pamh, LOG_ERR, "%s not opened", PAM_GROUP_CONF); - memset(*buf, 0, PAM_GROUP_BUFLEN); - _pam_drop(*buf); - return -1; - } - - /* check if there was a newline last time */ - - if ((*to > *from) && (*to > 0) - && ((*buf)[*from] == '\0')) { /* previous line ended */ - (*from)++; - (*buf)[0] = '\0'; - return fd; - } - - /* ready for more data: first shift the buffer's remaining data */ - - *to -= *from; - shift_bytes(*buf, *from, *to); - *from = 0; - (*buf)[*to] = '\0'; - - while (fd >= 0 && *to < PAM_GROUP_BUFLEN) { - int i; - - /* now try to fill the remainder of the buffer */ + if (*from > 0) + to = shift_buf(*buf, *from); + else + to = *buf; - i = read(fd, *to + *buf, PAM_GROUP_BUFLEN - *to); + while (fd != -1 && to - *buf < PAM_GROUP_BUFLEN) { + i = pam_modutil_read(fd, to, PAM_GROUP_BUFLEN - (to - *buf)); if (i < 0) { pam_syslog(pamh, LOG_ERR, "error reading %s: %m", PAM_GROUP_CONF); close(fd); + memset(*buf, 0, PAM_GROUP_BUFLEN); + _pam_drop(*buf); + *state = STATE_EOF; return -1; } else if (!i) { close(fd); fd = -1; /* end of file reached */ - } else - *to += i; + } - /* - * contract the buffer. Delete any comments, and replace all - * multiple spaces with single commas - */ + to += i; + } - i = 0; -#ifdef DEBUG_DUMP - D(("buffer=<%s>",*buf)); -#endif - while (i < *to) { - if ((*buf)[i] == ',') { - int j; - - for (j=++i; j<*to && (*buf)[j] == ','; ++j); - if (j!=i) { - shift_bytes(i + (*buf), j-i, (*to) - j); - *to -= j-i; + if (to == *buf) { + /* nothing previously in buf, nothing read */ + _pam_drop(*buf); + *state = STATE_EOF; + return -1; + } + + memset(to, '\0', PAM_GROUP_BUFLEN - (to - *buf)); + + to = *buf; + onspace = 1; /* delete any leading spaces */ + + for (src = to; (c=*src) != '\0'; ++src) { + if (*state == STATE_COMMENT && c != '\n') { + continue; + } + + switch (c) { + case '\n': + *state = STATE_NL; + *to = '\0'; + *from = (src - *buf) + 1; + trim_spaces(*buf, to); + return fd; + + case '\t': + case ' ': + if (!onspace) { + onspace = 1; + *to++ = ' '; } - } - switch ((*buf)[i]) { - int j, c; + break; + + case '!': + onspace = 1; /* ignore following spaces */ + *to++ = '!'; + break; + case '#': - c = 0; - for (j=i; j < *to && (c = (*buf)[j]) != '\n'; ++j); - if (j >= *to) { - (*buf)[*to = ++i] = '\0'; - } else if (c == '\n') { - shift_bytes(i + (*buf), j-i, (*to) - j); - *to -= j-i; - ++i; - } else { - pam_syslog(pamh, LOG_CRIT, - "internal error in file %s at line %d", - __FILE__, __LINE__); - close(fd); - return -1; - } + *state = STATE_COMMENT; break; + + case FIELD_SEPARATOR: + *state = STATE_FIELD; + *to = '\0'; + *from = (src - *buf) + 1; + trim_spaces(*buf, to); + return fd; + case '\\': - if ((*buf)[i+1] == '\n') { - shift_bytes(i + *buf, 2, *to - (i+2)); - *to -= 2; - } else { - ++i; /* we don't escape non-newline characters */ + if (src[1] == '\n') { + ++src; /* skip it */ + break; } - break; - case '!': - case ' ': - case '\t': - if ((*buf)[i] != '!') - (*buf)[i] = ','; - /* delete any trailing spaces */ - for (j=++i; j < *to && ( (c = (*buf)[j]) == ' ' - || c == '\t' ); ++j); - shift_bytes(i + *buf, j-i, (*to)-j ); - *to -= j-i; - break; default: - ++i; - } + *to++ = c; + onspace = 0; } + if (src > to) + *src = '\0'; /* clearing */ } - (*buf)[*to] = '\0'; - - /* now return the next field (set the from/to markers) */ - { - int i; - - for (i=0; i<*to; ++i) { - switch ((*buf)[i]) { - case '#': - case '\n': /* end of the line/file */ - (*buf)[i] = '\0'; - *from = i; - return fd; - case FIELD_SEPARATOR: /* end of the field */ - (*buf)[i] = '\0'; - *from = ++i; - return fd; - } - } - *from = i; - (*buf)[*from] = '\0'; + if (*state != STATE_COMMENT) { + *state = STATE_COMMENT; + pam_syslog(pamh, LOG_ERR, "field too long - ignored"); + **buf = '\0'; + } else { + *to = '\0'; + trim_spaces(*buf, to); } - if (*to <= 0) { - D(("[end of text]")); - *buf = NULL; - } + *from = 0; return fd; } @@ -582,7 +573,7 @@ static int mkgrplist(pam_handle_t *pamh, char *buf, gid_t **list, int len) static int check_account(pam_handle_t *pamh, const char *service, const char *tty, const char *user) { - int from=0,to=0,fd=-1; + int from=0, state=STATE_NL, fd=-1; char *buffer=NULL; int count=0; TIME here_and_now; @@ -627,7 +618,7 @@ static int check_account(pam_handle_t *pamh, const char *service, /* here we get the service name field */ - fd = read_field(pamh,fd,&buffer,&from,&to); + fd = read_field(pamh, fd, &buffer, &from, &state); if (!buffer || !buffer[0]) { /* empty line .. ? */ continue; @@ -635,15 +626,21 @@ static int check_account(pam_handle_t *pamh, const char *service, ++count; D(("working on rule #%d",count)); + if (state != STATE_FIELD) { + pam_syslog(pamh, LOG_ERR, + "%s: malformed rule #%d", PAM_GROUP_CONF, count); + continue; + } + good = logic_field(pamh,service, buffer, count, is_same); D(("with service: %s", good ? "passes":"fails" )); /* here we get the terminal name field */ - fd = read_field(pamh,fd,&buffer,&from,&to); - if (!buffer || !buffer[0]) { + fd = read_field(pamh, fd, &buffer, &from, &state); + if (state != STATE_FIELD) { pam_syslog(pamh, LOG_ERR, - "%s: no tty entry #%d", PAM_GROUP_CONF, count); + "%s: malformed rule #%d", PAM_GROUP_CONF, count); continue; } good &= logic_field(pamh,tty, buffer, count, is_same); @@ -651,10 +648,10 @@ static int check_account(pam_handle_t *pamh, const char *service, /* here we get the username field */ - fd = read_field(pamh,fd,&buffer,&from,&to); - if (!buffer || !buffer[0]) { + fd = read_field(pamh, fd, &buffer, &from, &state); + if (state != STATE_FIELD) { pam_syslog(pamh, LOG_ERR, - "%s: no user entry #%d", PAM_GROUP_CONF, count); + "%s: malformed rule #%d", PAM_GROUP_CONF, count); continue; } /* If buffer starts with @, we are using netgroups */ @@ -669,20 +666,20 @@ static int check_account(pam_handle_t *pamh, const char *service, /* here we get the time field */ - fd = read_field(pamh,fd,&buffer,&from,&to); - if (!buffer || !buffer[0]) { + fd = read_field(pamh, fd, &buffer, &from, &state); + if (state != STATE_FIELD) { pam_syslog(pamh, LOG_ERR, - "%s: no time entry #%d", PAM_GROUP_CONF, count); + "%s: malformed rule #%d", PAM_GROUP_CONF, count); continue; } good &= logic_field(pamh,&here_and_now, buffer, count, check_time); D(("with time: %s", good ? "passes":"fails" )); - fd = read_field(pamh,fd,&buffer,&from,&to); - if (!buffer || !buffer[0]) { + fd = read_field(pamh, fd, &buffer, &from, &state); + if (state == STATE_FIELD) { pam_syslog(pamh, LOG_ERR, - "%s: no listed groups for rule #%d", PAM_GROUP_CONF, count); + "%s: poorly terminated rule #%d", PAM_GROUP_CONF, count); continue; } @@ -701,14 +698,6 @@ static int check_account(pam_handle_t *pamh, const char *service, } } - /* check the line is terminated correctly */ - - fd = read_field(pamh,fd,&buffer,&from,&to); - if (buffer && buffer[0]) { - pam_syslog(pamh, LOG_ERR, - "%s: poorly terminated rule #%d", PAM_GROUP_CONF, count); - } - if (good > 0) { D(("rule #%d passed, added %d groups", count, good)); } else if (good < 0) { @@ -717,7 +706,7 @@ static int check_account(pam_handle_t *pamh, const char *service, D(("rule #%d failed", count)); } - } while (buffer); + } while (state != STATE_EOF); /* now set the groups for the user */ diff --git a/modules/pam_time/pam_time.c b/modules/pam_time/pam_time.c index 7e418808..dff4a6da 100644 --- a/modules/pam_time/pam_time.c +++ b/modules/pam_time/pam_time.c @@ -4,6 +4,7 @@ * Written by Andrew Morgan 1996/6/22 * (File syntax and much other inspiration from the shadow package * shadow-960129) + * Field parsing rewritten by Tomas Mraz */ #include "config.h" @@ -23,7 +24,7 @@ #include #ifdef HAVE_LIBAUDIT -#include +#include #endif #define PAM_TIME_BUFLEN 1000 @@ -79,163 +80,157 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv) /* --- static functions for checking whether the user should be let in --- */ -static void -shift_bytes(char *mem, int from, int by) +static char * +shift_buf(char *mem, int from) { - while (by-- > 0) { - *mem = mem[from]; + char *start = mem; + while ((*mem = mem[from]) != '\0') ++mem; + memset(mem, '\0', PAM_TIME_BUFLEN - (mem - start)); + return mem; +} + +static void +trim_spaces(char *buf, char *from) +{ + while (from > buf) { + --from; + if (*from == ' ') + *from = '\0'; + else + break; } } +#define STATE_NL 0 /* new line starting */ +#define STATE_COMMENT 1 /* inside comment */ +#define STATE_FIELD 2 /* field following */ +#define STATE_EOF 3 /* end of file or error */ + static int -read_field(const pam_handle_t *pamh, int fd, char **buf, int *from, int *to) +read_field(const pam_handle_t *pamh, int fd, char **buf, int *from, int *state) { - /* is buf set ? */ + char *to; + char *src; + int i; + char c; + int onspace; + /* is buf set ? */ if (! *buf) { - *buf = (char *) malloc(PAM_TIME_BUFLEN); + *buf = (char *) calloc(1, PAM_TIME_BUFLEN+1); if (! *buf) { pam_syslog(pamh, LOG_ERR, "out of memory"); D(("no memory")); + *state = STATE_EOF; return -1; } - *from = *to = 0; + *from = 0; + *state = STATE_NL; fd = open(PAM_TIME_CONF, O_RDONLY); + if (fd < 0) { + pam_syslog(pamh, LOG_ERR, "error opening %s: %m", PAM_TIME_CONF); + _pam_drop(*buf); + *state = STATE_EOF; + return -1; + } } + - /* do we have a file open ? return error */ - - if (fd < 0 && *to <= 0) { - pam_syslog(pamh, LOG_ERR, "error opening %s: %m", PAM_TIME_CONF); - memset(*buf, 0, PAM_TIME_BUFLEN); - _pam_drop(*buf); - return -1; - } - - /* check if there was a newline last time */ - - if ((*to > *from) && (*to > 0) - && ((*buf)[*from] == '\0')) { /* previous line ended */ - (*from)++; - (*buf)[0] = '\0'; - return fd; - } - - /* ready for more data: first shift the buffer's remaining data */ - - *to -= *from; - shift_bytes(*buf, *from, *to); - *from = 0; - (*buf)[*to] = '\0'; - - while (fd >= 0 && *to < PAM_TIME_BUFLEN) { - int i; - - /* now try to fill the remainder of the buffer */ + if (*from > 0) + to = shift_buf(*buf, *from); + else + to = *buf; - i = read(fd, *to + *buf, PAM_TIME_BUFLEN - *to); + while (fd != -1 && to - *buf < PAM_TIME_BUFLEN) { + i = pam_modutil_read(fd, to, PAM_TIME_BUFLEN - (to - *buf)); if (i < 0) { pam_syslog(pamh, LOG_ERR, "error reading %s: %m", PAM_TIME_CONF); close(fd); + memset(*buf, 0, PAM_TIME_BUFLEN); + _pam_drop(*buf); + *state = STATE_EOF; return -1; } else if (!i) { close(fd); fd = -1; /* end of file reached */ - } else - *to += i; + } - /* - * contract the buffer. Delete any comments, and replace all - * multiple spaces with single commas - */ + to += i; + } - i = 0; -#ifdef DEBUG_DUMP - D(("buffer=<%s>",*buf)); -#endif - while (i < *to) { - if ((*buf)[i] == ',') { - int j; - - for (j=++i; j<*to && (*buf)[j] == ','; ++j); - if (j!=i) { - shift_bytes(i + (*buf), j-i, (*to) - j); - *to -= j-i; - } - } - switch ((*buf)[i]) { - int j,c; - case '#': - c = 0; - for (j=i; j < *to && (c = (*buf)[j]) != '\n'; ++j); - if (j >= *to) { - (*buf)[*to = ++i] = '\0'; - } else if (c == '\n') { - shift_bytes(i + (*buf), j-i, (*to) - j); - *to -= j-i; - ++i; - } else { - pam_syslog(pamh, LOG_CRIT, - "internal error in file %s at line %d", - __FILE__, __LINE__); - close(fd); - return -1; - } - break; - case '\\': - if ((*buf)[i+1] == '\n') { - shift_bytes(i + *buf, 2, *to - (i+2)); - *to -= 2; - } else { - ++i; /* we don't escape non-newline characters */ - } - break; - case '!': - case ' ': - case '\t': - if ((*buf)[i] != '!') - (*buf)[i] = ','; - /* delete any trailing spaces */ - for (j=++i; j < *to && ( (c = (*buf)[j]) == ' ' - || c == '\t' ); ++j); - shift_bytes(i + *buf, j-i, (*to)-j ); - *to -= j-i; - break; - default: - ++i; - } - } + if (to == *buf) { + /* nothing previously in buf, nothing read */ + _pam_drop(*buf); + *state = STATE_EOF; + return -1; } - (*buf)[*to] = '\0'; + memset(to, '\0', PAM_TIME_BUFLEN - (to - *buf)); - /* now return the next field (set the from/to markers) */ - { - int i; + to = *buf; + onspace = 1; /* delete any leading spaces */ + + for (src = to; (c=*src) != '\0'; ++src) { + if (*state == STATE_COMMENT && c != '\n') { + continue; + } + + switch (c) { + case '\n': + *state = STATE_NL; + *to = '\0'; + *from = (src - *buf) + 1; + trim_spaces(*buf, to); + return fd; + + case '\t': + case ' ': + if (!onspace) { + onspace = 1; + *to++ = ' '; + } + break; + + case '!': + onspace = 1; /* ignore following spaces */ + *to++ = '!'; + break; - for (i=0; i<*to; ++i) { - switch ((*buf)[i]) { case '#': - case '\n': /* end of the line/file */ - (*buf)[i] = '\0'; - *from = i; + *state = STATE_COMMENT; + break; + + case FIELD_SEPARATOR: + *state = STATE_FIELD; + *to = '\0'; + *from = (src - *buf) + 1; + trim_spaces(*buf, to); return fd; - case FIELD_SEPARATOR: /* end of the field */ - (*buf)[i] = '\0'; - *from = ++i; - return fd; - } + + case '\\': + if (src[1] == '\n') { + ++src; /* skip it */ + break; + } + default: + *to++ = c; + onspace = 0; } - *from = i; - (*buf)[*from] = '\0'; + if (src > to) + *src = '\0'; /* clearing */ } - if (*to <= 0) { - D(("[end of text]")); - *buf = NULL; + if (*state != STATE_COMMENT) { + *state = STATE_COMMENT; + pam_syslog(pamh, LOG_ERR, "field too long - ignored"); + **buf = '\0'; + } else { + *to = '\0'; + trim_spaces(*buf, to); } + *from = 0; return fd; } @@ -511,7 +506,7 @@ static int check_account(pam_handle_t *pamh, const char *service, const char *tty, const char *user) { - int from=0,to=0,fd=-1; + int from=0, state=STATE_NL, fd=-1; char *buffer=NULL; int count=0; TIME here_and_now; @@ -523,23 +518,28 @@ check_account(pam_handle_t *pamh, const char *service, /* here we get the service name field */ - fd = read_field(pamh, fd, &buffer, &from, &to); - + fd = read_field(pamh, fd, &buffer, &from, &state); if (!buffer || !buffer[0]) { /* empty line .. ? */ continue; } ++count; + if (state != STATE_FIELD) { + pam_syslog(pamh, LOG_ERR, + "%s: malformed rule #%d", PAM_TIME_CONF, count); + continue; + } + good = logic_field(pamh, service, buffer, count, is_same); D(("with service: %s", good ? "passes":"fails" )); /* here we get the terminal name field */ - fd = read_field(pamh, fd, &buffer, &from, &to); - if (!buffer || !buffer[0]) { + fd = read_field(pamh, fd, &buffer, &from, &state); + if (state != STATE_FIELD) { pam_syslog(pamh, LOG_ERR, - "%s: no tty entry #%d", PAM_TIME_CONF, count); + "%s: malformed rule #%d", PAM_TIME_CONF, count); continue; } good &= logic_field(pamh, tty, buffer, count, is_same); @@ -547,10 +547,10 @@ check_account(pam_handle_t *pamh, const char *service, /* here we get the username field */ - fd = read_field(pamh, fd, &buffer, &from, &to); - if (!buffer || !buffer[0]) { + fd = read_field(pamh, fd, &buffer, &from, &state); + if (state != STATE_FIELD) { pam_syslog(pamh, LOG_ERR, - "%s: no user entry #%d", PAM_TIME_CONF, count); + "%s: malformed rule #%d", PAM_TIME_CONF, count); continue; } /* If buffer starts with @, we are using netgroups */ @@ -562,23 +562,16 @@ check_account(pam_handle_t *pamh, const char *service, /* here we get the time field */ - fd = read_field(pamh, fd, &buffer, &from, &to); - if (!buffer || !buffer[0]) { + fd = read_field(pamh, fd, &buffer, &from, &state); + if (state == STATE_FIELD) { pam_syslog(pamh, LOG_ERR, - "%s: no time entry #%d", PAM_TIME_CONF, count); + "%s: poorly terminated rule #%d", PAM_TIME_CONF, count); continue; } intime = logic_field(pamh, &here_and_now, buffer, count, check_time); D(("with time: %s", intime ? "passes":"fails" )); - fd = read_field(pamh, fd, &buffer, &from, &to); - if (buffer && buffer[0]) { - pam_syslog(pamh, LOG_ERR, - "%s: poorly terminated rule #%d", PAM_TIME_CONF, count); - continue; - } - if (good && !intime) { /* * for security parse whole file.. also need to ensure @@ -588,7 +581,7 @@ check_account(pam_handle_t *pamh, const char *service, } else { D(("rule passed")); } - } while (buffer); + } while (state != STATE_EOF); return retval; } -- cgit v1.2.3 From c99be5959bc7e7b407f7dd9ba6637f8fbb6c9249 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 6 Jun 2011 18:22:32 +0200 Subject: Define the MS_PRIVATE and MS_REC flags if they are not in sys/mount.h. --- ChangeLog | 3 +++ modules/pam_namespace/pam_namespace.h | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index b0cb53a2..836804b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,9 @@ (check_account): read_field() now uses state information. No extra read_field() call at the end of configuration line. + * modules/pam_namespace/pam_namespace.h: Define the MS_PRIVATE and + MS_REC flags if they are not in sys/mount.h. + 2011-06-06 Nguyễn Thái Ngọc Duy * po/LINGUAS: Add vietnamese. diff --git a/modules/pam_namespace/pam_namespace.h b/modules/pam_namespace/pam_namespace.h index 7b39068b..c49995c0 100644 --- a/modules/pam_namespace/pam_namespace.h +++ b/modules/pam_namespace/pam_namespace.h @@ -74,6 +74,14 @@ #define CLONE_NEWNS 0x00020000 /* Flag to create new namespace */ #endif +/* mount flags for mount_private */ +#ifndef MS_REC +#define MS_REC (1<<14) +#endif +#ifndef MS_PRIVATE +#define MS_PRIVATE (1<<18) +#endif + /* * Module defines */ -- cgit v1.2.3 From 2cd2fb864a52e71a5f6c15aea1cc7e953674aeb6 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 7 Jun 2011 17:22:30 +0200 Subject: Detect the shared / mount and enable private mounts based on that. --- ChangeLog | 9 ++++++ modules/pam_namespace/pam_namespace.8.xml | 7 +++-- modules/pam_namespace/pam_namespace.c | 51 +++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 836804b3..bcd456c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-06-07 Tomas Mraz + + * modules/pam_namespace/pam_namespace.c (root_shared): New + function to detect shared / mount. + (pam_sm_open_session): Call the root_shared() and enable + private mounts based on that. + * modules/pam_namespace/pam_namespace.8.xml: Document the + automatic detection of shared / mount. + 2011-06-06 Tomas Mraz * modules/pam_group/pam_group.c (shift_bytes): Removed. diff --git a/modules/pam_namespace/pam_namespace.8.xml b/modules/pam_namespace/pam_namespace.8.xml index f0ebe2c6..48021c80 100644 --- a/modules/pam_namespace/pam_namespace.8.xml +++ b/modules/pam_namespace/pam_namespace.8.xml @@ -243,11 +243,14 @@ - This option should be used on systems where the / mount point and + This option can be used on systems where the / mount point or its submounts are made shared (for example with a mount --make-rshared / command). The module will make the polyinstantiated directory mount points - private. + private. Normally the pam_namespace will try to detect the + shared / mount point and make the polyinstantiated directories + private automatically. This option has to be used just when + only a subtree is shared and / is not. diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c index d5a2d781..4a99184a 100644 --- a/modules/pam_namespace/pam_namespace.c +++ b/modules/pam_namespace/pam_namespace.c @@ -1890,6 +1890,53 @@ static int ctxt_based_inst_needed(void) } #endif +static int root_shared(void) +{ + FILE *f; + char *line = NULL; + size_t n = 0; + int rv = 0; + + f = fopen("/proc/self/mountinfo", "r"); + + if (f == NULL) + return 0; + + while(getline(&line, &n, f) != -1) { + char *l; + char *sptr; + int i; + + l = line; + sptr = NULL; + for (i = 0; i < 7; i++) { + char *tok; + + tok = strtok_r(l, " ", &sptr); + l = NULL; + if (tok == NULL) + /* next mountinfo line */ + break; + + if (i == 4 && strcmp(tok, "/") != 0) + /* next mountinfo line */ + break; + + if (i == 6) { + if (strncmp(tok, "shared:", 7) == 0) + /* there might be more / mounts, the last one counts */ + rv = 1; + else + rv = 0; + } + } + } + + free(line); + fclose(f); + + return rv; +} static int get_user_data(struct instance_data *idata) { @@ -2002,6 +2049,10 @@ PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, if (retval != PAM_SUCCESS) return retval; + if (root_shared()) { + idata.flags |= PAMNS_MOUNT_PRIVATE; + } + /* * Parse namespace configuration file which lists directories to * polyinstantiate, directory where instance directories are to -- cgit v1.2.3 From cda7bd483b42a39157e69271fa2211d7e89944dc Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 13 Jun 2011 20:27:18 +0200 Subject: Test also whether the tty is in the /sys/class/tty/console/active file. --- ChangeLog | 7 +++++++ modules/pam_securetty/pam_securetty.8.xml | 8 +++++--- modules/pam_securetty/pam_securetty.c | 33 ++++++++++++++++++++++++++++++- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bcd456c3..299b3167 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-06-13 Tomas Mraz + + * modules/pam_securetty/pam_securetty.c (securetty_perform_check): Test + also whether the tty is in the /sys/class/tty/console/active file. + * modules/pam_securetty/pam_securetty.8.xml: Document the new check of + /sys/class/tty/console/active/file. + 2011-06-07 Tomas Mraz * modules/pam_namespace/pam_namespace.c (root_shared): New diff --git a/modules/pam_securetty/pam_securetty.8.xml b/modules/pam_securetty/pam_securetty.8.xml index c5d6c5fe..48215f5f 100644 --- a/modules/pam_securetty/pam_securetty.8.xml +++ b/modules/pam_securetty/pam_securetty.8.xml @@ -35,7 +35,8 @@ to make sure that /etc/securetty is a plain file and not world writable. It will also allow root logins on the tty specified with switch on the - kernel command line. + kernel command line and on ttys from the + /sys/class/tty/console/active. This module has no effect on non-root users and requires that the @@ -70,8 +71,9 @@ Do not automatically allow root logins on the kernel console - device, as specified on the kernel command line, if it is - not also specified in the /etc/securetty file. + device, as specified on the kernel command line or by the sys file, + if it is not also specified in the + /etc/securetty file. diff --git a/modules/pam_securetty/pam_securetty.c b/modules/pam_securetty/pam_securetty.c index 99c6371f..4e97ef59 100644 --- a/modules/pam_securetty/pam_securetty.c +++ b/modules/pam_securetty/pam_securetty.c @@ -3,6 +3,7 @@ #define SECURETTY_FILE "/etc/securetty" #define TTY_PREFIX "/dev/" #define CMDLINE_FILE "/proc/cmdline" +#define CONSOLEACTIVE_FILE "/sys/class/tty/console/active" /* * by Elliot Lee , Red Hat Software. @@ -169,7 +170,7 @@ securetty_perform_check (pam_handle_t *pamh, int ctrl, if (p > line && p[-1] != ' ') continue; - /* Ist this our console? */ + /* Is this our console? */ if (strncmp(p + 8, uttyname, strlen(uttyname))) continue; @@ -182,6 +183,36 @@ securetty_perform_check (pam_handle_t *pamh, int ctrl, } } } + if (retval && !(ctrl & PAM_NOCONSOLE_ARG)) { + FILE *consoleactivefile; + + /* Allow access from the active console */ + consoleactivefile = fopen(CONSOLEACTIVE_FILE, "r"); + + if (consoleactivefile != NULL) { + char line[LINE_MAX], *p, *n; + + line[0] = 0; + p = fgets(line, sizeof(line), consoleactivefile); + fclose(consoleactivefile); + + if (p) { + /* remove the newline character at end */ + if (line[strlen(line)-1] == '\n') + line[strlen(line)-1] = 0; + + for (n = p; n != NULL; p = n+1) { + if ((n = strchr(p, ' ')) != NULL) + *n = '\0'; + + if (strcmp(p, uttyname) == 0) { + retval = 0; + break; + } + } + } + } + } if (retval) { pam_syslog(pamh, LOG_WARNING, "access denied: tty '%s' is not secure !", -- cgit v1.2.3 From 0fda81ee5bdc656554d55fb8d6f40c39bae3a3bf Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 14 Jun 2011 15:28:05 +0200 Subject: 2011-06-14 Thorsten Kukuk * configure.in: Check for libtirpc bye default. * libpam/Makefile.am: Add support for libtirpc. * modules/pam_access/Makefile.am: Likewise. * modules/pam_unix/Makefile.am: Likewise. * modules/pam_unix/pam_unix_passwd.c: Change ifdefs for new libtirpc support. * modules/pam_unix/yppasswd_xdr.c: Only compile if we have rpc/rpc.h. --- ChangeLog | 10 ++++++++ configure.in | 45 ++++++++++++++++++++++++++++------- libpam/Makefile.am | 3 ++- modules/pam_access/Makefile.am | 4 ++-- modules/pam_unix/Makefile.am | 5 ++-- modules/pam_unix/pam_unix_passwd.c | 48 ++++++++++++++++++++++++-------------- modules/pam_unix/yppasswd_xdr.c | 4 ++++ 7 files changed, 87 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 299b3167..8d6bfd21 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-06-14 Thorsten Kukuk + + * configure.in: Check for libtirpc bye default. + * libpam/Makefile.am: Add support for libtirpc. + * modules/pam_access/Makefile.am: Likewise. + * modules/pam_unix/Makefile.am: Likewise. + * modules/pam_unix/pam_unix_passwd.c: Change ifdefs for + new libtirpc support. + * modules/pam_unix/yppasswd_xdr.c: Only compile if we have rpc/rpc.h. + 2011-06-13 Tomas Mraz * modules/pam_securetty/pam_securetty.c (securetty_perform_check): Test diff --git a/configure.in b/configure.in index d09d753f..80f9ee96 100644 --- a/configure.in +++ b/configure.in @@ -441,12 +441,39 @@ fi AC_SUBST(LIBDB) AM_CONDITIONAL([HAVE_LIBDB], [test ! -z "$LIBDB"]) -AC_CHECK_LIB([nsl],[yp_get_default_domain], LIBNSL="-lnsl", LIBNSL="") -BACKUP_LIBS=$LIBS -LIBS="$LIBS $LIBNSL" -AC_CHECK_FUNCS(yp_get_default_domain getdomainname innetgr yperr_string yp_master yp_bind yp_match yp_unbind) -LIBS=$BACKUP_LIBS -AC_SUBST(LIBNSL) +AC_ARG_ENABLE([nis], + AS_HELP_STRING([-disable-nis], [Disable building NIS/YP support in pam_unix and pam_access])) + +AS_IF([test "x$enable_nis" != "xno"], [ + CFLAGS=$old_CFLAGS + LIBS=$old_LIBS + + dnl if there's libtirpc available, prefer that over the system + dnl implementation. + PKG_CHECK_MODULES([libtirpc], [libtirpc], [ + CFLAGS="$CFLAGS $libtirpc_CFLAGS" + LIBS="$LIBS $libtirpc_LIBS" + ], [:;]) + + AC_SEARCH_LIBS([yp_get_default_domain], [nsl]) + + AC_CHECK_FUNCS([yp_get_default_domain yperr_string yp_master yp_bind yp_match yp_unbind]) + AC_CHECK_HEADERS([rpc/rpc.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h]) + AC_CHECK_DECLS([getrpcport], , , [ + #if HAVE_RPC_RPC_H + # include + #endif + ]) + + NIS_CFLAGS="${CFLAGS%${old_CFLAGS}}" + NIS_LIBS="${LIBS%${old_LIBS}}" + + CFLAGS="$old_CFLAGS" + LIBS="$old_LIBS" +]) + +AC_SUBST([NIS_CFLAGS]) +AC_SUBST([NIS_LIBS]) AC_ARG_ENABLE([selinux], AS_HELP_STRING([--disable-selinux],[do not use SELinux]), @@ -471,7 +498,7 @@ dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h net/if.h termio.h unistd.h sys/fsuid.h inittypes.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h) +AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h net/if.h termio.h unistd.h sys/fsuid.h inittypes.h) dnl For module/pam_lastlog AC_CHECK_HEADERS(lastlog.h utmp.h utmpx.h) @@ -491,11 +518,11 @@ AC_TYPE_GETGROUPS AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_FUNC_VPRINTF -AC_CHECK_FUNCS(fseeko gethostname gettimeofday lckpwdf mkdir select) +AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir select) AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname) AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r) AC_CHECK_FUNCS(getgrouplist getline getdelim) -AC_CHECK_FUNCS(inet_ntop inet_pton ruserok_af) +AC_CHECK_FUNCS(inet_ntop inet_pton innetgr ruserok_af) AC_CHECK_FUNCS(unshare, [UNSHARE=yes], [UNSHARE=no]) AM_CONDITIONAL([HAVE_UNSHARE], [test "$UNSHARE" = yes]) diff --git a/libpam/Makefile.am b/libpam/Makefile.am index 3c7ae1d6..f7e6c25d 100644 --- a/libpam/Makefile.am +++ b/libpam/Makefile.am @@ -25,7 +25,8 @@ libpam_la_LIBADD = @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@ if STATIC_MODULES libpam_la_LIBADD += $(shell ls ../modules/pam_*/*.lo) \ - @LIBDB@ @LIBCRYPT@ @LIBNSL@ @LIBCRACK@ -lutil + @LIBDB@ @LIBCRYPT@ $(NIS_LIBS) @LIBCRACK@ -lutil + AM_CFLAGS += $(NIS_CFLAGS) endif if HAVE_VERSIONING libpam_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libpam.map diff --git a/modules/pam_access/Makefile.am b/modules/pam_access/Makefile.am index b4fea7df..89222b56 100644 --- a/modules/pam_access/Makefile.am +++ b/modules/pam_access/Makefile.am @@ -15,14 +15,14 @@ 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\" $(NIS_CFLAGS) AM_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif securelib_LTLIBRARIES = pam_access.la -pam_access_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBNSL@ +pam_access_la_LIBADD = -L$(top_builddir)/libpam -lpam $(NIS_LIBS) secureconf_DATA = access.conf diff --git a/modules/pam_unix/Makefile.am b/modules/pam_unix/Makefile.am index 44b37e94..ba77d39f 100644 --- a/modules/pam_unix/Makefile.am +++ b/modules/pam_unix/Makefile.am @@ -18,7 +18,8 @@ secureconfdir = $(SCONFIGDIR) AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ -DCHKPWD_HELPER=\"$(sbindir)/unix_chkpwd\" \ - -DUPDATE_HELPER=\"$(sbindir)/unix_update\" + -DUPDATE_HELPER=\"$(sbindir)/unix_update\" \ + $(NIS_CFLAGS) if HAVE_LIBSELINUX AM_CFLAGS += -D"WITH_SELINUX" @@ -28,7 +29,7 @@ pam_unix_la_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING pam_unix_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif -pam_unix_la_LIBADD = @LIBNSL@ -L$(top_builddir)/libpam -lpam \ +pam_unix_la_LIBADD = $(NIS_LIBS) -L$(top_builddir)/libpam -lpam \ @LIBCRYPT@ @LIBSELINUX@ securelib_LTLIBRARIES = pam_unix.la diff --git a/modules/pam_unix/pam_unix_passwd.c b/modules/pam_unix/pam_unix_passwd.c index 320bc547..631df318 100644 --- a/modules/pam_unix/pam_unix_passwd.c +++ b/modules/pam_unix/pam_unix_passwd.c @@ -54,13 +54,6 @@ #include #include #include -#include -#ifdef HAVE_RPCSVC_YP_PROT_H -#include -#endif -#ifdef HAVE_RPCSVC_YPCLNT_H -#include -#endif #include #include @@ -76,16 +69,33 @@ #include #include -#include "yppasswd.h" #include "md5.h" #include "support.h" #include "passverify.h" #include "bigcrypt.h" -#if !((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)) +#if (HAVE_YP_GET_DEFAULT_DOMAIN || HAVE_GETDOMAINNAME) && HAVE_YP_MASTER +# define HAVE_NIS +#endif + +#ifdef HAVE_NIS +# include + +# if HAVE_RPCSVC_YP_PROT_H +# include +# endif + +# if HAVE_RPCSVC_YPCLNT_H +# include +# endif + +# include "yppasswd.h" + +# if !HAVE_DECL_GETRPCPORT extern int getrpcport(const char *host, unsigned long prognum, unsigned long versnum, unsigned int proto); -#endif /* GNU libc 2.1 */ +# endif /* GNU libc 2.1 */ +#endif /* How it works: @@ -102,9 +112,9 @@ extern int getrpcport(const char *host, unsigned long prognum, #define MAX_PASSWD_TRIES 3 +#ifdef HAVE_NIS static char *getNISserver(pam_handle_t *pamh, unsigned int ctrl) { -#if (defined(HAVE_YP_GET_DEFAULT_DOMAIN) || defined(HAVE_GETDOMAINNAME)) && defined(HAVE_YP_MASTER) char *master; char *domainname; int port, err; @@ -151,14 +161,8 @@ static char *getNISserver(pam_handle_t *pamh, unsigned int ctrl) master, port); } return master; -#else - if (on(UNIX_DEBUG, ctrl)) { - pam_syslog(pamh, LOG_DEBUG, "getNISserver: No NIS support available"); - } - - return NULL; -#endif } +#endif #ifdef WITH_SELINUX @@ -326,6 +330,7 @@ static int _do_setpass(pam_handle_t* pamh, const char *forwho, } if (on(UNIX_NIS, ctrl) && _unix_comesfromsource(pamh, forwho, 0, 1)) { +#ifdef HAVE_NIS if ((master=getNISserver(pamh, ctrl)) != NULL) { struct timeval timeout; struct yppasswd yppwd; @@ -391,6 +396,13 @@ static int _do_setpass(pam_handle_t* pamh, const char *forwho, } else { retval = PAM_TRY_AGAIN; } +#else + if (on(UNIX_DEBUG, ctrl)) { + pam_syslog(pamh, LOG_DEBUG, "No NIS support available"); + } + + retval = PAM_TRY_AGAIN; +#endif } if (_unix_comesfromsource(pamh, forwho, 1, 0)) { diff --git a/modules/pam_unix/yppasswd_xdr.c b/modules/pam_unix/yppasswd_xdr.c index 0b95b82b..f2b86a56 100644 --- a/modules/pam_unix/yppasswd_xdr.c +++ b/modules/pam_unix/yppasswd_xdr.c @@ -12,6 +12,8 @@ #include "config.h" +#ifdef HAVE_RPC_RPC_H + #include #include "yppasswd.h" @@ -34,3 +36,5 @@ xdr_yppasswd(XDR * xdrs, yppasswd * objp) return xdr_string(xdrs, &objp->oldpass, ~0) && xdr_xpasswd(xdrs, &objp->newpw); } + +#endif -- cgit v1.2.3 From 3299b9a05f3928b5a535512fcae1bf2769ea2f22 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 14 Jun 2011 16:08:15 +0200 Subject: Fix typo --- ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8d6bfd21..d8c954d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,6 @@ 2011-06-14 Thorsten Kukuk - * configure.in: Check for libtirpc bye default. + * configure.in: Check for libtirpc by default. * libpam/Makefile.am: Add support for libtirpc. * modules/pam_access/Makefile.am: Likewise. * modules/pam_unix/Makefile.am: Likewise. -- cgit v1.2.3 From 62748f7df90225dc0635944ef59e6e4754c302c0 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 15 Jun 2011 18:48:12 +0200 Subject: Avoid leaking memory and dir handle on realloc failure. --- ChangeLog | 6 ++++++ modules/pam_sepermit/pam_sepermit.c | 12 +++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d8c954d2..76428316 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-06-15 Tomas Mraz + + * modules/pam_sepermit/pam_sepermit.c (check_running): Avoid + leaking memory and dir handle on realloc failure. + (sepermit_unlock) Cast fcntl() and close() calls to void. + 2011-06-14 Thorsten Kukuk * configure.in: Check for libtirpc by default. diff --git a/modules/pam_sepermit/pam_sepermit.c b/modules/pam_sepermit/pam_sepermit.c index 8b2360b5..4879b685 100644 --- a/modules/pam_sepermit/pam_sepermit.c +++ b/modules/pam_sepermit/pam_sepermit.c @@ -117,6 +117,7 @@ check_running (pam_handle_t *pamh, uid_t uid, int killall, int debug) max_pids = 256; pid_table = malloc(max_pids * sizeof (pid_t)); if (!pid_table) { + (void)closedir(dir); pam_syslog(pamh, LOG_CRIT, "Memory allocation error"); return -1; } @@ -126,10 +127,15 @@ check_running (pam_handle_t *pamh, uid_t uid, int killall, int debug) continue; if (pids == max_pids) { - if (!(pid_table = realloc(pid_table, 2*pids*sizeof(pid_t)))) { + pid_t *npt; + + if (!(npt = realloc(pid_table, 2*pids*sizeof(pid_t)))) { + free(pid_table); + (void)closedir(dir); pam_syslog(pamh, LOG_CRIT, "Memory allocation error"); return -1; } + pid_table = npt; max_pids *= 2; } pid_table[pids++] = pid; @@ -175,8 +181,8 @@ sepermit_unlock(pam_handle_t *pamh, void *plockfd, int error_status UNUSED) while(check_running(pamh, lockfd->uid, 1, lockfd->debug) > 0) continue; - fcntl(lockfd->fd, F_SETLK, &fl); - close(lockfd->fd); + (void)fcntl(lockfd->fd, F_SETLK, &fl); + (void)close(lockfd->fd); free(lockfd); } -- cgit v1.2.3 From ff7c230341fc4bd2266b9ddaf39d83683f12c040 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 15 Jun 2011 20:48:59 +0200 Subject: Cleanups of pam_pwhistory code. Make opasswd entry parsing more robust. * modules/pam_pwhistory/opasswd.c (check_old_password): Do not needlessly call strdupa(). (save_old_password): Avoid memleaks in error paths. Avoid memleak of buf. Make the opasswd entry parsing more robust. * modules/pam_pwhistory/pam_pwhistory.8.xml: Document the special meaning of remember=0. --- ChangeLog | 9 ++++- modules/pam_pwhistory/opasswd.c | 57 ++++++++++++++++++------------- modules/pam_pwhistory/pam_pwhistory.8.xml | 4 ++- 3 files changed, 44 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index 76428316..b3c499a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,7 +2,14 @@ * modules/pam_sepermit/pam_sepermit.c (check_running): Avoid leaking memory and dir handle on realloc failure. - (sepermit_unlock) Cast fcntl() and close() calls to void. + (sepermit_unlock): Cast fcntl() and close() calls to void. + + * modules/pam_pwhistory/opasswd.c (check_old_password): Do not + needlessly call strdupa(). + (save_old_password): Avoid memleaks in error paths. Avoid memleak of + buf. Make the opasswd entry parsing more robust. + * modules/pam_pwhistory/pam_pwhistory.8.xml: Document the + special meaning of remember=0. 2011-06-14 Thorsten Kukuk diff --git a/modules/pam_pwhistory/opasswd.c b/modules/pam_pwhistory/opasswd.c index f045555f..738483ac 100644 --- a/modules/pam_pwhistory/opasswd.c +++ b/modules/pam_pwhistory/opasswd.c @@ -181,15 +181,13 @@ check_old_password (pam_handle_t *pamh, const char *user, fclose (oldpf); - if (found) + if (found && entry.old_passwords) { const char delimiters[] = ","; char *running; char *oldpass; - running = strdupa (entry.old_passwords); - if (running == NULL) - return PAM_BUF_ERR; + running = entry.old_passwords; do { oldpass = strsep (&running, delimiters); @@ -311,8 +309,12 @@ save_old_password (pam_handle_t *pamh, const char *user, uid_t uid, buflen = DEFAULT_BUFLEN; buf = malloc (buflen); if (buf == NULL) - return PAM_BUF_ERR; - + { + fclose (oldpf); + fclose (newpf); + retval = PAM_BUF_ERR; + goto error_opasswd; + } } buf[0] = '\0'; fgets (buf, buflen - 1, oldpf); @@ -322,7 +324,12 @@ save_old_password (pam_handle_t *pamh, const char *user, uid_t uid, cp = buf; save = strdup (buf); /* Copy to write the original data back. */ if (save == NULL) - return PAM_BUF_ERR; + { + fclose (oldpf); + fclose (newpf); + retval = PAM_BUF_ERR; + goto error_opasswd; + } if (n < 1) break; @@ -351,31 +358,30 @@ save_old_password (pam_handle_t *pamh, const char *user, uid_t uid, found = 1; /* Don't save the current password twice */ - if (entry.old_passwords) + if (entry.old_passwords && entry.old_passwords[0] != '\0') { - /* there is only one password */ - if (strcmp (entry.old_passwords, oldpass) == 0) - goto write_old_data; - else + char *last = entry.old_passwords; + + cp = entry.old_passwords; + entry.count = 1; /* Don't believe the count */ + while ((cp = strchr (cp, ',')) != NULL) { - /* check last entry */ - cp = strstr (entry.old_passwords, oldpass); - - if (cp && strcmp (cp, oldpass) == 0) - { /* the end is the same, check that there - is a "," before. */ - --cp; - if (*cp == ',') - goto write_old_data; - } + entry.count++; + last = ++cp; } + + /* compare the last password */ + if (strcmp (last, oldpass) == 0) + goto write_old_data; } + else + entry.count = 0; /* increase count. */ entry.count++; /* check that we don't remember to many passwords. */ - while (entry.count > howmany) + while (entry.count > howmany && entry.count > 1) { char *p = strpbrk (entry.old_passwords, ","); if (p != NULL) @@ -383,12 +389,13 @@ save_old_password (pam_handle_t *pamh, const char *user, uid_t uid, entry.count--; } - if (entry.old_passwords == NULL) + if (entry.count == 1) { if (asprintf (&out, "%s:%s:%d:%s\n", entry.user, entry.uid, entry.count, oldpass) < 0) { + free (save); retval = PAM_AUTHTOK_ERR; fclose (oldpf); fclose (newpf); @@ -401,6 +408,7 @@ save_old_password (pam_handle_t *pamh, const char *user, uid_t uid, entry.user, entry.uid, entry.count, entry.old_passwords, oldpass) < 0) { + free (save); retval = PAM_AUTHTOK_ERR; fclose (oldpf); fclose (newpf); @@ -493,6 +501,7 @@ save_old_password (pam_handle_t *pamh, const char *user, uid_t uid, rename (opasswd_tmp, OLD_PASSWORDS_FILE); error_opasswd: unlink (opasswd_tmp); + free (buf); return retval; } diff --git a/modules/pam_pwhistory/pam_pwhistory.8.xml b/modules/pam_pwhistory/pam_pwhistory.8.xml index 7696353f..9e1056b2 100644 --- a/modules/pam_pwhistory/pam_pwhistory.8.xml +++ b/modules/pam_pwhistory/pam_pwhistory.8.xml @@ -105,7 +105,9 @@ The last N passwords for each user are saved in /etc/security/opasswd. - The default is 10. + The default is 10. Value of + 0 makes the module to keep the existing + contents of the opasswd file unchanged. -- cgit v1.2.3 From 53d6722ab192193c77d187645a31949d3de65f2b Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 15 Jun 2011 20:55:30 +0200 Subject: Do not crash when remember, minlen, or rounds options are used with wrong module type. --- ChangeLog | 3 +++ modules/pam_unix/support.c | 35 ++++++++++++++++++++++++----------- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index b3c499a5..fcc56e4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,9 @@ * modules/pam_pwhistory/pam_pwhistory.8.xml: Document the special meaning of remember=0. + * modules/pam_unix/support.c (_set_ctrl): Do not crash when remember, + minlen, or rounds options are used with wrong module type. + 2011-06-14 Thorsten Kukuk * configure.in: Check for libtirpc by default. diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c index 0b8d4d64..cc350e58 100644 --- a/modules/pam_unix/support.c +++ b/modules/pam_unix/support.c @@ -83,7 +83,7 @@ int _set_ctrl(pam_handle_t *pamh, int flags, int *remember, int *rounds, } /* now parse the arguments to this module */ - while (argc-- > 0) { + for (; argc-- > 0; ++argv) { int j; D(("pam_unix arg: %s", *argv)); @@ -99,24 +99,37 @@ int _set_ctrl(pam_handle_t *pamh, int flags, int *remember, int *rounds, pam_syslog(pamh, LOG_ERR, "unrecognized option [%s]", *argv); } else { - ctrl &= unix_args[j].mask; /* for turning things off */ - ctrl |= unix_args[j].flag; /* for turning things on */ - /* special cases */ - if (remember != NULL && j == UNIX_REMEMBER_PASSWD) { + if (j == UNIX_REMEMBER_PASSWD) { + if (remember == NULL) { + pam_syslog(pamh, LOG_ERR, + "option remember not allowed for this module type"); + continue; + } *remember = strtol(*argv + 9, NULL, 10); if ((*remember == INT_MIN) || (*remember == INT_MAX)) *remember = -1; if (*remember > 400) *remember = 400; - } else if (pass_min_len && j == UNIX_MIN_PASS_LEN) { + } else if (j == UNIX_MIN_PASS_LEN) { + if (pass_min_len == NULL) { + pam_syslog(pamh, LOG_ERR, + "option minlen not allowed for this module type"); + continue; + } *pass_min_len = atoi(*argv + 7); - } - if (rounds != NULL && j == UNIX_ALGO_ROUNDS) + } else if (j == UNIX_ALGO_ROUNDS) { + if (rounds == NULL) { + pam_syslog(pamh, LOG_ERR, + "option rounds not allowed for this module type"); + continue; + } *rounds = strtol(*argv + 7, NULL, 10); - } + } - ++argv; /* step to next argument */ + ctrl &= unix_args[j].mask; /* for turning things off */ + ctrl |= unix_args[j].flag; /* for turning things on */ + } } if (UNIX_DES_CRYPT(ctrl) @@ -132,7 +145,7 @@ int _set_ctrl(pam_handle_t *pamh, int flags, int *remember, int *rounds, } /* Set default rounds for blowfish */ - if (on(UNIX_BLOWFISH_PASS, ctrl) && off(UNIX_ALGO_ROUNDS, ctrl)) { + if (on(UNIX_BLOWFISH_PASS, ctrl) && off(UNIX_ALGO_ROUNDS, ctrl) && rounds != NULL) { *rounds = 5; set(UNIX_ALGO_ROUNDS, ctrl); } -- cgit v1.2.3 From 2daaafacf771746a11849ada2166f8ac2bab1348 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 15 Jun 2011 20:58:32 +0200 Subject: Avoid memleaks and fd leak in error paths. --- ChangeLog | 4 ++++ modules/pam_timestamp/pam_timestamp.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index fcc56e4d..3ab0e9b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,10 @@ * modules/pam_unix/support.c (_set_ctrl): Do not crash when remember, minlen, or rounds options are used with wrong module type. + * modules/pam_timestamp/pam_timestamp.c (pam_sm_authenticate): Avoid + memleak in error path. + (pam_sm_open_session): Avoid memleak and fd leak in error path. + 2011-06-14 Thorsten Kukuk * configure.in: Check for libtirpc by default. diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c index 7bcf3d12..51937333 100644 --- a/modules/pam_timestamp/pam_timestamp.c +++ b/modules/pam_timestamp/pam_timestamp.c @@ -483,6 +483,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) pam_syslog(pamh, LOG_NOTICE, "timestamp file `%s' is " "corrupted", path); close(fd); + free(mac); free(message); return PAM_AUTH_ERR; } @@ -636,6 +637,8 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, int argc, const char * "error setting ownership of `%s': %m", path); } + close(fd); + free(text); return PAM_SESSION_ERR; } -- cgit v1.2.3 From 50e4a02c87e91807db381cf308fdbf993a82105c Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 15 Jun 2011 20:59:53 +0200 Subject: Initialize the fake_item from item. --- ChangeLog | 3 +++ modules/pam_access/pam_access.c | 1 + 2 files changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3ab0e9b8..017de86c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,9 @@ memleak in error path. (pam_sm_open_session): Avoid memleak and fd leak in error path. + * modules/pam_access/pam_access.c (user_match): Initialize the + fake_item from item. + 2011-06-14 Thorsten Kukuk * configure.in: Check for libtirpc by default. diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c index daee47da..0eb1e8c6 100644 --- a/modules/pam_access/pam_access.c +++ b/modules/pam_access/pam_access.c @@ -525,6 +525,7 @@ user_match (pam_handle_t *pamh, char *tok, struct login_info *item) /* split user@host pattern */ if (item->hostname == NULL) return NO; + memcpy (&fake_item, item, sizeof(fake_item)); fake_item.from = item->hostname; *at = 0; return (user_match (pamh, tok, item) && -- cgit v1.2.3 From 792d7c1b1e5b751d9738da214361e5ae826aa973 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 21 Jun 2011 11:05:31 +0200 Subject: 2011-06-21 Thorsten Kukuk * modules/pam_limits/pam_limits.c: Add set_all option, read limits from PID one if no limit is specified and set_all is set. * modules/pam_limits/pam_limits.8.xml: Document set_all option. Based on Patch by Kees Cook. --- ChangeLog | 8 ++ modules/pam_limits/pam_limits.8.xml | 15 ++++ modules/pam_limits/pam_limits.c | 162 ++++++++++++++++++++++++++++++++++-- 3 files changed, 180 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 017de86c..d69b7d3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-06-21 Thorsten Kukuk + + * modules/pam_limits/pam_limits.c: Add set_all option, + read limits from PID one if no limit is specified and set_all + is set. + * modules/pam_limits/pam_limits.8.xml: Document set_all option. + Based on Patch by Kees Cook. + 2011-06-15 Tomas Mraz * modules/pam_sepermit/pam_sepermit.c (check_running): Avoid diff --git a/modules/pam_limits/pam_limits.8.xml b/modules/pam_limits/pam_limits.8.xml index 7b944f9e..663c0e7b 100644 --- a/modules/pam_limits/pam_limits.8.xml +++ b/modules/pam_limits/pam_limits.8.xml @@ -28,6 +28,9 @@ debug + + set_all + utmp_early @@ -88,6 +91,18 @@ + + + + + + + Set the limits for which no value is specified in the + configuration file to the one from the process with the + PID 1. + + + diff --git a/modules/pam_limits/pam_limits.c b/modules/pam_limits/pam_limits.c index 88146523..c1810e07 100644 --- a/modules/pam_limits/pam_limits.c +++ b/modules/pam_limits/pam_limits.c @@ -51,9 +51,10 @@ #define LIMITS_DEF_USER 0 /* limit was set by an user entry */ #define LIMITS_DEF_GROUP 1 /* limit was set by a group entry */ #define LIMITS_DEF_ALLGROUP 2 /* limit was set by a group entry */ -#define LIMITS_DEF_ALL 3 /* limit was set by an default entry */ -#define LIMITS_DEF_DEFAULT 4 /* limit was set by an default entry */ -#define LIMITS_DEF_NONE 5 /* this limit was not set yet */ +#define LIMITS_DEF_ALL 3 /* limit was set by an all entry */ +#define LIMITS_DEF_DEFAULT 4 /* limit was set by a default entry */ +#define LIMITS_DEF_KERNEL 5 /* limit was set from /proc/1/limits */ +#define LIMITS_DEF_NONE 6 /* this limit was not set yet */ #define LIMIT_RANGE_ERR -1 /* error in specified uid/gid range */ #define LIMIT_RANGE_NONE 0 /* no range specified */ @@ -67,6 +68,7 @@ static const char *limits_def_names[] = { "ALLGROUP", "ALL", "DEFAULT", + "KERNEL", "NONE", NULL }; @@ -111,6 +113,7 @@ struct pam_limit_s { #define PAM_DEBUG_ARG 0x0001 #define PAM_UTMP_EARLY 0x0004 #define PAM_NO_AUDIT 0x0008 +#define PAM_SET_ALL 0x0010 /* Limits from globbed files. */ #define LIMITS_CONF_GLOB LIMITS_FILE_DIR @@ -136,6 +139,8 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, ctrl |= PAM_UTMP_EARLY; } else if (!strcmp(*argv,"noaudit")) { ctrl |= PAM_NO_AUDIT; + } else if (!strcmp(*argv,"set_all")) { + ctrl |= PAM_SET_ALL; } else { pam_syslog(pamh, LOG_ERR, "unknown option: %s", *argv); } @@ -292,7 +297,140 @@ check_logins (pam_handle_t *pamh, const char *name, int limit, int ctrl, return 0; } -static int init_limits(struct pam_limit_s *pl) +static const char *lnames[RLIM_NLIMITS] = { + [RLIMIT_CPU] = "Max cpu time", + [RLIMIT_FSIZE] = "Max file size", + [RLIMIT_DATA] = "Max data size", + [RLIMIT_STACK] = "Max stack size", + [RLIMIT_CORE] = "Max core file size", + [RLIMIT_RSS] = "Max resident set", + [RLIMIT_NPROC] = "Max processes", + [RLIMIT_NOFILE] = "Max open files", + [RLIMIT_MEMLOCK] = "Max locked memory", +#ifdef RLIMIT_AS + [RLIMIT_AS] = "Max address space", +#endif +#ifdef RLIMIT_LOCKS + [RLIMIT_LOCKS] = "Max file locks", +#endif +#ifdef RLIMIT_SIGPENDING + [RLIMIT_SIGPENDING] = "Max pending signals", +#endif +#ifdef RLIMIT_MSGQUEUE + [RLIMIT_MSGQUEUE] = "Max msgqueue size", +#endif +#ifdef RLIMIT_NICE + [RLIMIT_NICE] = "Max nice priority", +#endif +#ifdef RLIMIT_RTPRIO + [RLIMIT_RTPRIO] = "Max realtime priority", +#endif +#ifdef RLIMIT_RTTIME + [RLIMIT_RTTIME] = "Max realtime timeout", +#endif +}; + +static int str2rlimit(char *name) { + int i; + if (!name || *name == '\0') + return -1; + for(i = 0; i < RLIM_NLIMITS; i++) { + if (strcmp(name, lnames[i]) == 0) return i; + } + return -1; +} + +static rlim_t str2rlim_t(char *value) { + unsigned long long rlimit = 0; + + if (!value) return (rlim_t)rlimit; + if (strcmp(value, "unlimited") == 0) { + return RLIM_INFINITY; + } + rlimit = strtoull(value, NULL, 10); + return (rlim_t)rlimit; +} + +#define LIMITS_SKIP_WHITESPACE { \ + /* step backwards over spaces */ \ + pos--; \ + while (pos && line[pos] == ' ') pos--; \ + if (!pos) continue; \ + line[pos+1] = '\0'; \ +} +#define LIMITS_MARK_ITEM(item) { \ + /* step backwards over non-spaces */ \ + pos--; \ + while (pos && line[pos] != ' ') pos--; \ + if (!pos) continue; \ + item = line + pos + 1; \ +} + +static void parse_kernel_limits(pam_handle_t *pamh, struct pam_limit_s *pl, int ctrl) +{ + int i, maxlen = 0; + FILE *limitsfile; + const char *proclimits = "/proc/1/limits"; + char line[256]; + char *units, *hard, *soft, *name; + + if (!(limitsfile = fopen(proclimits, "r"))) { + pam_syslog(pamh, LOG_WARNING, "Could not read %s (%s), using PAM defaults", proclimits, strerror(errno)); + return; + } + + while (fgets(line, 256, limitsfile)) { + int pos = strlen(line); + if (pos < 2) continue; + + /* drop trailing newline */ + if (line[pos-1] == '\n') { + pos--; + line[pos] = '\0'; + } + + /* determine formatting boundry of limits report */ + if (!maxlen && strncmp(line, "Limit", 5) == 0) { + maxlen = pos; + continue; + } + + if (pos == maxlen) { + /* step backwards over "Units" name */ + LIMITS_SKIP_WHITESPACE; + LIMITS_MARK_ITEM(units); + } + else { + units = ""; + } + + /* step backwards over "Hard Limit" value */ + LIMITS_SKIP_WHITESPACE; + LIMITS_MARK_ITEM(hard); + + /* step backwards over "Soft Limit" value */ + LIMITS_SKIP_WHITESPACE; + LIMITS_MARK_ITEM(soft); + + /* step backwards over name of limit */ + LIMITS_SKIP_WHITESPACE; + name = line; + + i = str2rlimit(name); + if (i < 0 || i >= RLIM_NLIMITS) { + if (ctrl & PAM_DEBUG_ARG) + pam_syslog(pamh, LOG_DEBUG, "Unknown kernel rlimit '%s' ignored", name); + continue; + } + pl->limits[i].limit.rlim_cur = str2rlim_t(soft); + pl->limits[i].limit.rlim_max = str2rlim_t(hard); + pl->limits[i].src_soft = LIMITS_DEF_KERNEL; + pl->limits[i].src_hard = LIMITS_DEF_KERNEL; + } + fclose(limitsfile); +} + +static int init_limits(pam_handle_t *pamh, struct pam_limit_s *pl, int ctrl) { int i; int retval = PAM_SUCCESS; @@ -313,6 +451,20 @@ static int init_limits(struct pam_limit_s *pl) } } +#ifdef __linux__ + if (ctrl & PAM_SET_ALL) { + parse_kernel_limits(pamh, pl, ctrl); + + for(i = 0; i < RLIM_NLIMITS; i++) { + if (pl->limits[i].supported && + (pl->limits[i].src_soft == LIMITS_DEF_NONE || + pl->limits[i].src_hard == LIMITS_DEF_NONE)) { + pam_syslog(pamh, LOG_WARNING, "Did not find kernel RLIMIT for %s, using PAM default", rlimit2str(i)); + } + } + } +#endif + errno = 0; pl->priority = getpriority (PRIO_PROCESS, 0); if (pl->priority == -1 && errno != 0) @@ -873,7 +1025,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED, return PAM_USER_UNKNOWN; } - retval = init_limits(pl); + retval = init_limits(pamh, pl, ctrl); if (retval != PAM_SUCCESS) { pam_syslog(pamh, LOG_WARNING, "cannot initialize"); return PAM_ABORT; -- cgit v1.2.3 From 3c7aafbf3b80b70fab45e8a00de26f390b173b4d Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 21 Jun 2011 11:51:55 +0200 Subject: Bump version to 1.1.4 --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 80f9ee96..7940a94e 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT AC_CONFIG_SRCDIR([conf/pam_conv1/pam_conv_y.y]) -AM_INIT_AUTOMAKE("Linux-PAM", 1.1.3) +AM_INIT_AUTOMAKE("Linux-PAM", 1.1.4) AC_PREREQ(2.61) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) -- cgit v1.2.3 From 51485ba5d2742e935fa8d1f77babb44aec65aa6c Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 21 Jun 2011 14:02:33 +0200 Subject: 2011-06-22 Thorsten Kukuk * release version 1.1.4 * configure.in: Bump version number. * NEWS: Document changes since 1.1.3 * libpam/Makefile.am: Bump release number of shared library * po/de.po: Translate new string. --- ChangeLog | 7 ++++ NEWS | 10 +++++ libpam/Makefile.am | 2 +- po/Linux-PAM.pot | 98 +++++++++++++++++++++++++---------------------- po/ar.po | 99 +++++++++++++++++++++++++---------------------- po/as.po | 99 +++++++++++++++++++++++++---------------------- po/bn_IN.po | 99 +++++++++++++++++++++++++---------------------- po/ca.po | 99 +++++++++++++++++++++++++---------------------- po/cs.po | 99 +++++++++++++++++++++++++---------------------- po/da.po | 99 +++++++++++++++++++++++++---------------------- po/de.po | 102 ++++++++++++++++++++++++++----------------------- po/es.po | 99 +++++++++++++++++++++++++---------------------- po/fi.po | 99 +++++++++++++++++++++++++---------------------- po/fr.po | 99 +++++++++++++++++++++++++---------------------- po/gu.po | 99 +++++++++++++++++++++++++---------------------- po/he.po | 99 +++++++++++++++++++++++++---------------------- po/hi.po | 99 +++++++++++++++++++++++++---------------------- po/hu.po | 99 +++++++++++++++++++++++++---------------------- po/it.po | 99 +++++++++++++++++++++++++---------------------- po/ja.po | 99 +++++++++++++++++++++++++---------------------- po/kk.po | 99 +++++++++++++++++++++++++---------------------- po/km.po | 99 +++++++++++++++++++++++++---------------------- po/kn.po | 99 +++++++++++++++++++++++++---------------------- po/ko.po | 99 +++++++++++++++++++++++++---------------------- po/ml.po | 99 +++++++++++++++++++++++++---------------------- po/mr.po | 99 +++++++++++++++++++++++++---------------------- po/ms.po | 99 +++++++++++++++++++++++++---------------------- po/nb.po | 99 +++++++++++++++++++++++++---------------------- po/nl.po | 99 +++++++++++++++++++++++++---------------------- po/or.po | 99 +++++++++++++++++++++++++---------------------- po/pa.po | 99 +++++++++++++++++++++++++---------------------- po/pl.po | 99 +++++++++++++++++++++++++---------------------- po/pt.po | 99 +++++++++++++++++++++++++---------------------- po/pt_BR.po | 99 +++++++++++++++++++++++++---------------------- po/ru.po | 99 +++++++++++++++++++++++++---------------------- po/si.po | 99 +++++++++++++++++++++++++---------------------- po/sk.po | 99 +++++++++++++++++++++++++---------------------- po/sr.po | 99 +++++++++++++++++++++++++---------------------- po/sr@latin.po | 99 +++++++++++++++++++++++++---------------------- po/sv.po | 99 +++++++++++++++++++++++++---------------------- po/ta.po | 99 +++++++++++++++++++++++++---------------------- po/te.po | 99 +++++++++++++++++++++++++---------------------- po/tr.po | 110 +++++++++++++++++++++++++++++------------------------ po/uk.po | 99 +++++++++++++++++++++++++---------------------- po/vi.po | 101 +++++++++++++++++++++++++----------------------- po/zh_CN.po | 99 +++++++++++++++++++++++++---------------------- po/zh_TW.po | 99 +++++++++++++++++++++++++---------------------- po/zu.po | 99 +++++++++++++++++++++++++---------------------- 48 files changed, 2411 insertions(+), 2078 deletions(-) diff --git a/ChangeLog b/ChangeLog index d69b7d3f..38c3ac3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-06-22 Thorsten Kukuk + + * configure.in: Bump version number. + * NEWS: Document changes since 1.1.3 + * libpam/Makefile.am: Bump release number of shared library + * po/de.po: Translate new string. + 2011-06-21 Thorsten Kukuk * modules/pam_limits/pam_limits.c: Add set_all option, diff --git a/NEWS b/NEWS index 26fe1bd3..a80a2ab9 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,15 @@ Linux-PAM NEWS -- history of user-visible changes. +Release 1.1.4 + +* Add vietnamese translation +* pam_namepace: Add new functionality +* pam_securetty: Honour console= kernel option, add noconsole option +* pam_limits: Add %group syntax, drop change_uid option, add set_all option +* Lot of small bug fixes +* Lot of compiler warnings fixed +* Add support for libtirpc + Release 1.1.3 diff --git a/libpam/Makefile.am b/libpam/Makefile.am index f7e6c25d..417ca779 100644 --- a/libpam/Makefile.am +++ b/libpam/Makefile.am @@ -20,7 +20,7 @@ include_HEADERS = include/security/_pam_compat.h \ noinst_HEADERS = pam_prelude.h pam_private.h pam_tokens.h \ pam_modutil_private.h pam_static_modules.h -libpam_la_LDFLAGS = -no-undefined -version-info 83:0:83 +libpam_la_LDFLAGS = -no-undefined -version-info 83:1:83 libpam_la_LIBADD = @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@ if STATIC_MODULES diff --git a/po/Linux-PAM.pot b/po/Linux-PAM.pot index f4750f4f..acb38e9b 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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -58,7 +58,7 @@ msgstr "" msgid "Password change aborted." msgstr "" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "" @@ -194,54 +194,60 @@ msgstr "" msgid "Unknown PAM error" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +msgid "memory allocation error" +msgstr "" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "" @@ -262,18 +268,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "" @@ -289,12 +295,12 @@ msgid "Welcome to your new account!" msgstr "" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -303,12 +309,12 @@ msgstr[0] "" msgstr[1] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "" @@ -359,8 +365,8 @@ msgstr "" msgid "Unable to create and initialize directory '%s'." msgstr "" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "" @@ -368,43 +374,43 @@ msgstr "" msgid "Would you like to enter a security context? [N] " msgstr "" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "" @@ -424,20 +430,20 @@ msgstr "" msgid "login: failure forking: %m" msgstr "" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "" @@ -531,31 +537,31 @@ msgstr[1] "" msgid "Warning: your password will expire in %d days" msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "" diff --git a/po/ar.po b/po/ar.po index 82d05c99..300feaeb 100644 --- a/po/ar.po +++ b/po/ar.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: @PACKAGE@\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2001-07-13 15:36+0200\n" "Last-Translator: Novell Language \n" "Language-Team: Novell Language \n" @@ -59,7 +59,7 @@ msgstr "النوع: " msgid "Password change aborted." msgstr "لم يتم تغيير كلمة السر" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "تسجيل الدخول:" @@ -195,54 +195,61 @@ msgstr "يحتاج التطبيق إلى استدعاء libpam مرة أخرى" msgid "Unknown PAM error" msgstr "خطأ PAM غير معروف" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "لا يوجد اختلاف عن كلمة السر القديمة" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "خطأ في المحادثة" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "كلمة سر يمكن قراءتها من الجهتين" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "لم يتم سوى تغيير حالة الأحرف" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "كلمة السر الجديدة شديدة الشبه بكلمة السر القديمة" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "كلمة السر شديدة البساطة" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "كلمة مرور ملتفة" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "لم يتم إدخال كلمة السر" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "لم يتم تغيير كلمة السر" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "كلمة سر سيئة: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "من %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "في %.*s" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "مرحبًا بك في حسابك الجديد!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, fuzzy, c-format msgid "Last failed login:%s%s%s" msgstr "تسجيل الدخول الأخير:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgstr[0] "" msgstr[1] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "مرات تسجيل دخول كثيرة جدًا لـ '%s'." @@ -360,8 +367,8 @@ msgstr "" msgid "Unable to create and initialize directory '%s'." msgstr "" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "كلمة السر التي تم إدخالها مستخدمة بالفعل. اختر كلمة سر أخرى." @@ -370,46 +377,46 @@ msgstr "كلمة السر التي تم إدخالها مستخدمة بالفع msgid "Would you like to enter a security context? [N] " msgstr "هل ترغب في إدخال سياق أمان؟ [نعم]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 #, fuzzy msgid "role:" msgstr "الدور: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 #, fuzzy msgid "level:" msgstr "المستوى: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "لا يصلح كسياق أمان" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, fuzzy, c-format msgid "Default Security Context %s\n" msgstr "تم تخصيص سياق الأمان %s" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 #, fuzzy msgid "Would you like to enter a different role or level?" msgstr "هل ترغب في إدخال سياق أمان؟ [نعم]" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "تم تخصيص سياق الأمان %s" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, fuzzy, c-format msgid "Key Creation Context %s Assigned" msgstr "تم تخصيص سياق الأمان %s" @@ -429,20 +436,20 @@ msgstr "فشل pam_set_item()\n" msgid "login: failure forking: %m" msgstr "تسجيل الدخول: فشل تشعيب: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, fuzzy, c-format msgid "Changing STRESS password for %s." msgstr "تغيير كلمة سر STRESS لـ" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "أدخل كلمة سر STRESS الجديدة: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "أعد كتابة كلمة سر STRESS الجديدة: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "إعادة كتابة كلمة السر غير صحيحة؛ كلمة السر لم تتغير" @@ -538,32 +545,32 @@ msgstr[1] "تحذير: سوف تنتهي مدة صلاحية كلمة السر msgid "Warning: your password will expire in %d days" msgstr "تحذير: سوف تنتهي مدة صلاحية كلمة السر الخاصة بك خلال %d يوم%.2s" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "تعذر تغيير كلمة السر الخاصة بـ NIS." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "يجب اختيار كلمة سر أطول" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, fuzzy, c-format msgid "Changing password for %s." msgstr "تغيير كلمة سر STRESS لـ" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "كلمة سر UNIX (الحالية): " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "يجب الانتظار فترة أطول لتغيير كلمة السر" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "أدخل كلمة سر UNIX الجديدة: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "أعد كتابة كلمة سر UNIX الجديدة: " diff --git a/po/as.po b/po/as.po index 234529e8..6e3289b7 100644 --- a/po/as.po +++ b/po/as.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-09 19:25+0530\n" "Last-Translator: Amitakhya Phukan \n" "Language-Team: Assamese \n" @@ -59,7 +59,7 @@ msgstr "%s পুনঃ লিখক" msgid "Password change aborted." msgstr "গুপ্ত শব্দ সলনি কৰা বাতিল কৰা হ'ল ।" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "প্ৰৱেশ:" @@ -195,54 +195,61 @@ msgstr "অনুপ্ৰয়োগে আকৌ libpam ক মাতিব ল msgid "Unknown PAM error" msgstr "অজ্ঞাত PAM ভুল" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "পুৰণিটোৰ সৈতে একেই" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "সম্বাদৰ ভুল" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "এটা অনুলোম‌-বিলোম বাক্য" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "অকল কেচ সলনি কৰা" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "পৰণিটোৰ সৈতে বহুত একেই" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "বৰ সৰল" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "পকোৱা হৈছে" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "পৰ্যাপ্ত character classes নাই" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "এটাৰ পিছত এটা বহুতো একেই আখৰ আছে" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "কিবা ধৰনত ব্যৱহাৰকৰ্তাৰ নাম আছে" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "কোনো গুপ্তশব্দ দিয়া হোৱা নাই" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "গুপ্ত শব্দ অপৰিবৰ্ত্তিত" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "বেয়া গুপ্তশব্দ: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s বিফল: অজ্ঞাত অৱস্থা 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s ৰ পৰা" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s ত" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "আপোনাৰ নতুন হিচাপলৈ স্বাগতম!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "শেহতীয়া প্ৰৱেশ বিফল:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgstr[0] "শেহতীয়া সফল প্ৰৱেশৰ পিছত %d msgstr[1] "শেহতীয়া সফল প্ৰৱেশৰ পিছত %d বিফল হোৱা প্ৰৱেশৰ চেষ্টা চলোৱা হৈছিল ।" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "শেহতীয়া সফল প্ৰৱেশৰ পিছত %d বিফল হোৱা প্ৰৱেশৰ চেষ্টা চলোৱা হৈছিল ।" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' ৰ বাবে বহুতো প্ৰৱেশ ।" @@ -360,8 +367,8 @@ msgstr "'%s' পঞ্জিকা সৃষ্টি কৰা হৈছে । msgid "Unable to create and initialize directory '%s'." msgstr "%s পঞ্জিকা সৃষ্টি আৰু আৰম্ভ কৰিব পৰা নাই ।" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "গুপ্তশব্দ ইতিমধ্যে ব্যৱহৃত । অন্য এটা বাচি লওক ।" @@ -369,43 +376,43 @@ msgstr "গুপ্তশব্দ ইতিমধ্যে ব্যৱহৃ msgid "Would you like to enter a security context? [N] " msgstr "সুৰক্ষাৰ সন্দৰ্ভ নিবেশ কৰিব খোজে নেকি ? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ভূমিকা: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "স্তৰ: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "এটা বৈধ সুৰক্ষাৰ সন্দৰ্ভ নহয়" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "অবিকল্পিত সুৰক্ষাৰ সন্দৰ্ভ %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "বেলেগ এটা সুৰক্ষাৰ ভূমিকা বা স্তৰ নিবেশ কৰিব খোজে নেকি ?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "%s ভূমিকা বাবে অবিকল্পিত ধৰণ নাই\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s ৰ বাবে বৈধ সন্দৰ্ভ পোৱা ন'গ'ল" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "সুৰক্ষাৰ সন্দৰ্ভ %s নিযুক্ত কৰা হ'ল" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "চাবি নিৰ্মাণৰ সন্দৰ্ভ %s নিযুক্ত কৰা হ'ল" @@ -425,20 +432,20 @@ msgstr "pam_set_item() কৰোঁতে বিফল\n" msgid "login: failure forking: %m" msgstr "প্ৰৱেশ: forking ত বিফল: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s ৰ বাবে STRESS গুপ্তশব্দ সলনি কৰা হৈছে ।" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "নতুন STRESS গুপ্তশব্দ দিয়ক:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "নতুন STRESS গুপ্তশব্দ পুনঃ লিখক: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "সত্যৰ প্ৰতিপাদন ভুলকৈ লিখা গ'ল;গুপ্তশব্দ অপৰিবৰ্ত্তিত" @@ -536,32 +543,32 @@ msgstr[1] "সকীয়নী: আপোনাৰ গুপ্তশব্দ %d msgid "Warning: your password will expire in %d days" msgstr "সকীয়নী: আপোনাৰ গুপ্তশব্দ %d দিনত অন্ত হ'ব" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS গুপ্তশব্দ সলনি কৰিব পৰা নহয় ।" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "আপুনি ইয়াতকৈ এটা দীঘল গুপ্তশব্দ নিৰ্ব্বাচন কৰিব লাগিব" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s ৰ বাবে গুপ্তশব্দ সলনি কৰা হৈছে ।" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(বৰ্ত্তমানৰ) UNIX গুপ্তশব্দ: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "আপোনাৰ গুপ্তশব্দ সলনি কৰিবলৈ আপুনি আৰু কিছু পৰ অপেক্ষা কৰিব লাগিব" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "নতুন UNIX গুপ্তশব্দ দিয়ক: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "নতুন UNIX গুপ্তশব্দ পুনঃ লিখক: " diff --git a/po/bn_IN.po b/po/bn_IN.po index f1879ec1..3094ac8d 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-08 18:30+0530\n" "Last-Translator: Runa Bhattacharjee \n" "Language-Team: Bengali INDIA \n" @@ -59,7 +59,7 @@ msgstr "%s পুনরায় লিখুন" msgid "Password change aborted." msgstr "পাসওয়ার্ড পরিবর্তনের কর্ম পরিত্যাগ করা হয়েছে।" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "লগ-ইন:" @@ -195,54 +195,61 @@ msgstr "অ্যাপ্লিকেশন দ্বারা পুনরা msgid "Unknown PAM error" msgstr "PAM সংক্রান্ত অজানা ত্রুটি" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "পুরোনোটির অনুরূপ" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Conversation অর্থাৎ তথ্য বিনিময়কালীন সমস্যা" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "উভমুখী শব্দ" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "শুধুমাত্র হরফের ছাঁদ পরিবর্তন করা হয়েছে" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "পুরোনো পাসওয়ার্ডের সমতূল্য" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "জটিল নয়" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "ঘোরানো হয়েছে" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "পর্যাপ্ত অক্ষর শ্রেণী উপস্থিত নেই" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "একই অক্ষর অত্যাধিক বার ক্রমাগত ব্যবহার করা হয়েছে" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "কোনো রূপে ব্যবহারকারী নাম অন্তর্ভুক্ত হয়েছে" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "কোনো পাসওয়ার্ড উল্লিখিত হয়নি" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "পাসওয়ার্ড পরিবর্তন করা হয়নি" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "পাসওয়ার্ড ভাল নয়: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s বিফল: অজানা অবস্থা 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s থেকে" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s -র উপর" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "নতুন অ্যাকাউন্টে স্বাগতম!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "সর্বশেষ বিফল লগ-ইন:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgstr[0] "সর্বশেষ সফল লগ-ইনের পরে %d-ট msgstr[1] "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "সর্বশেষ সফল লগ-ইনের পরে %d-টি ব্যর্থ লগ-ইনের প্রচেষ্টা করা হয়েছে।" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'-র ক্ষেত্রে অত্যাধিক লগ-ইন" @@ -360,8 +367,8 @@ msgstr "'%s' ডিরেক্টরি নির্মাণ করা হচ msgid "Unable to create and initialize directory '%s'." msgstr "ডিরেক্টরি '%s' নির্মাণ ও আরম্ভ করতে ব্যর্থ।" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "পাসওয়ার্ড পূর্বে ব্যবহৃত হয়েছে। একটি পৃথক পাসওয়ার্ড নির্বাচন করুন।" @@ -369,43 +376,43 @@ msgstr "পাসওয়ার্ড পূর্বে ব্যবহৃত হ msgid "Would you like to enter a security context? [N] " msgstr "নিরাপত্তা সংক্রান্ত context উল্লেখ করতে ইচ্ছুক কি? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "role: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "level: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "বৈধ নিরাপত্তা সংক্রান্ত context নয়" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "ডিফল্ট Security Context %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "ভিন্ন role অথবা level লিখতে ইচ্ছুক কি?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "role %s-র জন্য কোনো ডিফল্ট type উপস্থিত নেই\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s-র বৈধ context প্রাপ্ত করতে ব্যর্থ" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Security Context %s ধার্য করা হয়েছে" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "কি নির্মাণের Context %s ধার্য করা হয়েছে" @@ -425,20 +432,20 @@ msgstr "pam_set_item() করতে ব্যর্থ\n" msgid "login: failure forking: %m" msgstr "লগ-ইন: fork করতে ব্যর্থ: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s-র STRESS পাসওয়ার্ড পরিবর্তন করা হচ্ছে।" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "নতুন STRESS পাসওয়ার্ড লিখুন: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "নতুন STRESS পাসওয়ার্ড পুনরায় লিখুন: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "নিশ্চায়ন কাল ভুল টাইপ করা হয়েছে; পাসওয়ার্ড পরিবর্তন করা হয়নি" @@ -538,31 +545,31 @@ msgstr[1] "সতর্কবাণী: %d দিন পরে পাসওয় msgid "Warning: your password will expire in %d days" msgstr "সতর্কবাণী: %d দিন পরে পাসওয়ার্ডের মেয়াদপূর্ণ হবে" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS পাসওয়ার্ড পরিবর্তন করা সম্ভব হয়নি।" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "চিহ্নিত পাসওয়ার্ডের থেকে লম্বা পাসওয়ার্ড উল্লেখ করা আবশ্যক" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s-র পাসওয়ার্ড পরিবর্তন করা হচ্ছে।" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(বর্তমান) UNIX পাসওয়ার্ড: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "কিছু কাল পরে পাসওয়ার্ড পরিবর্তন করা সম্ভব হবে" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "নতুন UNIX পাসওয়ার্ড উল্লেখ করুন: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "নতুন UNIX পাসওয়ার্ড পুনরায় লিখুন: " diff --git a/po/ca.po b/po/ca.po index ef3a89a5..112130fa 100644 --- a/po/ca.po +++ b/po/ca.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-05-18 16:10+0200\n" "Last-Translator: Albert Carabasa Giribet \n" "Language-Team: Catalan \n" @@ -71,7 +71,7 @@ msgstr "Torneu a escriure %s" msgid "Password change aborted." msgstr "No s'ha canviat la contrasenya." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "entrada:" @@ -208,54 +208,61 @@ msgstr "L'aplicació necessita cridar novament libpam" msgid "Unknown PAM error" msgstr "Error de PAM desconegut" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "és la mateixa que l'antiga" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Error de conversa" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "és un palíndrom" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "només canvien les majúscules i minúscules" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "és massa semblant a l'antiga" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "és massa senzilla" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "està girada" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "no hi ha suficients classes de caràcters" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "conté massa caràcters idèntics consecutius" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "conté el nom d'usuari d'alguna forma" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "No s'ha proporcionat cap contrasenya" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "No s'ha canviat la contrasenya" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "CONTRASENYA INCORRECTA: %s" @@ -276,18 +283,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s ha fallat: estat 0x%x desconegut" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " des de %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " a %.*s" @@ -303,12 +310,12 @@ msgid "Welcome to your new account!" msgstr "Benvingut al vostre nou compte!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Darrera entrada fallida:%s des de %s a %s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -317,12 +324,12 @@ msgstr[0] "S'ha intentat entrar %d cop des de l'última entrada correcta." msgstr[1] "S'ha intentat entrar %d cops des de l'última entrada correcta." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "S'ha intentat entrar %d cops des de l'última entrada correcta." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Massa entrades per a '%s'." @@ -374,8 +381,8 @@ msgstr "Creant el directori '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "No s'ha pogut crear i inicialitzar el directori '%s'." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Aquesta contrasenya ja s'ha fet servir. Trieu-ne una altra." @@ -383,43 +390,43 @@ msgstr "Aquesta contrasenya ja s'ha fet servir. Trieu-ne una altra." msgid "Would you like to enter a security context? [N] " msgstr "Voleu introduïr un context de seguretat? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rol:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "nivell:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "No és un context de seguretat vàlid" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Context de seguretat per defecte %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Voleu introduir un rol o nivell diferent?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "El rol %s no disposa de cap tipus per defecte\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "No s'ha pogut obtenir el context vàlid per a %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Context de seguretat %s assignat" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Context de creació de claus %s assignat" @@ -439,20 +446,20 @@ msgstr "s'ha produït un error en pam_set_item()\n" msgid "login: failure forking: %m" msgstr "entrada: ha fallat la bifurcació: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "S'està canviant la contrasenya d'STRESS per a %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Introduïu la nova contrasenya d'STRESS: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Torneu a escriure la nova contrasenya d'STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "" "Error d'escriptura durant la verificació; no s'ha canviat la contrasenya" @@ -554,32 +561,32 @@ msgstr[1] "Atenció: la contrasenya venç d'aquí a %d dies" msgid "Warning: your password will expire in %d days" msgstr "Atenció: la contrasenya venç d'aquí a %d dies" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "No s'ha pogut canviar la contrasenya NIS." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Heu de triar una contrasenya més llarga" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "S'està canviant la contrasenya de %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "contrasenya (actual) d'UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Heu d'esperar més temps abans de canviar la contrasenya" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Introduïu la nova contrasenya d'UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Torneu a escriure la nova contrasenya d'UNIX: " diff --git a/po/cs.po b/po/cs.po index 81d519db..16011c59 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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-03-24 15:22+0100\n" "Last-Translator: Tomas Mraz \n" "Language-Team: cs_CZ \n" @@ -58,7 +58,7 @@ msgstr "Opakujte %s" msgid "Password change aborted." msgstr "Změna hesla přerušena." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "login:" @@ -194,54 +194,61 @@ msgstr "Aplikace musí znovu zavolat libpam" msgid "Unknown PAM error" msgstr "Neznámá chyba PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "je stejné jako předcházející" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Chyba konverzace" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "je palindrom" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "pouze mění velikost" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "je příliš podobné předcházejícímu" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "je příliš jednoduché" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "je posunuté" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "nemá dostatek různých druhů znaků" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "obsahuje příliš mnoho stejných znaků za sebou" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "obsahuje v nějaké formě uživatelské jméno" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Nezadáno heslo" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Heslo nebylo změněno" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ŠPATNÉ HESLO: %s" @@ -262,18 +269,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s selhal: neznámý kód stavu 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %d.%m.%Y %H:%M:%S %Z" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " z %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " na %.*s" @@ -289,12 +296,12 @@ msgid "Welcome to your new account!" msgstr "Vítejte na vašem novém účtu!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Poslední neúspěšné přihlášení:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgstr[1] "Od posledního úspěšného došlo k %d neúspěšným pokusům o p msgstr[2] "Od posledního úspěšného došlo k %d neúspěšným pokusům o přihlášení." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Od posledního úspěšného došlo k %d neúspěšným pokusům o přihlášení." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Příliš mnoho přihlášení pro '%s'." @@ -360,8 +367,8 @@ msgstr "Vytváření adresáře '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "Nezdařilo se vytvořit a inicializovat adresář '%s'." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Heslo již bylo použito. Zvolte jiné." @@ -369,43 +376,43 @@ msgstr "Heslo již bylo použito. Zvolte jiné." msgid "Would you like to enter a security context? [N] " msgstr "Chcete zadat bezpečnostní kontext? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "role:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "úroveň:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Neplatný bezpečnostní kontext" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Výchozí bezpečnostní kontext %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Chcete zadat jinou roli nebo úroveň?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Chybí výchozí typ pro roli %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Nezdařilo se najít platný bezpečnostní kontext pro %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Bezpečnostní kontext %s přidělen" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Bezpečnostní kontext pro vytváření klíčů %s přidělen" @@ -425,20 +432,20 @@ msgstr "chyba pam_set_item()\n" msgid "login: failure forking: %m" msgstr "login: chyba forku: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Změna STRESS hesla pro %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Zadejte nové STRESS heslo: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Opakujte nové STRESS heslo: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Chybné potvrzení. Heslo nezměněno" @@ -538,31 +545,31 @@ msgstr[2] "Varování: Vaše heslo vyprší za %d dní" msgid "Warning: your password will expire in %d days" msgstr "Varování: Počet dní do vypršení hesla: %d" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS heslo se nepodařilo změnit." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Musíte zvolit delší heslo" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Změna hesla pro %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(současné) UNIX heslo: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Na změnu svého hesla musíte počkat déle" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Zadejte nové UNIX heslo: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Opakujte nové UNIX heslo: " diff --git a/po/da.po b/po/da.po index 972f9ae9..ee9df931 100644 --- a/po/da.po +++ b/po/da.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-10-04 18:01+0200\n" "Last-Translator: Kris Thomsen \n" "Language-Team: Danish \n" @@ -58,7 +58,7 @@ msgstr "Genindtast %s" msgid "Password change aborted." msgstr "Ændring af adgangskode afbrudt." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "logind:" @@ -194,54 +194,61 @@ msgstr "Programmet skal kalde libpam igen" msgid "Unknown PAM error" msgstr "Ukendt PAM-fejl" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "er den samme som den gamle" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Konversationsfejl" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "det staves ens forfra og bagfra" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "kun forskel i store/små bogstaver" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ligner for meget den gamle" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "er for simpel" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "er roteret" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "ikke nok tegnklasser" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "indeholder for mange af de samme tegn" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "indeholder brugernavnet i en eller anden form" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Ingen adgangskode angivet" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Adgangskoden er uændret" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "DÅRLIG ADGANGSKODE: %s" @@ -262,18 +269,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s fejlede: ukendt status 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " fra %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " på %.*s" @@ -289,12 +296,12 @@ msgid "Welcome to your new account!" msgstr "Velkommen til din nye konto!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Sidste fejlende logind:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -303,12 +310,12 @@ msgstr[0] "Der var %d fejlende logindforsøg siden sidste succesfulde logind." msgstr[1] "Der var %d fejlende logindforsøg siden sidste succesfulde logind." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Der var %d fejlende logindforsøg siden sidste succesfulde logind." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Der er for mange logind til \"%s\"." @@ -359,8 +366,8 @@ msgstr "Opretter mappe \"%s\"." msgid "Unable to create and initialize directory '%s'." msgstr "Kunne ikke oprette og initialisere mappe \"%s\"." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Adgangskoden er allerede blevet brugt. Vælg en anden." @@ -369,44 +376,44 @@ msgstr "Adgangskoden er allerede blevet brugt. Vælg en anden." msgid "Would you like to enter a security context? [N] " msgstr "Vil du angive en sikkerhedskontekst? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rolle:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "niveau:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Ikke en gyldig sikkerhedskontekst" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Standard sikkerhedskontekst %s\n" # power-off message -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Vil du angive en anden rolle eller niveau?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Ingen standard type for rolle %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Kunne ikke hente gyldig kontekst for %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Sikkerhedskontekst %s tildelt" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Nøgleoprettelseskontekst %s tildelt" @@ -426,20 +433,20 @@ msgstr "pam_set_item() mislykkedes\n" msgid "login: failure forking: %m" msgstr "logind: fejl ved forgrening: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Ændrer STRESS-adgangskode for %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Indtast ny STRESS-adgangskode: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Genindtast ny STRESS-adgangskode: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Bekræftelsen blev angivet forkert; adgangskode forbliver uændret" @@ -537,32 +544,32 @@ msgstr[1] "Advarsel: Din adgangskode udløber om %d dage" msgid "Warning: your password will expire in %d days" msgstr "Advarsel: din adgangskode udløber om %d dage" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS-adgangskoden kunne ikke ændres." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Du skal vælge en længere adgangskode" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Ændrer adgangskode for %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(nuværende) UNIX-adgangskode: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Du skal vente lidt længere for at ændre din adgangskode" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Indtast ny UNIX-adgangskode: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Genindtast ny UNIX-adgangskode: " diff --git a/po/de.po b/po/de.po index 2d8a2945..91569b6c 100644 --- a/po/de.po +++ b/po/de.po @@ -1,5 +1,5 @@ # German translation of pam -# Copyright (C) 2005 Linux-PAM Project +# Copyright (C) 2005, 2011 Linux-PAM Project # This file is distributed under the same license as the pam package. # # Fabian Affolter , 2008-2009. @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" -"PO-Revision-Date: 2009-04-17 11:53+0100\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" +"PO-Revision-Date: 2011-06-21 13:27+02:00\n" "Last-Translator: Fabian Affolter \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -59,7 +59,7 @@ msgstr "Neu eingeben %s" msgid "Password change aborted." msgstr "Passwort Änderung wurde abgebrochen." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "Login:" @@ -199,54 +199,60 @@ msgstr "Anwendung muss libpam wieder aufrufen" msgid "Unknown PAM error" msgstr "Unbekannter PAM-Fehler" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ist das gleiche wie das Alte" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +msgid "memory allocation error" +msgstr "Fehler beim Allozieren von Speicher" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "ist ein Palindrome" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "nur Änderungen bei der Gross-/Kleinschreibung" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ist dem alten zu ähnlich" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "ist zu einfach" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "wurde gedreht" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "nicht genug unterschiedliche Arten von Zeichen" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "das gleiche Zeichen wurde so oft hintereinander verwendet" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "enthält den Benutzernamen in irgendeiner Form" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Kein Passwort angegeben" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Passwort nicht geändert" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "Schlechtes Passwort: %s" @@ -267,18 +273,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s schlug fehl: Unbekannter Status 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %A, den %d. %B %Y, %H:%M:%S %Z" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " von %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " auf %.*s" @@ -294,12 +300,12 @@ msgid "Welcome to your new account!" msgstr "Willkommen in Ihrem neuen Konto!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Letzte fehlgeschlagene Anmeldung:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -310,13 +316,13 @@ msgstr[1] "" "Es gab %d fehlgeschlagene Versuche seit der letzten erfolgreichen Anmeldung." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Es gab %d fehlgeschlagene Versuche seit der letzten erfolgreichen Anmeldung." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Zu viele Anmeldungen für '%s'." @@ -367,8 +373,8 @@ msgstr "Erstelle Verzeichnis '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "Verzeichnis %s kann nicht erstellt und initialisiert werden: %m" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Passwort wurde bereits verwendet. Wählen Sie ein anderes aus." @@ -376,43 +382,43 @@ msgstr "Passwort wurde bereits verwendet. Wählen Sie ein anderes aus." msgid "Would you like to enter a security context? [N] " msgstr "Möchten Sie einen Sicherheitskontext eingeben? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "Funktion:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "Stufe:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Kein gültiger Sicherheitskontext" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Standard-Sicherheitskontext %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Wollen Sie eine andere Rolle oder Stufe eingeben?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Keinen Standard-Typ für Rolle %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Unfähig einen gültigen Kontext zu erhalten für %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Sicherheitskontext %s zugewiesen" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Schlüssel-Erzeugungskontext %s zugeordnet" @@ -432,20 +438,20 @@ msgstr "Fehler bei pam_set_item()\n" msgid "login: failure forking: %m" msgstr "Anmeldung: Fehler bei Abspaltung: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Ändern des STRESS-Passworts für %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Geben Sie ein neues STRESS-Passwort ein: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Geben Sie das neue STRESS-Passwort erneut ein: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Bestätigungspasswort falsch eingegeben; Passwort nicht geändert" @@ -544,32 +550,32 @@ msgstr[1] "Warnung: Ihr Passwort läuft in %d Tagen ab." msgid "Warning: your password will expire in %d days" msgstr "Warnung: Ihr Passwort läuft in %d Tagen ab." -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Änderung des NIS-Passworts nicht möglich." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Sie müssen ein längeres Passwort auswählen." -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Ändern des Passworts für %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(aktuelles) UNIX-Passwort: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Sie können Ihr Passwort noch nicht ändern" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Geben Sie ein neues UNIX-Passwort ein: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Geben Sie das neue UNIX-Passwort erneut ein: " diff --git a/po/es.po b/po/es.po index a9f8f0a3..ea9d8f0b 100644 --- a/po/es.po +++ b/po/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.tip.es\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-03-18 22:51-0300\n" "Last-Translator: Domingo Becker \n" "Language-Team: Fedora Spanish \n" @@ -62,7 +62,7 @@ msgstr "Reingrese %s" msgid "Password change aborted." msgstr "La contraseña no ha cambiado." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "inicio de sesión:" @@ -201,54 +201,61 @@ 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:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "es igual que la antigua" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Error de conversación" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "es un palíndromo" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "sólo hay cambios de minúsculas y mayúsculas" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "es demasiado similar a la antigua" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "es demasiado sencilla" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "es igual pero al revés" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "no hay suficientes clases de caracteres" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "contiene demasiados carateres iguales consecutivos" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "de alguna manera contiene el nombre del usuario" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "No se ha proporcionado ninguna contraseña" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "La contraseña no ha cambiado" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "CONTRASEÑA INCORRECTA: %s" @@ -269,18 +276,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s fallido: estado desconocido 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "de %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "en %.*s" @@ -296,12 +303,12 @@ msgid "Welcome to your new account!" msgstr "¡Bienvenido a su nueva cuenta!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Último inicio de sesión fallido:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -311,12 +318,12 @@ msgstr[1] "" "Hubo %d intentos de logueo fallidos desde el último logueo exitoso. " #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Hubo %d intentos de logueo fallidos desde el último logueo exitoso. " -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Hay demasiados inicios de sesión para \"%s\"." @@ -367,8 +374,8 @@ msgstr "Creando directorio '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "No se pudo crear e inicializar el directorio '%s'." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "La contraseña ya se ha utilizado. Seleccione otra." @@ -376,43 +383,43 @@ msgstr "La contraseña ya se ha utilizado. Seleccione otra." msgid "Would you like to enter a security context? [N] " msgstr "¿Desea introducir un contexto de seguridad? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "función:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "nivel:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "No es un contexto de seguridad válido" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Contexto de Seguridad Predeterminado %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "¿Desea introducir un nivel o función diferente?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "No hay tipo por defecto para la función %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Imposible obtener un contexto válido para %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Contexto de seguridad %s asignado" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Contexto de Creación Clave %s Asignado" @@ -432,20 +439,20 @@ msgstr "error en pam_set_item()\n" msgid "login: failure forking: %m" msgstr "inicio de sesión: error en horquilla: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Cambiando la contraseña STRESS para %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Introduzca la nueva contraseña STRESS: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Vuelva a escribir la nueva contraseña STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Error al escribir la verificación; la contraseña no ha cambiado" @@ -548,32 +555,32 @@ msgstr[1] "Advertencia: la contraseña caducará dentro de %d días" msgid "Warning: your password will expire in %d days" msgstr "Advertencia: la contraseña caducará dentro de %d días" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "No es posible cambiar la contraseña NIS." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Debe elegir una contraseña más larga" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Cambiando la contraseña de %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(actual) contraseña de UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Debe esperar más tiempo para cambiar la contraseña" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Introduzca la nueva contraseña de UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Vuelva a escribir la nueva contraseña de UNIX: " diff --git a/po/fi.po b/po/fi.po index 58da4b90..446b4e46 100644 --- a/po/fi.po +++ b/po/fi.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2006-05-04 08:30+0200\n" "Last-Translator: Jyri Palokangas \n" "Language-Team: \n" @@ -61,7 +61,7 @@ msgstr "tyyppi: " msgid "Password change aborted." msgstr "Salasanaa ei vaihdettu" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "kirjautuminen:" @@ -197,54 +197,61 @@ msgstr "Sovelluksen tarvitsee kutsua uudelleen libpam:ia" msgid "Unknown PAM error" msgstr "Tuntematon PAM-virhe" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "on sama kuin vanha" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Keskusteluvirhe" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "on palindromi" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "vain kirjainkoko muutos" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "on liian samankaltainen vanhan kanssa" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "on liian yksinkertainen" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "on kierrätetty" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Et antanut salasanaa" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Salasanaa ei vaihdettu" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "HUONO SALASANA: %s" @@ -265,18 +272,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " koneelta %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " päätteellä %.*s" @@ -292,12 +299,12 @@ msgid "Welcome to your new account!" msgstr "Tervetuloa uudella käyttäjätilillä!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, fuzzy, c-format msgid "Last failed login:%s%s%s" msgstr "Viimeinen kirjautuminen:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -306,12 +313,12 @@ msgstr[0] "" msgstr[1] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Liian monta kirjautumista '%s'." @@ -362,8 +369,8 @@ msgstr "" msgid "Unable to create and initialize directory '%s'." msgstr "" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Salasana on jo käytetty. Valitse toinen." @@ -372,46 +379,46 @@ msgstr "Salasana on jo käytetty. Valitse toinen." msgid "Would you like to enter a security context? [N] " msgstr "Haluatko valita tietoturvaympäristön? [y] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 #, fuzzy msgid "role:" msgstr "rooli: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 #, fuzzy msgid "level:" msgstr "taso: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Ei kelvollinen tietoturvaympäristö" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, fuzzy, c-format msgid "Default Security Context %s\n" msgstr "Tietoturvaympäristö %s asetettiin" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 #, fuzzy msgid "Would you like to enter a different role or level?" msgstr "Haluatko valita tietoturvaympäristön? [y] " -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Tietoturvaympäristö %s asetettiin" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, fuzzy, c-format msgid "Key Creation Context %s Assigned" msgstr "Tietoturvaympäristö %s asetettiin" @@ -431,20 +438,20 @@ msgstr "pam_set_item() kutsu epäonnistui\n" msgid "login: failure forking: %m" msgstr "sisäänkirjautuminen: virhe haarautumisessa: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, fuzzy, c-format msgid "Changing STRESS password for %s." msgstr "Vaihdetaan STRESS-salasana " -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Anna uusi STRESS-salasana: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Anna uusi STRESS-salasana uudelleen: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Salasanat eivät ole samat; salasanaa ei vaihdettu" @@ -542,32 +549,32 @@ msgstr[1] "Varoitus: salasanasi vanhenee %d päivässä%.2s" msgid "Warning: your password will expire in %d days" msgstr "Varoitus: salasanasi vanhenee %d päivässä%.2s" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS-salasanaa ei voitu vaihtaa." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Salasanan tulee olla pidempi" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, fuzzy, c-format msgid "Changing password for %s." msgstr "Vaihdetaan STRESS-salasana " -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(nykyinen) UNIX salasana: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Sinun täytyy odottaa kauemmin vaihtaaksesi salasanan" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Anna uusi UNIX-salasana: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Anna uusi UNIX-salasana uudelleen: " diff --git a/po/fr.po b/po/fr.po index 1ddbaa9a..d2ad9147 100644 --- a/po/fr.po +++ b/po/fr.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.fr2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-15 23:00+0200\n" "Last-Translator: Charles-Antoine Couret \n" "Language-Team: French \n" @@ -61,7 +61,7 @@ msgstr "Retapez %s" msgid "Password change aborted." msgstr "Changement du mot de passe avorté." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "login : " @@ -206,54 +206,61 @@ msgstr "L'application doit appeler à nouveau libpam" msgid "Unknown PAM error" msgstr "Erreur PAM inconnue" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "est identique à l'ancien" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Erreur de conversation" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "est un palindrome" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "changement de casse uniquement" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ressemble trop à l'ancien" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "est trop simple" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "est inversé" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "les caractères utilisés ne sont pas suffisamment variés" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "contient trop de caractères consécutifs identiques" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 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:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Aucun mot de passe fourni" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Mot de passe inchangé" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "MOT DE PASSE INCORRECT : %s" @@ -274,18 +281,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s échec : statut 0x inconnu%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %A %e %B %Y à %H:%M:%S %Z" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " de %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " sur %.*s" @@ -301,12 +308,12 @@ msgid "Welcome to your new account!" msgstr "Bienvenue sur votre nouveau compte !" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Dernière connexion échoué : %s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -319,14 +326,14 @@ msgstr[1] "" "réussie." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Il y a eu %d tentatives de connexion échouées depuis la dernière connexion " "réussie." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Trop de connexions pour « %s »." @@ -377,8 +384,8 @@ msgstr "Création du répertoire « %s »." msgid "Unable to create and initialize directory '%s'." msgstr "Impossible de créer et d'initialiser le répertoire « %s »." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Mot de passe déjà utilisé. Choisissez-en un autre." @@ -386,43 +393,43 @@ msgstr "Mot de passe déjà utilisé. Choisissez-en un autre." msgid "Would you like to enter a security context? [N] " msgstr "Voulez-vous entrer un contexte de sécurité ? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rôle :" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "niveau :" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Contexte de sécurité invalide" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Contexte de sécurité par défaut %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Voulez-vous entrer un niveau ou un rôle différent ?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Aucun type par défaut pour le rôle %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Impossible d'obtenir un contexte valide pour %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Contexte de sécurité %s attribué" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Contexte de création de clés %s attribué" @@ -442,20 +449,20 @@ msgstr "échec de pam_set_item()\n" msgid "login: failure forking: %m" msgstr "login : échec d'autoclônage : %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Changement du mot de passe STRESS pour %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Entrer le nouveau mot de passe STRESS : " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Retaper le nouveau mot de passe STRESS : " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Vérification erronée : mot de passe inchangé" @@ -554,32 +561,32 @@ msgstr[1] "Avertissement : votre mot de passe expire dans %d jours" msgid "Warning: your password will expire in %d days" msgstr "Avertissement : votre mot de passe expire dans %d jours" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Le mot de passe NIS n'a pas pu être changé." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Vous devez choisir un mot de passe plus long" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Changement du mot de passe pour %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "Mot de passe UNIX (actuel) : " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Vous devez encore attendre avant de changer votre mot de passe" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Entrez le nouveau mot de passe UNIX : " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Retapez le nouveau mot de passe UNIX : " diff --git a/po/gu.po b/po/gu.po index d9382506..5fd18706 100644 --- a/po/gu.po +++ b/po/gu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.default.gu\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2010-08-02 18:15+0530\n" "Last-Translator: Sweta Kothari \n" "Language-Team: Gujarati\n" @@ -61,7 +61,7 @@ msgstr "%s ને પુન:ટાઇપ કરો" msgid "Password change aborted." msgstr "પાસવર્ડ બદલાવનો અંત આવેલ છે." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "પ્રવેશ:" @@ -197,54 +197,61 @@ msgstr "કાર્યક્રમને libpam ફરીથી બોલાવ msgid "Unknown PAM error" msgstr "અજ્ઞાત PAM ભૂલ" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "એ જૂના જેવો જ છે" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "વાર્તાલાપ ભૂલ" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "એ પેલીન્ડ્રોમ છે" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "કેસ ફેરફાર માત્ર" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "એ જૂના સાથે એકદમ સરખો છે" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "એ ખૂબ સાદો છે" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "એ ફેરવાયેલ છે" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "પૂરતા અક્ષર વર્ગો નથી" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "એકપછી એક ઘણા બધા સરખા અક્ષરોને સમાવે છે" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "અમુક ફોર્મમાં વપરાશકર્તા નામ ને સમાવે છે" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "કોઈ પાસવર્ડ પૂરો પડાયેલ નથી" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "પાસવર્ડ બદલાયેલ નથી" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ખરાબ પાસવર્ડ: %s" @@ -265,18 +272,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s નિષ્ફળ: અજ્ઞાત પરિસ્થિતિ 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s તરફથી" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s પર" @@ -292,12 +299,12 @@ msgid "Welcome to your new account!" msgstr "તમારા નવા ખાતામાં તમારું સ્વાગત છે!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "છેલ્લો નિષ્ફળ થયેલ પ્રવેશ:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -306,12 +313,12 @@ msgstr[0] "છેલ્લે સફળ પ્રવેશ સુધી પ્ msgstr[1] "છેલ્લે સફળ પ્રવેશ સુધી પ્રવેશનો પ્રયત્નો કરવામાં %d નિષ્ફળ થયેલ હતુ." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "છેલ્લે સફળ પ્રવેશ સુધી પ્રવેશનાં પ્રયત્નો કરવામાં %d નિષ્ફળ થયેલ હતુ." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' માટે ઘણા બધા પ્રવેશો." @@ -362,8 +369,8 @@ msgstr "ડિરેક્ટરી '%s' બનાવી રહ્યા છી msgid "Unable to create and initialize directory '%s'." msgstr "ડિરેક્ટરી '%s' ને શરૂ કરવામાં અને બનાવવામાં અસમર્થ." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "પાસવર્ડ પહેલાથી જ વપરાઈ ગયેલ છે. બીજો પસંદ કરો." @@ -371,43 +378,43 @@ msgstr "પાસવર્ડ પહેલાથી જ વપરાઈ ગય msgid "Would you like to enter a security context? [N] " msgstr "શું તમે સુરક્ષા સંદર્ભ દાખલ કરવા ઈચ્છો છો? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ભૂમિકા:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "સ્તર:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "માન્ય સુરક્ષા સંદર્ભ નથી" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "મૂળભૂત સુરક્ષા સંદર્ભ %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "શું તમે અલગ ભૂમિકા કે સ્તર દાખલ કરવા ઈચ્છો છો?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "ભૂમિકા %s માટે કોઈ મૂળભૂત પ્રકાર નથી\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s માટે માન્ય સંદર્ભ મેળવવામાં અસમર્થ" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "સુરક્ષા સંદર્ભ %s સોંપાયેલ" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "કી બનાવટ સંદર્ભ %s સોંપાયેલ" @@ -427,20 +434,20 @@ msgstr "pam_set_item() કરવામાં નિષ્ફળ\n" msgid "login: failure forking: %m" msgstr "પ્રવેશ: ફોર્કમાં નિષ્ફળ: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "STRESS પાસવર્ડ %s માટે બદલો." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "નવો STRESS પાસવર્ડ દાખલ કરો: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "નવો STRESS પાસવર્ડ પુનઃલખો: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "ચકાસણી ખોટી-રીતે લખાઈ; પાસવર્ડ બદલાયેલ નથી" @@ -538,31 +545,31 @@ msgstr[1] "ચેતવણી: તમારો પાસવર્ડ %d દિ msgid "Warning: your password will expire in %d days" msgstr "ચેતવણી: તમારો પાસવર્ડ %d દિવસોમાં નિવૃત્ત થઈ જશે" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS પાસવર્ડ બદલી શક્યા નહિં." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "તમારે લાંબો પાસવર્ડ જ પસંદ કરવો જોઈએ" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s માટે પાસવર્ડ બદલવાનું." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(વર્તમાન) UNIX પાસવર્ડ: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "તમારો પાસવર્ડ બદલવા માટે તમારે લાંબો સમય રાહ જોવી જ પડશે" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "નવો UNIX પાસવર્ડ દાખલ કરો: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "નવો UNIX પાસવર્ડ ફરીથી લખો: " diff --git a/po/he.po b/po/he.po index 2c01c4dc..a60a61e1 100644 --- a/po/he.po +++ b/po/he.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: \n" "Last-Translator: Elad \n" "Language-Team: Hebrew \n" @@ -54,7 +54,7 @@ msgstr "" msgid "Password change aborted." msgstr "שינוי ססמה בוטל." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "כניסה:" @@ -190,54 +190,61 @@ msgstr "" msgid "Unknown PAM error" msgstr "שגיאת PAM לא מוכרת" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "זהה לישנה" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "שגיאת אימות" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "פילנדרום" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "יותר מדי דומה לישנה" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "פשוטה מדי." -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "לא סופקה ססמה" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "ססמה לא שונתה" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ססמה לא טובה: %s" @@ -258,18 +265,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "" @@ -285,12 +292,12 @@ msgid "Welcome to your new account!" msgstr "ברוך הבא לחשבונך החדש!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -299,12 +306,12 @@ msgstr[0] "היה ניסיון התחברות %d שנכשל מאז ההתחבר msgstr[1] "היו %d ניסיונות התחברות שנכשלו מאז ההתחברות האחרונה שהצליחה." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "" @@ -355,8 +362,8 @@ msgstr "" msgid "Unable to create and initialize directory '%s'." msgstr "" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "" @@ -364,43 +371,43 @@ msgstr "" msgid "Would you like to enter a security context? [N] " msgstr "" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "תפקיד: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "רמה:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "" @@ -420,20 +427,20 @@ msgstr "" msgid "login: failure forking: %m" msgstr "" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "משנה ססמת STRESS עבור %s" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "הקלד ססמת STRESS חדשה:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "הקלד שוב ססמת STRESS חדשה:" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "" @@ -527,31 +534,31 @@ msgstr[1] "אזהרה: הססמה שלך תפוג תוך %d ימים" msgid "Warning: your password will expire in %d days" msgstr "אזהרה: הססמה שלך תפוג תוך %d ימים" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "לא היה ניתן לשנות ססמת NIS." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "אתה חייב לבחור ססמה ארוכה יותר" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "משנה ססמה עבור %s.‏" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "ססמת יוניקס (נוכחית): " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "אתה חייב לחכות יותר כדי לשנות את הססמה" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "הכנס ססמת יוניקס חדשה:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "נא להקליד שוב את ססמת היוניקס החדשה: " diff --git a/po/hi.po b/po/hi.po index 08bcaa04..0c26ff43 100644 --- a/po/hi.po +++ b/po/hi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-06-08 12:22+0530\n" "Last-Translator: Rajesh Ranjan \n" "Language-Team: Hindi \n" @@ -62,7 +62,7 @@ msgstr "फिर टाइप करें %s" msgid "Password change aborted." msgstr "कूटशब्द परिवर्तन छोड़ा गया." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "लॉगिन:" @@ -198,54 +198,61 @@ msgstr "अनुप्रयोग के libpam फिर आह्वान msgid "Unknown PAM error" msgstr "अनजान PAM त्रुटि" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "पुराने की तरह समान है" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "रूपांतरक त्रुटि" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "एक पालिनड्रोम है" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "स्थिति परिवर्तन सिर्फ" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "पुराने के बहुत समान है" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "बहुत सरल है" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "घुमाया गया है" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "पर्याप्त वर्ण वर्ग नहीं" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "कई समान वर्ण लगातार समाहित करता है" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "कुछ रूप में उपयोक्ता नाम समाहित करता है" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "कोई कूटशब्द नहीं दिया गया है" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "शब्दकूट परिवर्तित" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "खराब शब्दकूट: %s" @@ -266,18 +273,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s विफल: अनजान स्थिति 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s से" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s पर" @@ -293,12 +300,12 @@ msgid "Welcome to your new account!" msgstr "नए खाता में आपका स्वागत है!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "अंतिम लॉगिन विफल:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -307,12 +314,12 @@ msgstr[0] "%d विफल लॉगिन प्रयास था अंत msgstr[1] "%d विफल लॉगिन प्रयास थे अंतिम सफल लॉगिन के बाद." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "%d विफल लॉगिन प्रयास थे अंतिम सफल लॉगिन के बाद." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' के लिए बहुत लॉगिन." @@ -363,8 +370,8 @@ msgstr "निर्देशिका '%s' बना रहा है." msgid "Unable to create and initialize directory '%s'." msgstr "निर्देशिका '%s' बनाने और आरंभ करने में असमर्थ." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "शब्दकूट को पहले ही बदला जा चुका है. दूसरा चुनें." @@ -372,43 +379,43 @@ msgstr "शब्दकूट को पहले ही बदला जा च msgid "Would you like to enter a security context? [N] " msgstr "क्या आप सुरक्षा संदर्भ दाखिल करना चाहते हैं? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "भूमिका: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "स्तर: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "एक वैध सुरक्षा संदर्भ नहीं" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "तयशुदा सुरक्षा संदर्भ %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "क्या आप भिन्न भूमिका या स्तर दाखिल करना चाहेंगे?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "भूमिका %s के लिए कोई तयशुदा प्रकार नहीं\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s के लिए वैध संदर्भ पाने में असमर्थ" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "सुरक्षा संदर्भ %s नियत" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "कुंजी निर्माण संदर्भ %s नियत" @@ -428,20 +435,20 @@ msgstr "pam_set_item() में विफल\n" msgid "login: failure forking: %m" msgstr "लॉगिन: विफल फोर्किंग: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "STRESS कूटशब्द को %s के लिए बदल रहा है." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "नया स्ट्रेस शब्दकूट दें: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "नया शब्दकूट फिर टाइप करें: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "जांच गलत टाइप किया गया; शब्दकूट बदला गया" @@ -539,31 +546,31 @@ msgstr[1] "चेतावनी: आपका शब्दकूट %d दि msgid "Warning: your password will expire in %d days" msgstr "चेतावनी: आपका शब्दकूट %d दिनों में समाप्त हो जायेगा" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS शब्दकूट बदला नहीं जा सका." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "आपको जरूर एक लंबा शब्दकूट चुनना चाहिए" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s के लिए कूटशब्द बदल रहा है" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(मौजूदा) UNIX शब्दकूट: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "आपको अपना शब्दकूट बदलने के लिए लंबी प्रतीक्षा करनी होगी" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "नया UNIX शब्दकूट दें: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "नया UNIX शब्दकूट फिर टाइप करें: " diff --git a/po/hu.po b/po/hu.po index 8657e201..4fd150a6 100644 --- a/po/hu.po +++ b/po/hu.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: pam\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-03-20 20:53+0100\n" "Last-Translator: Sulyok Péter \n" "Language-Team: Hungarian \n" @@ -62,7 +62,7 @@ msgstr "Ismét %s" msgid "Password change aborted." msgstr "Jelszó változtatás elvetve." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "belépő:" @@ -200,54 +200,61 @@ 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:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ugyanaz, mint a régi" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Beszélgetési hiba" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "palindrom" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "csak a kis/nagybetűkben változott" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "túl hasonló a régihez" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "túl egyszerű" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "forgatva" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "elégtelen betűosztály" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "túl sok egymást követő betű egyezik meg" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "valahogy tartalmazza a használó nevét" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Nincs jelszó megadva" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Változatlan jelszó" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ROSSZ JELSZÓ: %s" @@ -268,18 +275,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s hiba: 0x%x ismeretlen állapot" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%Y. %b %e, %a %H:%M:%S %Z " #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " innen: %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr ", %.*s" @@ -295,12 +302,12 @@ msgid "Welcome to your new account!" msgstr "Üdvözöljük az új számláján!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Utolsó sikertelen belépés:%s %s %s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -309,12 +316,12 @@ msgstr[0] "%d sikertelen belépés kísérlet volt az utolsó sikeres belépés msgstr[1] "%d sikertelen belépés kísérlet volt az utolsó sikeres belépés óta." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "%d sikertelen belépés kísérlet volt az utolsó sikeres belépés óta." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Túl sok belépés \"%s\" részéről." @@ -365,8 +372,8 @@ msgstr "\"%s\" mappa teremtése" msgid "Unable to create and initialize directory '%s'." msgstr "„%s” mapa nem teremthető meg." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "A jelszót már használta. Válasszon másikat!" @@ -374,43 +381,43 @@ msgstr "A jelszót már használta. Válasszon másikat!" msgid "Would you like to enter a security context? [N] " msgstr "Kíván biztonsági környezetet megadni? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "szerep:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "szint:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Nem érvényes biztonsági környezet" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Alapértelemezett %s biztonsági környezet\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Kíván más szerepet vagy szintet megadni?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Nincs alapértelmezett típus %s szerephez\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Nincs meg %s érvényes környezete" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "%s biztonsági környezet hozzárendelve" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "%s kulcsteremtő környezet hozzárendelve" @@ -430,20 +437,20 @@ msgstr "pam_set_item() meghiúsult\n" msgid "login: failure forking: %m" msgstr "bejelentkezés: elágazás hiba: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s STRESS jelszavának megváltoztatása." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Új STRESS jelszó: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Ismét az új STRESS jelszó: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Az ellenőrző jelszó nem egyezik; a jelszó nem került módosításra" @@ -541,32 +548,32 @@ msgstr[1] "Figyelmeztetés: a jelszava %d nap múlva lejár" msgid "Warning: your password will expire in %d days" msgstr "Figyelmeztetés: a jelszava %d nap múlva lejár" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS jelszót nem sikerült módosítani." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Hosszabb jelszót kell választani" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s jelszavának megváltoztatása." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "A (jelenlegi) UNIX jelszó: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Tovább kell várnia a jelszó módosítására" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Adja meg az új UNIX jelszót: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Írja be újra a UNIX jelszót: " diff --git a/po/it.po b/po/it.po index 5aad52cb..0725e09d 100644 --- a/po/it.po +++ b/po/it.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-20 18:31+0200\n" "Last-Translator: mario_santagiuliana \n" "Language-Team: Italian \n" @@ -61,7 +61,7 @@ msgstr "Reimmettere %s" msgid "Password change aborted." msgstr "Cambio della password abortito." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "login:" @@ -201,54 +201,61 @@ msgstr "L'applicazione richiede una nuova chiamata a libpam" msgid "Unknown PAM error" msgstr "Errore PAM sconosciuto" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "è la stessa di quella precedente" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Errore di conversazione" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "è un palindromo" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "cambiano solo le maiuscole/minuscole" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "è troppo simile alla precedente" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "è troppo semplice" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "è una rotazione della precedente" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "non ha abbastanza classi di caratteri" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "contiene troppi caratteri simili consecutivi" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "contiene il nome utente in alcune forme" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Nessuna password fornita" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Password non modificata" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "PASSWORD ERRATA: %s" @@ -269,18 +276,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s fallita: stato sconosciuto 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H.%M.%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " da %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " su %.*s" @@ -296,12 +303,12 @@ msgid "Welcome to your new account!" msgstr "Benvenuti nel nuovo account!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Ultimo accesso fallito:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -314,14 +321,14 @@ msgstr[1] "" "login con successo." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Si sono verificati alcuni tentativi di login %d falliti dall'ultimo " "tentativo di login con successo." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Ci sono troppi accessi per \"%s\"." @@ -372,8 +379,8 @@ msgstr "Creazione della directory \"%s\"." msgid "Unable to create and initialize directory '%s'." msgstr "Impossibile creare e inizializzare la directory '%s'" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Password già utilizzata. Sceglierne un'altra." @@ -381,43 +388,43 @@ msgstr "Password già utilizzata. Sceglierne un'altra." msgid "Would you like to enter a security context? [N] " msgstr "Attivare un contesto di sicurezza? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ruolo:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "livello:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Non è un contesto di sicurezza valido" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Contesto di sicurezza predefinito %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Immettere un ruolo o livello differente?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Nessun tipo predefinito per il ruolo %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Impossibile ottenere un contesto valido per %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Contesto di sicurezza %s assegnato" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Contesto di creazione chiave %s assegnato" @@ -437,20 +444,20 @@ msgstr "Impossibile eseguire pam_set_item()\n" msgid "login: failure forking: %m" msgstr "login: forking fallito: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Cambio password STRESS per %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Immettere nuova password STRESS: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Reimmettere la nuova password STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Errore di digitazione per verifica; password non cambiata" @@ -551,32 +558,32 @@ msgstr[1] "Avviso: la password scadrà tra %d giorni" msgid "Warning: your password will expire in %d days" msgstr "Avviso: la password scadrà tra %d giorni" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Impossibile modificare la password NIS." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Scegliere una password più lunga" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Cambio password per %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "Password UNIX (corrente): " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Attendere ancora per cambiare la password" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Immettere nuova password UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Reimmettere la nuova password UNIX: " diff --git a/po/ja.po b/po/ja.po index bf7e2bb3..a8569dc7 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ja\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-08-30 11:39+0900\n" "Last-Translator: Kiyoto Hashida \n" "Language-Team: Japanese \n" @@ -59,7 +59,7 @@ msgstr "%s を再入力して下さい" msgid "Password change aborted." msgstr "パスワードの変更は放棄されました" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "ログイン::" @@ -195,54 +195,61 @@ msgstr "アプリケーションはlibpamを再び呼び出す必要がありま msgid "Unknown PAM error" msgstr "不明なPAMエラー" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "パスワードが古いものと同じです。" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "会話エラー" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "前後どちらから読んでも同じパスワードです。" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "大文字小文字を変えただけのパスワード" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "古いものと似ています" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "簡単すぎます" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "回転しています" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "文字クラスが不十分です" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "連続的な同一文字が多く含まれ過ぎです" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "なんらかの形式のユーザー名を含みます" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "パスワードが与えられていません" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "パスワードが変更されていません" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "よくないパスワード: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s 失敗: 不明な状態 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*sから開始" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "日時 %.*s" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "新しいアカウントへようこそ。" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "最後の失敗ログイン:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -303,12 +310,12 @@ msgid_plural "" msgstr[0] "最後の正しいログインの後に %d 回の失敗ログインの試行があります" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "最後の正しいログインの後に %d 回の失敗ログインの試行があります。" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'のログイン数が多すぎます。" @@ -359,8 +366,8 @@ msgstr "ディレクトリ '%s' を作成中" msgid "Unable to create and initialize directory '%s'." msgstr "ディレクトリ %s を作成して初期化できません。" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "" "パスワードはすでに使用されています。 別のパスワードを選択してください。" @@ -369,43 +376,43 @@ msgstr "" msgid "Would you like to enter a security context? [N] " msgstr "セキュリティコンテキストを入力しますか? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ロール:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "レベル:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "有効なセキュリティコンテキストでありません" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "デフォルトセキュリティコンテキスト%s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "異なるロール又はレベルを入力しますか?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "ロール %s にはデフォルトタイプがありません\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s の為の有効なコンテキストを取得できません" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "割り当てられたセキュリティコンテキスト%s" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "キー作成コンテキスト %s が割り当てられました" @@ -425,20 +432,20 @@ msgstr "pam_set_item()に失敗しました\n" msgid "login: failure forking: %m" msgstr "ログイン: いまいましい失敗: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s 用の STRESS パスワードを変更中" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "新しいSTRESSパスワードを入力してください:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "新しいSTRESSパスワードを再入力してください:" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "ミスタイプの確認、パスワードが変更されていません" @@ -536,31 +543,31 @@ msgstr[0] "警告: パスワードは%d日で有効期限が切れます。" msgid "Warning: your password will expire in %d days" msgstr "警告: パスワードは %d 日で有効期限が切れます。" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NISパスワードを変更できませんでした。" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "長いパスワードを選択する必要があります" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s 用にパスワードを変更中" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "現在のUNIXパスワード:" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "パスワードを変更するには長く待つ必要があります" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "新しいUNIXパスワードを入力してください:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "新しいUNIX パスワードを再入力してください:" diff --git a/po/kk.po b/po/kk.po index 9ab467ce..bb6872d3 100644 --- a/po/kk.po +++ b/po/kk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM 1.0.3\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-02-26 13:07+0600\n" "Last-Translator: Baurzhan M. \n" "Language-Team: Kazakh \n" @@ -57,7 +57,7 @@ msgstr "%s қайта енгізіңіз" msgid "Password change aborted." msgstr "Парольді өзгертуден бас тартылды." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "тіркелу:" @@ -195,54 +195,61 @@ msgstr "Бағдарлама libpam-ды қайтадан шақыруы кер msgid "Unknown PAM error" msgstr "Белгісіз PAM қатесі" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "алдыңғысына сәйкес болып тұр" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Сұхбат қатесі" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "палиндром болып тұр" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "өзгерістер таңбалардың регистрінде ғана" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ескі парольге өте ұқсас" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "өте оңай болып тұр" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "аударылған ескі пароль" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "керек таңбалар кластары жоқ" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "құрамында бірдей таңбалардың тізбегі бар" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "құрамында пайдаланушы аты бар" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Пароль көрсетілмеді" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Пароль өзгертілмеді" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ҚАТЕ ПАРОЛЬ: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s қатесі: белгісіз қалып-күйі 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "қайдан: %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "қайда: %.*s" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "Жаңа тіркелгіге қош келдіңіз!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Соңғы сәтсіз жүйеге кіру талабы:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -303,12 +310,12 @@ msgid_plural "" msgstr[0] "Соңғы сәтті жүйеге кіру реттен кейін %d қате талаптар болған." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Соңғы сәтті жүйеге кіру реттен кейін %d қате талаптар болған." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' үшін жүйеге кіру талап саны шектен көп." @@ -359,8 +366,8 @@ msgstr "'%s' бумасын құру." msgid "Unable to create and initialize directory '%s'." msgstr "%s бумасын құру мүмкін емес: %m" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Пароль осыған дейін қолданған. Басқасын таңдаңыз." @@ -368,43 +375,43 @@ msgstr "Пароль осыған дейін қолданған. Басқасы msgid "Would you like to enter a security context? [N] " msgstr "Қауіпсіздік контексті енгізуді қалайсыз ба? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ролі:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "деңгейі:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Дұрыс қауіпсіздік контексті емес" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Бастапқы қауіпсіздік контексті %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Басқа роль не деңгейді енгізуді қалайсыз ба?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "%s ролі үшін бастапқы түрі көрсетілмеген\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s үшін дұрыс контексті алу мүмкін емес" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "%s қауіпсіздік контексті орнатылды" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "%s кілттерді жасау қауіпсіздік контексті орнатылды" @@ -424,20 +431,20 @@ msgstr "pam_set_item() орындау мүмкін емес\n" msgid "login: failure forking: %m" msgstr "login: үрдісті бастау мүмкін емес: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s үшін STRESS паролін өзгерту." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Жаңа STRESS паролі: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Жаңа STRESS паролін қайта енгізіңіз: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Растау дұрыс өтпеді; пароль өзгертілмеді" @@ -537,31 +544,31 @@ msgstr[0] "Ескерту: сіздің пароліңіздің мерзімі msgid "Warning: your password will expire in %d days" msgstr "Ескерту: сіздің пароліңіздің мерзімі %d күнде бітеді" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS паролін өзгерту мүмкін емес" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Сізге ұзынырақ парольді таңдау керек" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s үшін парольді өзгерту." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(ағымдағы) UNIX паролі: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Пароліңізді өзгерті үшін біраз күтуіңіз керек" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Жаңа UNIX паролін енгізіңіз: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Жаңа UNIX паролін қайта енгізіңіз: " diff --git a/po/km.po b/po/km.po index 5877c036..4424677e 100644 --- a/po/km.po +++ b/po/km.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2006-03-17 10:32+0700\n" "Last-Translator: Khoem Sokhem \n" "Language-Team: Khmer \n" @@ -59,7 +59,7 @@ msgstr "ប្រភេទ ៖ " msgid "Password change aborted." msgstr "ពាក្យសម្ងាត់​មិន​បាន​ផ្លាស់ប្ដូរ​ឡើយ" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "ចូល ៖" @@ -198,54 +198,61 @@ msgstr "កម្មវិធី​ត្រូវ​តែ​ហៅ libpam ម msgid "Unknown PAM error" msgstr "មិន​ស្គាល់​កំហុស PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ដូច​គ្នា​នឹង​ពាក្យ​សម្ងាត់​ចាស់" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "កំហុស​សន្ទនា" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "ត្រឡប់​ចុះ​ឡើង" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "គ្រាន់​តែ​ផ្លាស់ប្ដូរ​លក្ខណៈ​អក្សរ​ប៉ុណ្ណោះ​" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ស្រដៀង​គ្នា​ណាស់​នឹង​ពាក្យ​សម្ងាត់​ចាស់" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "សាមញ្ញ​ពេក" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "បាន​បង្វិល" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "មិន​បាន​ផ្ដល់​ពាក្យសម្ងាត់" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "ពាក្យសម្ងាត់​មិន​បាន​ផ្លាស់ប្ដូរ​ឡើយ" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ពាក្យ​សម្ងាត់​មិន​ល្អ ៖ %s" @@ -266,18 +273,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " ពី %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " លើ %.*s" @@ -293,12 +300,12 @@ msgid "Welcome to your new account!" msgstr "សូម​ស្វាគមន៍​មក​កាន់​គណនី​ថ្មី​របស់​អ្នក !" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, fuzzy, c-format msgid "Last failed login:%s%s%s" msgstr "ចូល​ចុងក្រោយ ៖%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -307,12 +314,12 @@ msgstr[0] "" msgstr[1] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "មាន​ការ​ចូល​ច្រើន​ពេក​សម្រាប់ '%s' ។" @@ -363,8 +370,8 @@ msgstr "" msgid "Unable to create and initialize directory '%s'." msgstr "" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "ពាក្យសម្ងាត់​ត្រូវ​បាន​ប្រើ​រួច​ហើយ ។ សូម​ជ្រើស​មួយ​ទៀត ។" @@ -373,46 +380,46 @@ msgstr "ពាក្យសម្ងាត់​ត្រូវ​បាន​ប msgid "Would you like to enter a security context? [N] " msgstr "តើ​អ្នក​ចង់​បញ្ចូល​បរិបទ​សុវត្ថិភាព​មួយ​ឬ​ទេ ? [y] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 #, fuzzy msgid "role:" msgstr "តួនាទី ៖ " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 #, fuzzy msgid "level:" msgstr "កម្រិត ៖ " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "មិន​មែន​ជា​បរិបទ​សុវត្ថិភាព​ត្រឹមត្រូវ​មួយឡើយ" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, fuzzy, c-format msgid "Default Security Context %s\n" msgstr "បរិបទ​សុវត្ថិភាព %s បាន​ផ្ដល់​តម្លៃ​" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 #, fuzzy msgid "Would you like to enter a different role or level?" msgstr "តើ​អ្នក​ចង់​បញ្ចូល​បរិបទ​សុវត្ថិភាព​មួយ​ឬ​ទេ ? [y] " -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "បរិបទ​សុវត្ថិភាព %s បាន​ផ្ដល់​តម្លៃ​" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, fuzzy, c-format msgid "Key Creation Context %s Assigned" msgstr "បរិបទ​សុវត្ថិភាព %s បាន​ផ្ដល់​តម្លៃ​" @@ -432,20 +439,20 @@ msgstr "បាន​បរាជ័យ pam_set_item()\n" msgid "login: failure forking: %m" msgstr "ចូល ៖ ចម្លង​ខ្លួន​ឯង​មិន​បាន​ជោគជ័យ ៖ %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, fuzzy, c-format msgid "Changing STRESS password for %s." msgstr "ការ​ផ្លាស់ប្ដូរ​ពាក្យ​សម្ងាត់ STRESS សម្រាប់ " -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "បញ្ចូល​ពាក្យ​សម្ងាត់ STRESS ថ្មី ៖ " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "វាយ​ពាក្យ​សម្ងាត់ STRESS ថ្មី​ម្ដង​ទៀត ៖ " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "ផ្ទៀងផ្ទាត់​អក្ខរាវិរុទ្ធ​ដែល​បាន​វាយខុស ពាក្យ​សម្ងាត់​មិន​បានផ្លាស់ប្ដូរ​" @@ -541,32 +548,32 @@ msgstr[1] "ការ​ព្រមាន ៖ ពាក្យសម្ងាត msgid "Warning: your password will expire in %d days" msgstr "ការ​ព្រមាន ៖ ពាក្យសម្ងាត់​របស់​អ្នក​នឹង​ផុតកំណត់​ក្នុង​រយៈពេល %d ថ្ងៃ %.2s ។" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "មិន​អាច​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់ NIS បាន​ឡើយ ។" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "អ្នក​ត្រូវ​តែ​ជ្រើស​ពាក្យសម្ងាត់​វែង​ជាង​នេះ" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, fuzzy, c-format msgid "Changing password for %s." msgstr "ការ​ផ្លាស់ប្ដូរ​ពាក្យ​សម្ងាត់ STRESS សម្រាប់ " -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(បច្ចុប្បន្ន) ពាក្យ​សម្ងាត់ UNIX ៖" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "អ្នក​ត្រូវ​តែ​រង់ចាំ​បន្តិច ដើម្បី​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់​របស់​អ្នក" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "បញ្ចូល​ពាក្យ​សម្ងាត់ UNIX ថ្មី ៖ " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "វាយ​ពាក្យ​សម្ងាត់ UNIX ថ្មី​ម្ដង​ទៀត ៖ " diff --git a/po/kn.po b/po/kn.po index 3a4c275f..a5dc5d02 100644 --- a/po/kn.po +++ b/po/kn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip.kn\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-03 12:24+0530\n" "Last-Translator: Shankar Prasad \n" "Language-Team: Kannada \n" @@ -58,7 +58,7 @@ msgstr "%s ಅನ್ನು ಮರಳಿ ನಮೂದಿಸಿ" msgid "Password change aborted." msgstr "ಗುಪ್ತಪದ ಬದಲಾವಣೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "ಲಾಗಿನ್:" @@ -194,54 +194,61 @@ msgstr "ಅನ್ವಯವು libpam ಅನ್ನು ಪುನಃ ಕರೆಯ msgid "Unknown PAM error" msgstr "ಗೊತ್ತಿರದ PAM ದೋಷ" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ಇದು ಹಳೆಯದರ ಹಾಗೆಯೇ ಇದೆ" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "ಸಂವಾದಾತ್ಮಕ ದೋಷ" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "ಇದು ಒಂದು ಸಮಾನ ಪೂರ್ವಾಪರವಾಗಿದೆ (palindrome)" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "ಕೇವಲ ಕೇಸ್ ಗಳ ಬದಲಾವಣೆಯಾಗಿದೆ ಅಷ್ಟೆ" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ಇದು ಹಳೆಯದಕ್ಕೆ ಬಹಳಷ್ಟು ಹೋಲುತ್ತದೆ" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "ಇದು ಬಹಳ ಸರಳವಾಗಿದೆ" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "ಇದು ತಿರುಗಿಸಲಾಗಿದೆ" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "ಸಾಕಷ್ಟು ಕ್ಯಾರೆಕ್ಟರ್ ವರ್ಗಗಳು ಇಲ್ಲ" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "ಇದು ಒಂದೇ ಬಗೆಯ ಬಹಳಷ್ಟು ಕ್ಯಾರೆಕ್ಟರುಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಹೊಂದಿದೆ" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "ಇದು ಯಾವುದೊ ಒಂದು ಬಗೆಯಲ್ಲಿ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಒಳಗೊಂಡಿದೆ" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "ಯಾವುದೇ ಗುಪ್ತಪದ ನೀಡಲಾಗಿಲ್ಲ" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "ಗುಪ್ತಪದ ಬದಲಾಗಿಲ್ಲ" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ಕೆಟ್ಟ ಗುಪ್ತಪದ: %s" @@ -262,18 +269,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s ವಿಫಲಗೊಂಡಿದೆ: ಗೊತ್ತಿರದ ಸ್ಥಿತಿ 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s ನಿಂದ" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s ನಲ್ಲಿ" @@ -289,12 +296,12 @@ msgid "Welcome to your new account!" msgstr "ನಿಮ್ಮ ಹೊಸ ಖಾತೆಗೆ ಸುಸ್ವಾಗತ!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "ಕೊನೆಯ ಲಾಗಿನ್:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -303,12 +310,12 @@ msgstr[0] "ಕೊನೆಯ ಬಾರಿಯ ಯಶಸ್ವಿ ಪ್ರವೇಶ msgstr[1] "ಕೊನೆಯ ಬಾರಿಯ ಯಶಸ್ವಿ ಪ್ರವೇಶದ ನಂತರ %d ಪ್ರವೇಶದ ಪ್ರಯತ್ನಗಳು ವಿಫಲಗೊಂಡಿದೆ." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "ಕೊನೆಯ ಬಾರಿಯ ಯಶಸ್ವಿ ಪ್ರವೇಶದ ನಂತರ %d ಪ್ರವೇಶದ ಪ್ರಯತ್ನಗಳು ವಿಫಲಗೊಂಡಿದೆ." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'ಗಾಗಿ ಬಹಳಷ್ಟು ಲಾಗಿನ್ನುಗಳು." @@ -359,8 +366,8 @@ msgstr "ಕೋಶ '%s' ಅನ್ನು ರಚಿಸಲಾಗುತ್ತಿದ msgid "Unable to create and initialize directory '%s'." msgstr "ಕೋಶ '%s' ಅನ್ನು ರಚಿಸಲು ಹಾಗು ಆರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "ಗುಪ್ತಪದವು ಈಗಾಗಲೆ ಬಳಸಲ್ಪಟ್ಟಿದೆ. ಬೇರೊಂದನ್ನು ಬಳಸಿ." @@ -368,43 +375,43 @@ msgstr "ಗುಪ್ತಪದವು ಈಗಾಗಲೆ ಬಳಸಲ್ಪಟ್ msgid "Would you like to enter a security context? [N] " msgstr "ನೀವು ಒಂದು ಸುರಕ್ಷತಾ ಸನ್ನಿವೇಶವನ್ನು ದಾಖಲಿಸಲು ಇಚ್ಛಿಸುತ್ತೀರ? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ಪಾತ್ರ:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "ಮಟ್ಟ:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "ಸಮಂಜಸವಾದ ಸುರಕ್ಷತಾ ಸನ್ನಿವೇಶ ಅಲ್ಲ" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "ಡೀಫಾಲ್ಟ್‍ ಸುರಕ್ಷತಾ ಸನ್ನಿವೇಶ %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "ನೀವು ನೀವು ಬೇರೊಂದು ಪಾತ್ರ ಅಥವ ಮಟ್ಟವನ್ನು ದಾಖಲಿಸಲು ಇಚ್ಛಿಸುತ್ತೀರ?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "%s ಪಾತ್ರಕ್ಕಾಗಿ ಯಾವುದೆ ಡೀಫಾಲ್ಟ್‍ ಬಗೆ ಇಲ್ಲ\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s ಗಾಗಿ ಮಾನ್ಯವಾದ ಸನ್ನಿವೇಶವನ್ನು ಪಡೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "ಸುರಕ್ಷತಾ ಸನ್ನಿವೇಶ %s ವನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "ಕೀಲಿ ನಿರ್ಮಾಣ ಸನ್ನಿವೇಶ %s ವನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ" @@ -424,20 +431,20 @@ msgstr "pam_set_item() ಮಾಡುವಲ್ಲಿ ವಿಫಲತೆ\n" msgid "login: failure forking: %m" msgstr "ಲಾಗಿನ್: ಫೋರ್ಕಿಂಗ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲತೆ:%m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s ಗಾಗಿ STRESS ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "ಹೊಸ STRESS ಗುಪ್ತಪದವನ್ನು ಟೈಪಿಸಿ: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "ಹೊಸ STRESS ಗುಪ್ತಪದವನ್ನು ಪುನಃ ಟೈಪಿಸಿ: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "ತಪಾಸಣೆಗೆ ಟೈಪಿಸಿದ್ದು ತಪ್ಪಾಗಿದೆ; ಗುಪ್ತಪದ ಬದಲಾಗಿಲ್ಲ" @@ -537,31 +544,31 @@ msgstr[1] "ಎಚ್ಚರಿಕೆ: %d ದಿನಗಳಲ್ಲಿ ನಿಮ್ msgid "Warning: your password will expire in %d days" msgstr "ಎಚ್ಚರಿಕೆ: %d ದಿನಗಳಲ್ಲಿ ನಿಮ್ಮ ಗುಪ್ತಪದದ ಅವಧಿ ಅಂತ್ಯಗೊಳ್ಳುತ್ತದೆ" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ್ಲ." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "ನೀವು ಒಂದು ಉದ್ದವಾದ ಗುಪ್ತಪದವನ್ನು ಆರಿಸಬೇಕು" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s ಗಾಗಿ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(ಪ್ರಸ್ತುತ) UNIX ಗುಪ್ತಪದ: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "ನಿಮ್ಮ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಬಹಳ ಸಮಯ ಕಾಯಬೇಕು" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "ಹೊಸ UNIX ಗುಪ್ತಪದವನ್ನು ದಾಖಲಿಸಿ: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "ಹೊಸ UNIX ಗುಪ್ತಪದವನ್ನು ಪುನಃ ಟೈಪಿಸಿ: " diff --git a/po/ko.po b/po/ko.po index 8194293b..b49190e9 100644 --- a/po/ko.po +++ b/po/ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-09-04 16:29+1000\n" "Last-Translator: Eunju Kim \n" "Language-Team: Korean \n" @@ -58,7 +58,7 @@ msgstr "다시 입력 %s " msgid "Password change aborted." msgstr "암호가 변경되지 않습니다. " -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "로그인:" @@ -194,54 +194,61 @@ msgstr "libpam을 다시 불러오려면 응용 프로그램이 필요함" msgid "Unknown PAM error" msgstr "알 수 없는 PAM 오류" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "이전 암호와 같음" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "인증 대화 오류" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "앞뒤 어느쪽에서 읽어도 같은 문맥임" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "대소문자만 변경" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "이전 암호와 유사함" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "너무 간단함" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "교체됨" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "문자 클래스가 부족합니다 " -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "너무 많은 동일한 문자가 연속적으로 포함되어있습니다 " -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "어떠한 형식으로 사용자 이름을 포함합니다. " -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "암호가 없음" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "암호가 변경되지 않음" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "잘못된 암호: %s" @@ -262,18 +269,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s 실패: 알 수 없는 상태 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s에서 시작" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " 일시 %.*s" @@ -289,12 +296,12 @@ msgid "Welcome to your new account!" msgstr "새로운 계정을 사용해 주셔서 감사합니다!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "마지막 로그인 실패:%s%s%s " -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -302,12 +309,12 @@ msgid_plural "" msgstr[0] "마지막 로그인 후 %d 번의 로그인 시도가 실패하였습니다. " #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "마지막 로그인 후 %d 번의 로그인 시도가 실패하였습니다. " -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' 대해 너무 많이 로그인함." @@ -358,8 +365,8 @@ msgstr "'%s' 디렉토리 생성 중. " msgid "Unable to create and initialize directory '%s'." msgstr "'%s' 디렉토리를 생성 및 초기화할 수 없습니다. " -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "이미 사용되고 있는 암호입니다. 다른 암호를 선택해 주십시오." @@ -367,43 +374,43 @@ msgstr "이미 사용되고 있는 암호입니다. 다른 암호를 선택해 msgid "Would you like to enter a security context? [N] " msgstr "보안 문맥을 입력하시겠습니까? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "역할: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "레벨: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "유효한 보안 문맥이 없음" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "기본값 보안 문맥 %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "다른 역할 또는 레벨을 입력하시겠습니까? " -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "%s 역할에 대한 기본값 유형이 없음 \n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s에 대한 유효한 문맥을 가져올 수 없음 " -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "보안 문맥 %s 할당" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "키 생성 문맥 %s 할당 " @@ -423,20 +430,20 @@ msgstr "pam_set_item() 실패\n" msgid "login: failure forking: %m" msgstr "로그인: 포크 작업(forking) 실패: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s에 대한 STRESS 암호 변경 " -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "새 STRESS 암호 입력:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "새 STRESS 암호를 재입력:" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "암호 확인에서 잘못 입력됨; 암호가 변경되지 않음" @@ -533,31 +540,31 @@ msgstr[0] "경고: %d일 내로 암호가 만료됩니다" msgid "Warning: your password will expire in %d days" msgstr "경고: %d일 내로 암호가 만료됩니다" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS 암호는 변경할 수 없습니다." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "더 긴 암호를 선택해 주십시오" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s에 대한 암호 변경 중 " -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(현재) UNIX 암호:" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "암호 변경을 위해 조금더 기다려 주십시오." -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "새 UNIX 암호 입력:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "새 UNIX 암호 재입력:" diff --git a/po/ml.po b/po/ml.po index d511edc1..aec67ff2 100644 --- a/po/ml.po +++ b/po/ml.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.default.ml\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2010-03-24 14:41+0530\n" "Last-Translator: \n" "Language-Team: \n" @@ -61,7 +61,7 @@ msgstr "%s വീണ്ടും ടൈപ്പ് ചെയ്യുക" msgid "Password change aborted." msgstr "അടയാളവാക്ക് മാറ്റം വരുത്തുന്നതു് നിര്‍ത്തിയിരിക്കുന്നു." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "ലോഗിന്‍:" @@ -197,54 +197,61 @@ msgstr "പ്രയോഗങ്ങള്‍ക്ക് വീണ്ടും l msgid "Unknown PAM error" msgstr "അപരിചിതമായ PAM പിശക്" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "പഴയത് പോലെ തന്നെയാകുന്നതു്" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "സംവാദത്തിലുളള പിശക്" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "ഒരു പാലിന്‍ഡ്രോം ആണു്" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "അക്ഷരങ്ങളുടെ വലിപ്പം മാത്രം മാറുന്നതു്" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "പഴയതിന് സാമ്യമുള്ളതു്" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "സാധാരണയുള്ളതു്" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "is rotated" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "മതിയായ ക്യാരക്ടര്‍ ക്ലാസ്സുകള്‍ ലഭ്യമല്ല" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "അടുത്തടുത്ത് ഒരേപോലുള്ള അനവധി അക്ഷരങ്ങളുണ്ടു്" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "ഉപയോക്താവിന്റെ നാമം ഏതെങ്കിലും ഒരു തരത്തിലുണ്ടു്" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "അടയാളവാക്ക് നല്‍കിയിട്ടില്ല" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "അടയാളവാക്ക് മാറ്റിയിട്ടില്ല" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "തെറ്റായ അടയാളവാക്ക്: %s" @@ -265,18 +272,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s പരാ‍ജയപ്പെട്ടു: അപരിചിതമായ 0x%x നിലവാരം" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s-ല്‍ നിന്നും" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s-ല്‍" @@ -292,12 +299,12 @@ msgid "Welcome to your new account!" msgstr "നിങ്ങളുടെ പുതിയ അക്കൌണ്ടിലേക്ക് സ്വാഗതം!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "അവസാനം ലോഗിന്‍ ചെയ്തതു് പരാജയപ്പെട്ടു:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -306,12 +313,12 @@ msgstr[0] "ശരിയായി അവസാനം ലോഗിന്‍ ചെ msgstr[1] "ശരിയായി അവസാനം ലോഗിന്‍ ചെയ്ത ശേഷം %d തവണ ലോഗിന്‍ പരാജയപ്പെട്ടു." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "ശരിയായി അവസാനം ലോഗിന്‍ ചെയ്ത ശേഷം %d തവണ ലോഗിന്‍ പരാജയപ്പെട്ടു." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'-ന് അനവധി ലോഗിനുകള്‍." @@ -362,8 +369,8 @@ msgstr "'%s' ഡയറക്ടറി ഉണ്ടാക്കുന്നു." msgid "Unable to create and initialize directory '%s'." msgstr "%s ഡയറക്ടറി ഉണ്ടാക്കുവാനും ആരംഭിക്കുവാനും സാധ്യമായില്ല." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "അടയാളവാക്ക് നിലവില്‍ ഉപയോഗിത്തിലുള്ളതാണ്. മറ്റൊന്ന് നല്‍കുക." @@ -371,43 +378,43 @@ msgstr "അടയാളവാക്ക് നിലവില്‍ ഉപയോ msgid "Would you like to enter a security context? [N] " msgstr "നിങ്ങള്‍ക്ക് ഒരു സെക്യൂരിറ്റി കോണ്‍ടെക്സ്റ്റ് നല്‍കണമോ? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ജോലി:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "നില: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "ശരിയായ സെക്യൂരിറ്റി കോണ്‍ടെക്സ്റ്റ് അല്ല" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "സ്വതവേയുള്ള സെക്യൂരിറ്റി കോണ്‍ടെക്സ്റ്റ് %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "നിങ്ങള്‍ക്കു് മറ്റൊരു ജോലി അല്ലെങ്കില്‍ നില നല്‍കണമോ?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "%s ജോലിയ്ക്കു് സ്വതവേയുള്ള തരം ലഭ്യമല്ല\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s-നുള്ള ശരിയായ കോണ്‍ടെക്സ്റ്റ് ലഭ്യമല്ല" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "%s എന്ന സെക്യൂരിറ്റി കോണ്‍ടെക്സ്റ്റ് നല്‍കിയിരിക്കുന്നു" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "കീ ഉണ്ടാക്കുന്നതിനുള്ള കോണ്‍ടെക്സ്റ്റ് ആയ %s നല്‍കിയിരിക്കുന്നു" @@ -427,20 +434,20 @@ msgstr "pam_set_item() ചെയ്യുന്നതില്‍ പരാജ msgid "login: failure forking: %m" msgstr "login: ഫോര്‍ക്ക് ചെയ്യുന്നതില്‍ പരാജയം: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s-നുളള STRESS അടയാളവാക്ക് മാറ്റുന്നു." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "പുതിയ STRESS അടയാളവാക്ക് നല്‍കുക: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "പുതിയ STRESS അടയാളവാക്ക് വീണ്ടും ടൈപ്പ് ചെയ്യുക: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "അടയാളവാക്ക് ഉറപ്പാക്കുന്നതിനായി ടൈപ്പ് ചെയ്തത് തെറ്റാണ്; അടയാളവാക്ക് മാറ്റിയിട്ടില്ല" @@ -540,31 +547,31 @@ msgstr[1] "മുന്നറിയിപ്പ്: നിങ്ങളുടെ msgid "Warning: your password will expire in %d days" msgstr "മുന്നറിയിപ്പ്: നിങ്ങളുടെ അടയാളവാക്കിന്റെ കാലാവധി %d ദിവസത്തിനുള്ളില്‍ അവസാനിക്കുന്നു" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS അടയാളവാക്ക് മാറ്റുവാന്‍ സാധ്യമാകുന്നില്ല." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "ഇതിലും വലിയ അടയാളവാക്ക് തിരഞ്ഞെടുക്കുക" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s-നുളള അടയാളവാക്ക് മാറ്റുന്നു." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(നിലവിലുളളത്) UNIX രഅടയാളവാക്ക്: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "നിങ്ങളുടെ അടയാളവാക്ക് മാറ്റുന്നതിനായി ഇനിയും കാത്തിരിക്കേണ്ടതാണ്." -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "പുതിയ UNIX അടയാളവാക്ക് നല്‍കുക: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "പുതിയ UNIX അടയാളവാക്ക് വീണ്ടും ടൈപ്പ് ചെയ്യുക: " diff --git a/po/mr.po b/po/mr.po index 9baf5def..1503193d 100644 --- a/po/mr.po +++ b/po/mr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip.mr\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-14 11:31+0530\n" "Last-Translator: Sandeep Shedmake \n" "Language-Team: marathi\n" @@ -58,7 +58,7 @@ msgstr "%s पुन्हा प्रविष्ट करा" msgid "Password change aborted." msgstr "परवलीचा शब्द रद्द केले." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "दाखलन:" @@ -194,54 +194,61 @@ msgstr "अनुप्रयोगास libpam ची आवश्चकता msgid "Unknown PAM error" msgstr "अपरिचीत PAM त्रुटी" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "प्रविष्ट केलेले जुण्या प्रमाणेच आहे" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "संवाद त्रुटी" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "पॅलींड्रोम आहे" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "फक्त आकार बदलाव" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "प्रविष्ट केलेले जुण्या नुरूपच आहे" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "खूपच सोपे आहे" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "स्तर बदलविले गेले" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "अतिरिक्त अक्षर गट उपलब्ध नाही" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "पाठोपाठ खूप जास्त समान अक्षर आढळले" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "कुठल्यातरी स्वरूपात वापरकर्ता नाव आढळले" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "गुप्तशब्द दिलेला नाही" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "गुप्तशब्द बदलविला नाही" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "अयोग्य गुप्तशब्द: %s" @@ -262,18 +269,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s अपयशी: अपरिचीत स्थिती 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s पासून" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s वरील" @@ -289,12 +296,12 @@ msgid "Welcome to your new account!" msgstr "नवीन खात्यावर स्वागत आहे!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "शेवटचे अपयशी दाखलन:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -303,12 +310,12 @@ msgstr[0] "शेवटचे यशस्वी प्रवेश पासू msgstr[1] "शेवटचे यशस्वी प्रवेश पासून %d अपयशी प्रवेश प्रयत्न आढळले गेले." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "शेवटचे यशस्वी प्रवेश पासून %d अपयशी प्रवेश प्रयत्न आढळले." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' करीता एकापेक्षा जास्त प्रवेश." @@ -359,8 +366,8 @@ msgstr "संचयीका '%s' बनवित आहे." msgid "Unable to create and initialize directory '%s'." msgstr "डिरेक्ट्री '%s' बनवण्यास व प्रारंभ करण्यास अशक्य." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "ह्या गुप्तशब्दचा आधीच वापर झाला आहे. दुसरा निवडा." @@ -368,43 +375,43 @@ msgstr "ह्या गुप्तशब्दचा आधीच वापर msgid "Would you like to enter a security context? [N] " msgstr "तुम्हाला सुरक्षा संदर्भ प्रविष्ट करायला आवडेल? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "भूमिका:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "स्तर:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "वैध सुरक्षा संदर्भ नाही" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "मुलभूत सुरक्षा संदर्भ %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "तुम्हाला अन्य भूमिका किंवा स्तर प्रविष्ट करायला आवडेल?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "भूमिका %s करीता मुलभूत प्रकार आढळले नाही\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s करीता वैध संदर्भ प्राप्त करू शकले नाही" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "सुरक्षा संदर्भ %s लागू केले गेले" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "कि निर्माण संदर्भ %s लागू केले गेले" @@ -424,20 +431,20 @@ msgstr "pam_set_item() कार्यान्वीत करण्यास msgid "login: failure forking: %m" msgstr "दाखलन: विभाजन अपयशी: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s करीता STRESS गुप्तशब्द बदलवित आहे." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "नवीन STRESS गुप्तशब्द प्रविष्ट करा: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "नवीन STRESS गुप्तशब्द पुन्हा प्रविष्ट करा: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "तपासणी पूर्ण झाली नाही; गुप्तशब्द बदलविले नाही" @@ -535,31 +542,31 @@ msgstr[1] "सावधानता: तुमचे गुप्तशब्द msgid "Warning: your password will expire in %d days" msgstr "सावधानता: तुमचे गुप्तशब्द %d दिवसात कालबाह्य होईल" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS गुप्तशब्द बदलविले जाऊ शकत नाही." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "तुम्ही मोठा गुप्तशब्द निवडला पाहीजे" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s करीता गुप्तशब्द बदलवित आहे." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(चालू) UNIX गुप्तशब्द: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "तुमचा गुप्तशब्द बदलण्यासाठी तुम्हाला बराच वेळ वाट पहावी लागेल" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "नवीन UNIX गुप्तशब्द प्रविष्ट करा: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "नवीन UNIX गुप्तशब्द पुन्हा टाइप करा: " diff --git a/po/ms.po b/po/ms.po index d0059351..bd9362f3 100644 --- a/po/ms.po +++ b/po/ms.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2008-09-25 23:52+0800\n" "Last-Translator: Sharuzzaman Ahmat Raslan \n" "Language-Team: Malay \n" @@ -61,7 +61,7 @@ msgstr "" msgid "Password change aborted." msgstr "Biarkan tanpa diubah" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 #, fuzzy msgid "login:" msgstr "Login:" @@ -212,62 +212,69 @@ msgstr "" msgid "Unknown PAM error" msgstr "Ralat sistem tidak diketahui" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 #, fuzzy msgid "is the same as the old one" msgstr " --src - pakej berikut adalah pakej sumber (sama dgn -s).\n" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Ralat KMail" + +#: modules/pam_cracklib/pam_cracklib.c:518 #, fuzzy msgid "is a palindrome" msgstr "seadanya" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 #, fuzzy msgid "case changes only" msgstr "Tetapkan hanya kad \"%s\"%s" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 #, fuzzy msgid "is too simple" msgstr "Nama terlalu panjang" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 #, fuzzy msgid "is rotated" msgstr "seadanya" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 #, fuzzy msgid "not enough character classes" msgstr "Tidak cukup volum fizikal" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 #, fuzzy msgid "No password supplied" msgstr "Kata Laluan & Akaun Pengguna" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 #, fuzzy msgid "Password unchanged" msgstr "Biarkan tanpa diubah" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, fuzzy, c-format msgid "BAD PASSWORD: %s" msgstr "Katalaluan Tidak Betul" @@ -288,18 +295,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, fuzzy, c-format msgid " from %.*s" msgstr "Dari: " #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, fuzzy, c-format msgid " on %.*s" msgstr "\"%s\" (pada %s)" @@ -316,12 +323,12 @@ msgid "Welcome to your new account!" msgstr "Menambah klien baru pada rangkaian anda" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, fuzzy, c-format msgid "Last failed login:%s%s%s" msgstr "Pengurus Login" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -329,12 +336,12 @@ msgid_plural "" msgstr[0] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "" @@ -389,8 +396,8 @@ msgstr "Menbuat direktori initrd" msgid "Unable to create and initialize directory '%s'." msgstr "gagal untuk mencipta direktori %s: %s\n" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "" @@ -398,47 +405,47 @@ msgstr "" msgid "Would you like to enter a security context? [N] " msgstr "" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 #, fuzzy msgid "level:" msgstr "Tahap 1" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 #, fuzzy msgid "Not a valid security context" msgstr "%s adalah nama hos yang tidak sah" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, fuzzy, c-format msgid "Default Security Context %s\n" msgstr "ketika mengulangtetap konteks" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, fuzzy, c-format msgid "No default type for role %s\n" msgstr "" "$$ untuk hukum pertengahan pada $%d bagi `%s' tidak mempunyai jenis " "dinyatakan" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, fuzzy, c-format msgid "Security Context %s Assigned" msgstr "ketika mengulangtetap konteks" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "" @@ -458,21 +465,21 @@ msgstr "" msgid "login: failure forking: %m" msgstr "Ben_arkan logmasuk luartalian" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, fuzzy, c-format msgid "Changing STRESS password for %s." msgstr "Greek 'astator' untuk 'menukar'" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 #, fuzzy msgid "Enter new STRESS password: " msgstr "Masukkkan Katalaluan Pemuat But" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "" @@ -570,32 +577,32 @@ msgstr[1] "" msgid "Warning: your password will expire in %d days" msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Menukar katalaluan untuk %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(semasa) katalaluan UNIX:" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Masukkan katalaluan UNIX baru:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "" diff --git a/po/nb.po b/po/nb.po index 52222340..5d46ec8b 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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2008-04-30 12:59+0200\n" "Last-Translator: Olav Pettershagen \n" "Language-Team: \n" @@ -58,7 +58,7 @@ msgstr "" msgid "Password change aborted." msgstr "Passord uendret" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "logg inn:" @@ -194,54 +194,61 @@ msgstr "Programmet må spørre libpam på nytt" msgid "Unknown PAM error" msgstr "Ukjent PAM-feil" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "er det samme som det gamle" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Dialogfeil" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "er et palindrom" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "kun endring av små/store bokstaver" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "er for likt det gamle" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "er for enkelt" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "er rotert" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "ikke nok tegnklasser" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Passord ikke angitt" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Passord uendret" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "SVAKT PASSORD: %s" @@ -262,18 +269,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s feilet: ukjent status 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " fra %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " på %.*s" @@ -289,12 +296,12 @@ msgid "Welcome to your new account!" msgstr "Velkommen til din nye konto!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, fuzzy, c-format msgid "Last failed login:%s%s%s" msgstr "Siste innlogging:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -303,12 +310,12 @@ msgstr[0] "" msgstr[1] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "For mange innlogginger for '%s'." @@ -359,8 +366,8 @@ msgstr "Oppretter katalog «%s»." msgid "Unable to create and initialize directory '%s'." msgstr "Kan ikke opprette katalog %s: %m" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Passordet er allerede benyttet. Velg et annet." @@ -368,43 +375,43 @@ msgstr "Passordet er allerede benyttet. Velg et annet." msgid "Would you like to enter a security context? [N] " msgstr "Vil du angi sikkerhetskontekst? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rolle:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "nivå:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Ikke en gyldig sikkerhetskontekst" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Forvalgt sikkerhetskontekst %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Vil du angi en annen rolle eller nivå?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Ingen forvalgt type for rolle %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Kan ikke finne gyldig kontekst for %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Sikkerhetskontekst %s tilordnet" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Kontekst %s for oppretting av nøkkel tilordnet" @@ -424,20 +431,20 @@ msgstr "kunne ikke pam_set_item()\n" msgid "login: failure forking: %m" msgstr "login: feil under forgrening: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Endrer STRESS-passord for %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Angi nytt STRESS-passord: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Bekreft nytt STRESS-passord: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Bekreftelse feil skrevet; passord uendret" @@ -533,32 +540,32 @@ msgstr[1] "Advarsel: passordet ditt vil utløpe om %d dager" msgid "Warning: your password will expire in %d days" msgstr "Advarsel: passordet ditt vil utløpe om %d dager" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS-passord kunne ikke endres." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Du må velge et lengre passord" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Endrer passord for %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(gjeldende) UNIX-passord: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Du må vente lenger før du kan endre passordet" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Angi nytt UNIX-passord: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Bekreft nytt UNIX-passord: " diff --git a/po/nl.po b/po/nl.po index 8022eab0..aaaa110c 100644 --- a/po/nl.po +++ b/po/nl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip.nl\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2010-07-13 14:11+0200\n" "Last-Translator: Geert Warrink \n" "Language-Team: Fedora\n" @@ -63,7 +63,7 @@ msgstr "Voer %s opnieuw in" msgid "Password change aborted." msgstr "Wachtwoord wijzigen afgebroken." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "gebruikersnaam:" @@ -199,54 +199,61 @@ msgstr "Toepassing moet libpam nogmaals aanroepen" msgid "Unknown PAM error" msgstr "Onbekende PAM fout" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "is hetzelfde als het oude" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Conversatie fout" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "is een palindroom" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "alleen veranderingen in hoofd/kleine letters" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "lijkt te veel op het oude" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "is te eenvoudig" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "is omgedraaid" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "niet genoeg karakter klasses" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "bevat teveel dezelfde opeenvolgende karakters" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "bevat de gebruikersnaam in een of andere vorm" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Geen wachtwoord opgegeven" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Wachtwoord is niet gewijzigd" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "SLECHT WACHTWOORD: %s" @@ -267,18 +274,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s is mislukt: onbekende status 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " van %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " op %.*s" @@ -294,12 +301,12 @@ msgid "Welcome to your new account!" msgstr "Welkom bij jouw nieuwe account!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Laatste mislukte inlog:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -309,13 +316,13 @@ msgstr[1] "" "Er waren %d mislukte inlog pogingen sinds de laatste succesvolle inlog." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Er waren %d mislukte inlog pogingen sinds de laatste succesvolle inlog." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Te vaak ingelogd met '%s'." @@ -366,8 +373,8 @@ msgstr "Aanmaken van map '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "Niet in staat om map '%s' aan te maken." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Wachtwoord is al gebruikt. Kies een ander wachtwoord." @@ -375,43 +382,43 @@ msgstr "Wachtwoord is al gebruikt. Kies een ander wachtwoord." msgid "Would you like to enter a security context? [N] " msgstr "Wil je een beveiliging context invoeren? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rol:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "niveau:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Geen geldige beveiliging context" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Standaard beveiliging context %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Wil je een andere rol of een ander niveau invoeren?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Geen standaard type voor rol %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Niet in staat om geldige context voor %s te verkrijgen" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Beveilging context %s toegewezen" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Sleutel aanmaak context %s toegewezen" @@ -431,20 +438,20 @@ msgstr "pam_set_item() mislukte\n" msgid "login: failure forking: %m" msgstr "inloggen: beginnen van nieuw proces mislukt: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Veranderen van STRESS wachtwoord voor %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Nieuw STRESS wachtwoord invoeren: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Nieuw STRESS wachtwoord herhalen: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Verificatie onjuist getypt; wachtwoord blijft ongewijzigd" @@ -545,31 +552,31 @@ msgstr[1] "Waarschuwing: jouw wachtwoord zal binnen %d dagen verlopen" msgid "Warning: your password will expire in %d days" msgstr "Waarschuwing: jouw wachtwoord zal binnen %d dagen verlopen" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS wachtwoord kon niet worden gewijzigd." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Je moet een langer wachtwoord kiezen" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Veranderen van wachtwoord voor %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(huidig) UNIX wachtwoord: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Je moet langer wachten om jouw wachtwoord te wijzigen" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Nieuw UNIX wachtwoord invoeren: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Nieuw UNIX wachtwoord herhalen: " diff --git a/po/or.po b/po/or.po index 9a55523d..3a0d7f93 100644 --- a/po/or.po +++ b/po/or.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip.or\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-01 15:07+0530\n" "Last-Translator: Manoj Kumar Giri \n" "Language-Team: Oriya \n" @@ -63,7 +63,7 @@ msgstr "%sକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ" msgid "Password change aborted." msgstr "ପ୍ରବେଶ ସଙ୍କେତ ପରିବର୍ତ୍ତିନକୁ ପ୍ରତ୍ୟାଖାନ କରାଯାଇଛି।" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "ଲଗଇନ:" @@ -199,54 +199,61 @@ msgstr "ପ୍ରୟୋଗ libpam କୁ ପୁନର୍ବାର ଆହ୍ବ msgid "Unknown PAM error" msgstr "ଅଜଣା PAM ତୃଟି" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ପୁରୁଣା ପ୍ରବେଶ ସଙ୍କେତ ସହିତ ଏହା ସମାନ ଅଟେ" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "କଥୋପକଥନ ତୃଟି" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "ପ୍ରବେଶ ସଙ୍କେତଟି ଗୋଟିଏ ପାଲିନଡ୍ରୋମ ଅଟେ" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "କେବଳ ଅକ୍ଷର ପ୍ରକାର ପରିବର୍ତ୍ତିତ ହୋଇଥାଏ" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ଏହା ପୂର୍ବ ପ୍ରବେଶ ସଙ୍କେତ ସହିତ ବହୁତ ସମାନ ଅଟେ" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "ଏହା ଅତି ସହଜ ଅଟେ" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "ଏହା ଘୂର୍ଣ୍ଣୟମାନ ଅଟେ" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "ଯଥେଷ୍ଟ ବର୍ଣ୍ଣ ଶ୍ରେଣୀ ନାହିଁ" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "ଅତ୍ୟଧିକ ସମାନ ଅକ୍ଷରକୁ ଲଗାତାର ଧାରଣ କରିଥାଏ" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "ଚାଳକ ନାମକୁ କୌଣସି ଉପାୟରେ ଧାରଣ କରିଥାଏ" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "କୌଣସି ପ୍ରବେଶ ସଙ୍କେତ ପ୍ରଦାନ କରାଯାଇ ନାହିଁ" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଅପରିବର୍ତ୍ତିତ ଅଛି" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ଖରାପ ପ୍ରବେଶ ସଙ୍କେତ: %s" @@ -267,18 +274,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s ବିଫଳ: ଅଜଣା ଅବସ୍ଥିତି 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s ରୁ" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s ରେ" @@ -294,12 +301,12 @@ msgid "Welcome to your new account!" msgstr "ଆପଣଙ୍କ ନୂତନ ଖାତାରେ ଆପଣଙ୍କ ସ୍ବାଗତ!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "ଅନ୍ତିମ ବିଫଳ ଲଗଇନ:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -308,12 +315,12 @@ msgstr[0] "ଅନ୍ତିମ ସଫଳ ଲଗଇନ ପରଠାରୁ %d ଟ msgstr[1] "ଅନ୍ତିମ ସଫଳ ଲଗଇନ ପରଠାରୁ %d ଟି ବିଫଳ ଲଗଇନ ପ୍ରଚେଷ୍ଟା କରାଯାଇଛି।" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "ଅନ୍ତିମ ସଫଳ ଲଗଇନ ପରଠାରୁ %d ଟି ବିଫଳ ଲଗଇନ ପ୍ରଚେଷ୍ଟା କରାଯାଇଛି।" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' ପାଇଁ ଅତ୍ଯଧିକ ସଂଖ୍ଯକ ଲଗଇନ।" @@ -364,8 +371,8 @@ msgstr "ଡ଼ିରେକ୍ଟୋରୀ '%s' ନିର୍ମାଣ କରୁ msgid "Unable to create and initialize directory '%s'." msgstr "ଡ଼ିରେକ୍ଟୋରୀ '%s'କୁ ନିର୍ମାଣ ଏବଂ ପ୍ରାରମ୍ଭ କରିବାରେ ଅସମର୍ଥ।" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "ପ୍ରବେଶ ସଙ୍କେତଟି ପୂର୍ବରୁ ବ୍ଯବହୃତ ହେଉଛି। ଅନ୍ଯ ଗୋଟିଏ ପ୍ରବେଶ ସଙ୍କେତ ଚୟନ କରନ୍ତୁ।" @@ -373,43 +380,43 @@ msgstr "ପ୍ରବେଶ ସଙ୍କେତଟି ପୂର୍ବରୁ ବ୍ msgid "Would you like to enter a security context? [N] " msgstr "ଆପଣ ଗୋଟିଏ ସୁରକ୍ଷା ପ୍ରସଙ୍ଗ ଭରଣ କରିବା ପାଇଁ ଚାହୁଁଛନ୍ତି କି? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ଭୂମିକା:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "ସ୍ତର:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "ଏହା ଗୋଟିଏ ବୈଧ ସୁରକ୍ଷା ପ୍ରସଙ୍ଗ ନୁହେଁ" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ ସୁରକ୍ଷା ପ୍ରସଙ୍ଗ %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "ଆପଣ ଭିନ୍ନ ଏକ ଭୂମିକା କିମ୍ବା ସ୍ତର ଭରଣ କରିବା ପାଇଁ ଚାହୁଁଛନ୍ତି କି?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "ଭୂମିକା %s ପାଇଁ କୌଣସି ପୂର୍ବନିର୍ଦ୍ଧାରିତ ପ୍ରକାର ନାହିଁ \n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s ପାଇଁ ବୈଧ ପ୍ରସଙ୍ଗ ପାଇବାରେ ଅସମର୍ଥ" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "%s ସୁରକ୍ଷା ପ୍ରସଙ୍ଗ ନ୍ଯସ୍ତ କରାଯାଇଛି" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "କି ନିର୍ମାଣ୍ଣ ପ୍ରସଙ୍ଗ %s ନ୍ଯସ୍ତ କରାଯାଇଛି" @@ -429,20 +436,20 @@ msgstr "pam_set_item() କରିବାରେ ବିଫଳ\n" msgid "login: failure forking: %m" msgstr "ଲଗଇନ: fork କରିବାରେ ବିଫଳ: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s ପାଇଁ STRESS ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଉଛି." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "ନୂତନ STRESS ପ୍ରବେଶ ସଙ୍କେତ ଭରଣ କରନ୍ତୁ: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "ନୂତନ STRESS ପ୍ରବେଶ ସଙ୍କେତକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "ଯାଞ୍ଚକରଣ ସମୟରେ ଭୂଲ ଟାଇପ କରିଛନ୍ତି, ପ୍ରବେଶ ସଙ୍କେତଟି ବଦଳି ନାହିଁ" @@ -541,31 +548,31 @@ msgstr[1] "ଚେତାବନୀ: ଆପଣଙ୍କ ପ୍ରବେଶ ସଙ msgid "Warning: your password will expire in %d days" msgstr "ଚେତାବନୀ: ଆପଣଙ୍କ ପ୍ରବେଶ ସଙ୍କେତ %d ଦିନରେ ଅକାମି ହୋଇଯିବ" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଇ ହେଲା ନାହିଁ।" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "ଆପଣ ଗୋଟିଏ ଲମ୍ବା ପ୍ରବେଶ ସଙ୍କେତ ଚୟନ କରିବା ଉଚିତ" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s ପାଇଁ ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଉଛି." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(ବର୍ତ୍ତମାନ ଥିବା) UNIX ପ୍ରବେଶ ସଙ୍କେତ: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଇବା ପାଇଁ ଆପଣ ଅଧିକ ସମୟ ଅପେକ୍ଷା କରିବା ଉଚିତ" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "ନୂତନ UNIX ପ୍ରବେଶ ସଙ୍କେତ ଭରଣ କରନ୍ତୁ: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "ନୂତନ UNIX ପ୍ରବେଶ ସଙ୍କେତକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ: " diff --git a/po/pa.po b/po/pa.po index 37c225d4..854c32f5 100644 --- a/po/pa.po +++ b/po/pa.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip.pa\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-06-01 16:19+0530\n" "Last-Translator: Jaswinder Singh \n" "Language-Team: Punjabi \n" @@ -59,7 +59,7 @@ msgstr "ਮੁੜ-ਲਿਖੋ %s" msgid "Password change aborted." msgstr "ਪਾਸਵਰਡ ਤਬਦੀਲੀ ਅਧੂਰੀ ਛੱਡੀ ਗਈ।" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "ਲਾਗਇਨ:" @@ -195,54 +195,61 @@ msgstr "ਕਾਰਜ ਲਈ ਫਿਰ libpam ਨੂੰ ਕਾਲ ਕਰਨ ਦ msgid "Unknown PAM error" msgstr "ਅਣਜਾਣ PAM ਗਲਤੀ" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ਪੁਰਾਣੇ ਵਰਗਾ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "ਤਬਦੀਲੀ ਗਲਤੀ" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "ਇੱਕ palindrome ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "ਸਿਰਫ ਅੱਖਰ ਤਬਦੀਲੀ" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ਪੁਰਾਣੇ ਨਾਲ ਬਹੁਤ ਮਿਲਦਾ-ਜੁਲਦਾ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "ਬਹੁਤ ਸਧਾਰਨ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "ਘੁੰਮਾਇਆ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "ਲੋੜੀਂਦੀਆਂ ਅੱਖਰ ਸ਼੍ਰੇਣੀਆਂ ਨਹੀਂ ਹਨ" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "ਲਗਾਤਾਰ ਬਹੁਤ ਸਾਰੇ ਮਿਲਦੇ-ਜੁਲਦੇ ਅੱਖਰ ਸ਼ਾਮਿਲ ਹਨ" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "ਕੁਸੇ ਰੂਪ ਵਿੱਚ ਉਪਭੋਗੀ ਨਾਂ ਸ਼ਾਮਿਲ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "ਕੋਈ ਪਾਸਵਰਡ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "ਪਾਸਵਰਡ ਨਾ-ਤਬਦੀਲ ਹੈ" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ਗਲਤ ਪਾਸਵਰਡ: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s ਫੇਲ ਹੋਇਆ: ਅਣਪਛਾਤੀ ਸਥਿਤੀ 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " from %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " on %.*s" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "ਤੁਹਾਡੇ ਨਵੇਂ ਖਾਤੇ ਵਿੱਚ ਜੀ ਆਇਆਂ ਨੂੰ!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "ਆਖਰੀ ਫੇਲ ਹੋਇਆ ਲਾਗਇਨ:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgstr[0] "ਪਿਛਲੇ ਸਫਲਤਾਪੂਰਕ ਲਾਗਇਨ ਤੋਂ msgstr[1] "ਪਿਛਲੇ ਸਫਲਤਾਪੂਰਕ ਲਾਗਇਨ ਤੋਂ ਬਾਇਦ %d ਫੇਲ ਲਾਗਇਨ ਕੋਸ਼ਿਸ਼ਾਂ ਹਨ।" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "ਪਿਛਲੇ ਸਫਲਤਾਪੂਰਕ ਲਾਗਇਨ ਤੋਂ ਬਾਇਦ %d ਫੇਲ ਲਾਗਇਨ ਕੋਸ਼ਿਸ਼ਾਂ ਹਨ।" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' ਲਈ ਬਹੁਤ ਸਾਰੇ ਲਾਗਇਨ।" @@ -360,8 +367,8 @@ msgstr "ਡਾਇਰੈਕਟਰੀ '%s' ਬਣਾ ਰਿਹਾ ਹੈ।" msgid "Unable to create and initialize directory '%s'." msgstr "ਡਾਇਰੈਕਟਰੀ '%s' ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਸ਼ੁਰੂ ਕਰਨ ਵਿੱਚ ਅਸਮਰਥ।" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "ਪਾਸਵਰਡ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ ਹੈ। ਵੱਖਰਾ ਚੁਣੋ।" @@ -369,43 +376,43 @@ msgstr "ਪਾਸਵਰਡ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ msgid "Would you like to enter a security context? [N] " msgstr "ਕੀ ਤੁਸੀਂ ਇੱਕ ਸੁਰੱਖਿਆ ਪਰਸੰਗ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "ਰੋਲ:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "ਲੈਵਲ:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "ਇੱਕ ਠੀਕ ਸੁਰੱਖਿਆ ਪਰਸੰਗ ਨਹੀਂ" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "ਮੂਲ ਸੁਰੱਖਿਆ ਪ੍ਰਸੰਗ %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "ਕੀ ਤੁਸੀਂ ਇੱਕ ਵੱਖਰਾ ਰੋਲ ਜਾਂ ਲੈਵਲ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "ਰੋਲ %s ਵਾਲੀ ਕੋਈ ਮੂਲ ਕਿਸਮ ਨਹੀਂ ਹੈ\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s ਲਈ ਯੋਗ ਪ੍ਰਸੰਗ ਲੈਣ ਵਿੱਚ ਅਸਮਰਥ" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "ਸੁਰੱਖਿਆ ਪ੍ਰਸੰਗ %s ਨਿਰਧਾਰਤ ਕੀਤਾ" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "ਕੁੰਜੀ ਬਣਾਉਣ ਪ੍ਰਸੰਗ %s ਨਿਰਧਾਰਤ ਕੀਤਾ" @@ -425,20 +432,20 @@ msgstr "pam_set_item() ਲਈ ਫੇਲ\n" msgid "login: failure forking: %m" msgstr "ਲਾਗਇਨ: ਫੋਰਕਿੰਗ ਫੇਲ: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s ਲਈ STRESS ਪਾਸਵਰਡ ਤਬਦੀਲ ਕਰ ਰਿਹਾ ਹੈ।" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "ਨਵਾਂ STRESS ਪਾਸਵਰਡ ਦਿਓ: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "ਨਵਾਂ STRESS ਪਾਸਵਰਡ ਮੁੜ-ਲਿਖੋ: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "ਗਲਤ-ਟਾਈਪ ਜਾਂਚ; ਪਾਸਵਰਡ ਨਾ-ਤਬਦੀਲ" @@ -536,31 +543,31 @@ msgstr[1] "ਚੇਤਾਵਨੀ: ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਦੀ msgid "Warning: your password will expire in %d days" msgstr "ਚੇਤਾਵਨੀ: ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ %d ਦਿਨਾਂ ਵਿੱਚ ਪੁੱਗ ਜਾਵੇਗੀ" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS ਪਾਸਵਰਡ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ ਹੈ।" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "ਤੁਹਾਨੂੰ ਲੰਮੇ ਪਾਸਵਰਡ ਦੀ ਚੋਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s ਲਈ ਪਾਸਵਰਡ ਤਬਦੀਲ ਕਰ ਰਿਹਾ ਹੈ।" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(ਮੌਜੂਦਾ) UNIX ਪਾਸਵਰਡ: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "ਤੁਹਾਨੂੰ ਲੰਬੇ ਸਮੇਂ ਲਈ ਆਪਣੇ ਪਾਸਵਰਡ ਲਈ ਉਡੀਕ ਕਰਨੀ ਪਵੇਗੀ" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "ਨਵਾਂ ਯੂਨਿਕਸ ਪਾਸਵਰਡ ਦਿਓ: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "ਨਵਾਂ ਯੂਨਿਕਸ ਪਾਸਵਰਡ ਮੁੜ-ਲਿਖੋ: " diff --git a/po/pl.po b/po/pl.po index bc163905..c612b543 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-09-27 13:48+0200\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" @@ -58,7 +58,7 @@ msgstr "Proszę ponownie podać %s" msgid "Password change aborted." msgstr "Przerwano zmianę hasła." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "login:" @@ -195,54 +195,61 @@ msgstr "Aplikacja musi jeszcze raz wywołać libpam" msgid "Unknown PAM error" msgstr "Nieznany błąd PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "jest identyczne ze starym" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Błąd rozmowy" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "jest palindromem" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "ma zmienioną tylko wielkość znaków" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "jest za bardzo podobne do poprzedniego" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "jest za proste" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "jest obrócone" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "za mało klas znaków" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "zawiera za dużo takich samych znaków po sobie" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "zawiera nazwę użytkownika w pewnej formie" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Nie podano hasła" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Hasło nie zostało zmienione" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "BŁĘDNE HASŁO: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s nie powiodło się: nieznany stan 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " z %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " na %.*s" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "Witaj na swoim nowym koncie!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Ostatnie nieudane logowanie:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -308,13 +315,13 @@ msgstr[2] "" "Nastąpiło %d nieudanych prób zalogowania od ostatniego udanego logowania." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Nastąpiło %d nieudanych prób zalogowania od ostatniego udanego logowania." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Za dużo prób zalogowania na \"%s\"." @@ -365,8 +372,8 @@ msgstr "Tworzenie katalogu \"%s\"." msgid "Unable to create and initialize directory '%s'." msgstr "Nie można utworzyć i zainicjować katalogu \"%s\"." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Hasło było już używane. Proszę wybrać inne." @@ -374,43 +381,43 @@ msgstr "Hasło było już używane. Proszę wybrać inne." msgid "Would you like to enter a security context? [N] " msgstr "Podać kontekst bezpieczeństwa? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rola:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "poziom:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Nieprawidłowy kontekst bezpieczeństwa" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Domyślny kontekst bezpieczeństwa %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Podać inną rolę lub poziom?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Brak domyślnego typu dla roli %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Nie można uzyskać prawidłowego kontekstu dla %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Kontekst bezpieczeństwa %s został przypisany" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Kontekst tworzenia klucza %s został przypisany" @@ -430,20 +437,20 @@ msgstr "pam_set_item() nie powiodło się\n" msgid "login: failure forking: %m" msgstr "login: rozdzielenie nie powiodło się: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Zmienianie hasła STRESS dla %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Proszę podać nowe hasło STRESS: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Proszę ponownie podać hasło STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Sprawdzenie nie powiodło się; hasło nie zostało zmienione" @@ -543,31 +550,31 @@ msgstr[2] "Ostrzeżenie: hasło wygaśnie za %d dni" msgid "Warning: your password will expire in %d days" msgstr "Ostrzeżenie: hasło wygaśnie za %d dni" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Nie można zmienić hasła NIS." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Należy wybrać dłuższe hasło" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Zmienianie hasła dla %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(obecne) hasło UNIX:" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Należy poczekać dłużej, aby zmienić hasło" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Proszę podać nowe hasło UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Proszę ponownie podać hasło UNIX: " diff --git a/po/pt.po b/po/pt.po index a6e8cc4b..46c80d85 100644 --- a/po/pt.po +++ b/po/pt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-09 16:42+0100\n" "Last-Translator: Rui Gouveia \n" "Language-Team: pt \n" @@ -61,7 +61,7 @@ msgstr "Digite novamente %s" msgid "Password change aborted." msgstr "Alteração da senha interrompida." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "utilizador:" @@ -198,54 +198,61 @@ msgstr "A aplicação necessita de invocar o libpam novamente" msgid "Unknown PAM error" msgstr "Erro PAM desconhecido" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "é igual à anterior" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Erro de conversação" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "é um palíndromo" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "apenas muda a capitulação" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "é muito semelhante à anterior" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "é demasiado simples" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "é rodada" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "não tem classes de caracteres suficientes" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "contém demasiados caracteres iguais consecutivos" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "contém, de alguma forma, o nome do utilizador" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Não foi fornecida uma senha" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Senha inalterada" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "MÁ SENHA: %s" @@ -266,18 +273,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s falhou: estado desconhecido 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " a partir de %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " em %.*s" @@ -293,12 +300,12 @@ msgid "Welcome to your new account!" msgstr "Bem vindo à sua nova conta!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Último início de sessão falhado:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -311,14 +318,14 @@ msgstr[1] "" "sessão com sucesso." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Houve %d tentativas falhadas de início de sessão desde o último início de " "sessão com sucesso." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Demasiados inícios de sessão para '%s'." @@ -369,8 +376,8 @@ msgstr "A criar directório '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "Não foi possível criar e inicializar o directório '%s'." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "A senha já foi utilizada anteriormente. Escolha outra." @@ -378,43 +385,43 @@ msgstr "A senha já foi utilizada anteriormente. Escolha outra." msgid "Would you like to enter a security context? [N] " msgstr "Pretende inserir um contexto de segurança? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "Perfil: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "nível: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Não é um contexto de segurança válido" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Contexto de Segurança por Omissão %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Pretende inserir um perfil ou nível diferente?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Perfil sem tipo definido por omissão %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Não foi possível obter um contexto de segurança válido para %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Contexto de Segurança %s Atribuído" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Contexto de Segurança de Chaves %s Atribuído" @@ -434,20 +441,20 @@ msgstr "falha em pam_set_item()\n" msgid "login: failure forking: %m" msgstr "início de sessão: falha no 'forking': %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "A alterar a senha STRESS para %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Digite a nova senha STRESS: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Digite novamente a nova senha STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "A verificação não coincide; senha inalterada" @@ -546,32 +553,32 @@ msgstr[1] "Aviso: a sua senha expira em %d dias" msgid "Warning: your password will expire in %d days" msgstr "Aviso: a sua palavra passe expira em %d dias" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "A senha NIS não pode ser alterada." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Deve escolher uma senha mais longa" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "A alterar senha para %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "senha UNIX (actual): " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Tem de esperar mais antes de poder alterar a sua senha" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Digite a nova senha UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Digite novamente a nova senha UNIX: " diff --git a/po/pt_BR.po b/po/pt_BR.po index 1341977b..09de8a10 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-02-20 12:41-0300\n" "Last-Translator: Taylon \n" "Language-Team: Brazilian Portuguese \n" @@ -61,7 +61,7 @@ msgstr "Redigite %s" msgid "Password change aborted." msgstr "A alteração de senha foi abortada." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "login:" @@ -197,54 +197,61 @@ msgstr "O aplicativo precisa chamar libpam novamente" msgid "Unknown PAM error" msgstr "Erro desconhecido no PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "é igual à antiga senha" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Erro de conversação" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "é um palíndromo" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "mudou apenas maiúsculas/minúsculas" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "é muito semelhante à antiga" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "é simples demais" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "foi invertida" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "classes de caractere insuficientes" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "contém muitos caracteres igual consecutivamente" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "contém o nome de usuário em algum formulário" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Nenhuma senha informada" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Senha inalterada" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "SENHA INCORRETA: %s" @@ -265,18 +272,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s falhou: status desconhecido 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "de %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "em %.*s" @@ -292,12 +299,12 @@ msgid "Welcome to your new account!" msgstr "Bem-vindo à sua nova conta!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Falha no último login:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -306,12 +313,12 @@ msgstr[0] "Houve %d falhas de login desde o último login bem sucedido." msgstr[1] "Houveram %d falhas de login desde o último login bem sucedido." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Houveram %d falhas de login desde o último login bem sucedido." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Há logins demais para '%s'." @@ -362,8 +369,8 @@ msgstr "Criando o diretório '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "Impossível criar e inicializar o diretório \"%s\"." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "A senha já foi usada. Escolha outra." @@ -371,43 +378,43 @@ msgstr "A senha já foi usada. Escolha outra." msgid "Would you like to enter a security context? [N] " msgstr "Deseja digitar um contexto de segurança? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "função:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "nível:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Não é um contexto de segurança válido" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Contexto de Segurança Padrão %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Deseja digitar uma função ou nível diferente?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Não existe tipo padrão para a função %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Impossível obter um contexto válido para %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Contexto de segurança %s atribuído" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Contexto de criação de chave %s atribuído" @@ -427,20 +434,20 @@ msgstr "falha em pam_set_item()\n" msgid "login: failure forking: %m" msgstr "login: falha na bifurcação: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Mudando senha STRESS para %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Digite a nova senha STRESS:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Digite novamente a nova senha STRESS:" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Verificação digitada incorretamente; senha inalterada" @@ -538,32 +545,32 @@ msgstr[1] "Aviso: sua senha irá expirar em %d dias" msgid "Warning: your password will expire in %d days" msgstr "Aviso: sua senha irá expirar em %d dias" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "A senha NIS não pôde ser mudada." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Escolha uma senha mais longa" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Mudando senha para %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "Senha UNIX (atual):" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Aguarde mais tempo para mudar a senha" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Digite a nova senha UNIX:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Redigite a nova senha UNIX:" diff --git a/po/ru.po b/po/ru.po index 69328e33..5d656363 100644 --- a/po/ru.po +++ b/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: ru\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-08-21 15:33+1000\n" "Last-Translator: Yulia Poyarkova \n" "Language-Team: \n" @@ -64,7 +64,7 @@ msgstr "Повторите ввод %s" msgid "Password change aborted." msgstr "Изменение пароля отменено." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "учетная запись:" @@ -203,55 +203,62 @@ msgstr "Приложение должно повторно вызвать libpam msgid "Unknown PAM error" msgstr "Неизвестная ошибка PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "совпадает со старым" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Ошибка диалога" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "является палиндромом" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "изменения только в регистре" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "слишком похож на старый" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "слишком простой" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "является результатом чередования" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "слишком мало символов различных типов" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "содержит слишком длинную последовательность одинаковых символов" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "содержит имя пользователя" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Пароль не указан" # password dialog title -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Пароль не изменен" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "НЕУДАЧНЫЙ ПАРОЛЬ: %s" @@ -272,18 +279,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "Сбой %s. Неизвестный статус 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "с %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "на %.*s" @@ -299,12 +306,12 @@ msgid "Welcome to your new account!" msgstr "Добро пожаловать в новую учетную запись!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Последняя неудачная попытка входа в систему:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -314,12 +321,12 @@ msgstr[1] "Число неудачных попыток со времени по msgstr[2] "Число неудачных попыток со времени последнего входа: %d." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Число неудачных попыток со времени последнего входа: %d." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Слишком много регистраций в системе для «%s»." @@ -370,8 +377,8 @@ msgstr "Создание каталога %s." msgid "Unable to create and initialize directory '%s'." msgstr "Не удалось создать и инициализировать каталог %s." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Этот пароль уже был использован. Выберите другой." @@ -380,44 +387,44 @@ msgstr "Этот пароль уже был использован. Выбери msgid "Would you like to enter a security context? [N] " msgstr "Ввести контекст безопасности? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "роль:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "уровень:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Неверный контекст безопасности" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Контекст безопасности по умолчанию %s\n" # power-off message -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Хотите ввести другую роль или уровень?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Для роли %s нет типа по умолчанию\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Не удалось получить корректный контекст для %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Контекст безопасности %s назначен" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Контекст %s, используемый при создании ключей, назначен" @@ -437,21 +444,21 @@ msgstr "не удалось выполнить pam_set_item()\n" msgid "login: failure forking: %m" msgstr "регистрация: сбой при создании нового процесса: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Смена пароля STRESS для %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Введите новый пароль STRESS: " # Keep the newlines and spaces after ':'! -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Повторите ввод нового пароля STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Подтверждение введено неправильно; пароль не изменен" @@ -557,33 +564,33 @@ msgid "Warning: your password will expire in %d days" msgstr "Предупреждение: срок действия пароля истекает через %d дн(я)(ей)" # password dialog title -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Пароль NIS изменить нельзя." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Выберите пароль большей длины" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Смена пароля для %s." # Keep the newlines and spaces after ':'! -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(текущий) пароль UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "До смены пароля должно пройти больше времени" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Введите новый пароль UNIX: " # Keep the newlines and spaces after ':'! -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Повторите ввод нового пароля UNIX: " diff --git a/po/si.po b/po/si.po index 463e574d..a3f99ece 100644 --- a/po/si.po +++ b/po/si.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: si\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2007-06-22 12:24+0530\n" "Last-Translator: Danishka Navin \n" "Language-Team: Sinhala \n" @@ -59,7 +59,7 @@ msgstr "වර්‍ගය:" msgid "Password change aborted." msgstr "රහස්පදය වෙනස් නොවිනි" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "පිවිසීම:" @@ -195,54 +195,61 @@ msgstr "යෙදුමට පැරණි libpam ඇමතීමට අවශ msgid "Unknown PAM error" msgstr "නොදන්නා PAM දෝෂය" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "එය පැරණි රහස්පදය හා සමාන වේ" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "පරිවර්තන දෝෂය" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "එය පැලින්ඩ්‍රොමයකි" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "කැපිටල් සිම්පල් වෙනස්කම් පමණි" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "එය පැරණි රහස්පදය බොගොදුරට සමාන වේ" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "එය සරළ වැඩි වේ" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "භ්‍රමණය වි ඇත" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "රහස්පදය සපයා නැත" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "රහස්පදය වෙනස් නොවිනි" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "BAD PASSWORD: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s අසමත් විය: නොදන්නා තත්වය 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "%.*s වෙතින්" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "%.*s වෙනිදා" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "ඔබගේ නව ගිණුමට සාදරයෙන් පිළිගනිමු!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, fuzzy, c-format msgid "Last failed login:%s%s%s" msgstr "අවසාන පිවිසුම:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgstr[0] "" msgstr[1] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' සඳහා බොහෝ පිවිසුම් ගණනක් ඇත." @@ -360,8 +367,8 @@ msgstr "" msgid "Unable to create and initialize directory '%s'." msgstr "" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "රහස්පදය දැනටමත් භාවිතා වේ. වෙනත් එකක් තෝරාගන්න." @@ -370,46 +377,46 @@ msgstr "රහස්පදය දැනටමත් භාවිතා වේ. msgid "Would you like to enter a security context? [N] " msgstr "ඔබ ආරක්‍ෂක ප්‍රකරණයක් ඇතුළත් කිරීමට කැමති ද? [y] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 #, fuzzy msgid "role:" msgstr "කාරිය:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 #, fuzzy msgid "level:" msgstr "මට්ටම:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "නිරවද්‍ය ආරක්‍ෂක ප්‍රකරණයක් නොවේ" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, fuzzy, c-format msgid "Default Security Context %s\n" msgstr "%s ආරක්‍ෂක ප්‍රකරණය යොදවා ඇත" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 #, fuzzy msgid "Would you like to enter a different role or level?" msgstr "ඔබ ආරක්‍ෂක ප්‍රකරණයක් ඇතුළත් කිරීමට කැමති ද? [y] " -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "%s ආරක්‍ෂක ප්‍රකරණය යොදවා ඇත" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, fuzzy, c-format msgid "Key Creation Context %s Assigned" msgstr "%s ආරක්‍ෂක ප්‍රකරණය යොදවා ඇත" @@ -429,20 +436,20 @@ msgstr "pam_set_item() අසමත් විය\n" msgid "login: failure forking: %m" msgstr "පිවිසුම: ෆොර්කින් බිදවැටීමක්: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, fuzzy, c-format msgid "Changing STRESS password for %s." msgstr "STRESS රහස්පදය වෙනස් කරමින්" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "නව STRESS රහස්පදය ඇතුළත් කරන්න:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "නව STRESS රහස්පදය නැවත ඇතුළත් කරන්න:" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "ස්ථිරකර ගැනීම සඳහා වැරදි ඇතුලත් කිරීමක්; රහස්පදය වෙනස් කළ නොහැක" @@ -538,32 +545,32 @@ msgstr[1] "අවවාදයි: ඔබගේ රහස්පදය දින % msgid "Warning: your password will expire in %d days" msgstr "අවවාදයි: ඔබගේ රහස්පදය දින %d කින් කල්ඉකුත් වේ" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS රහස්පදය වෙනස් කළ නොහැක." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "ඔබ විසින් දිගු රහස්පදයක් තෝරාගත යුතුම වේ" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, fuzzy, c-format msgid "Changing password for %s." msgstr "STRESS රහස්පදය වෙනස් කරමින්" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(දැනට ඇති) UNIX රහස්පදය: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "ඔබගේ රහස්පදය වෙනස් කිරීමට බොහෝ වෙලාවක් රැදී සිටීය යුතුම වේ" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "නව UNIX රහස්පදය ඇතුළත් කරන්න:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "නව UNIX රහස්පදය නැවත ඇතුළත් කරන්න:" diff --git a/po/sk.po b/po/sk.po index a3c9e11f..39458d9f 100644 --- a/po/sk.po +++ b/po/sk.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-03-24 22:24+0100\n" "Last-Translator: Pavol Šimo \n" "Language-Team: Slovak \n" @@ -57,7 +57,7 @@ msgstr "Opakujte %s" msgid "Password change aborted." msgstr "Zmena hesla zrušená." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "login:" @@ -193,54 +193,61 @@ msgstr "Aplikácia musí znovu zavolať libpam" msgid "Unknown PAM error" msgstr "Neznáme chyba PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "je rovnaké ako predchádzajúce" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Chyba konverzácie" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "je palindróm" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "len zmena veľkosti" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "je príliš podobné predchádzajúcemu" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "je príliš jednoduché" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "je otočené" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "nedostatok rôznych druhov znakov" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "obsahuje príliš veľa rovnakých znakov za sebou" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "obsahuje v nejakej forme používateľské meno" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Heslo nezadané" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Heslo nebolo zmenené" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "NESPRÁVNE HESLO: %s" @@ -261,18 +268,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s zlyhalo: neznámy stav 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %d.%m.%Y %H:%M:%S %Z" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " z %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " na %.*s" @@ -288,12 +295,12 @@ msgid "Welcome to your new account!" msgstr "Vitajte vo vašom novom účte!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Posledné neúspešné prihlásenie:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -309,14 +316,14 @@ msgstr[2] "" "prihlásenie." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Od posledného úspešného prihlásenia došlo k %d neúspešným pokusom o " "prihlásenie." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Príliš veľa prihlásení pre '%s'." @@ -367,8 +374,8 @@ msgstr "Vytváranie priečinka '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "Nedá sa vytvoriť a inicializovať priečinok '%s'." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Heslo už bolo použité. Zvoľte si iné." @@ -376,43 +383,43 @@ msgstr "Heslo už bolo použité. Zvoľte si iné." msgid "Would you like to enter a security context? [N] " msgstr "Želáte si zadať kontext zabezpečenia? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rola:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "úroveň:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Neplatný kontext zabezpečenia" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Predvolený kontext zabezpečenia %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Želáte si zadať inú rolu alebo úroveň?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Chýba predvolený typ pre rolu %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Nepodarilo sa získať platný kontext zabezpečenia pre %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Kontext zabezpečenia %s pridelený" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Kontext zabezpečenia pre vytváranie kľúčov %s pridelený" @@ -432,20 +439,20 @@ msgstr "chyba pri pam_set_item()\n" msgid "login: failure forking: %m" msgstr "login: chyba forku: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Zmena STRESS hesla pre %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Zadajte nové STRESS heslo: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Znovu zadajte nové STRESS heslo: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Chybné potvrdenie; heslo nezmenené" @@ -546,32 +553,32 @@ msgstr[2] "Upozornenie: vaše heslo vyprší za %d dní" msgid "Warning: your password will expire in %d days" msgstr "Upozornenie: vaše heslo vyprší za %d dní" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Nie je možné zmeniť NIS heslo." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Musíte si zvoliť dlhšie heslo" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Zmena hesla pre %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(aktuálne) UNIX heslo: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Na zmenu svojho hesla musíte počkať dlhšie" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Zadajte nové UNIX heslo: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Opakujte nové UNIX heslo: " diff --git a/po/sr.po b/po/sr.po index 0ad50f49..d30d950c 100644 --- a/po/sr.po +++ b/po/sr.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-03-25 22:53+0100\n" "Last-Translator: Miloš Komarčević \n" "Language-Team: Serbian (sr) \n" @@ -61,7 +61,7 @@ msgstr "Поново унесите %s" msgid "Password change aborted." msgstr "Промена лозинке је прекинута." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "пријава:" @@ -197,54 +197,61 @@ msgstr "Програм мора поново да позове libpam" msgid "Unknown PAM error" msgstr "Непозната PAM грешка" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "иста је као и стара" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Грешка у разговору" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "палиндром је" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "само промене величине слова" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "сувише је слична претходној" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "сувише је једноставна" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "изокренута је" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "нема довољно класа знакова" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "садржи превише истих знакова узастопно" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "садржи корисничко име у неком облику" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Није понуђена лозинка" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Лозинка није промењена" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ЛОША ЛОЗИНКА: %s" @@ -265,18 +272,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s неуспех: непознат статус 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %e. %b %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " са %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " на %.*s" @@ -292,12 +299,12 @@ msgid "Welcome to your new account!" msgstr "Добро дошли на ваш нови налог!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Последња неуспешна пријава:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -307,12 +314,12 @@ msgstr[1] "Било је %d неуспела покушаја пријаве о msgstr[2] "Било је %d неуспелих покушаја пријаве од последње успешне пријаве." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Било је %d неуспелих покушаја пријаве од последње успешне пријаве." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Превише пријава за „%s“." @@ -363,8 +370,8 @@ msgstr "Правим директоријум „%s“." msgid "Unable to create and initialize directory '%s'." msgstr "Не могу да направим директоријум „%s“." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Лозинка је већ у употреби. Изаберите другу." @@ -372,43 +379,43 @@ msgstr "Лозинка је већ у употреби. Изаберите др msgid "Would you like to enter a security context? [N] " msgstr "Да ли желите да унесете безбедносни контекст? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "улога:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "ниво:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Неисправан безбедносни контекст" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Подразумевани безбедносни контекст %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Да ли желите да унесете другу улогу или ниво?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Нема подразумеване врсте за улогу %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Не могу да прибавим исправан контекст за %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Безбедносни контекст %s је додељен" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Контекст прављења кључа %s је додељен" @@ -428,20 +435,20 @@ msgstr "неуспешно извршавање функције pam_set_item()\ msgid "login: failure forking: %m" msgstr "пријава: грешка при гранању: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Промена STRESS лозинке за %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Унесите нову STRESS лозинку: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Поново унесите нову STRESS лозинку: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Потврда је погрешно укуцана; лозинка није промењена" @@ -541,31 +548,31 @@ msgstr[2] "Упозорење: ваша лозинка ће истећи кро msgid "Warning: your password will expire in %d days" msgstr "Упозорење: ваша лозинка ће истећи кроз %d дана" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS лозинка не може бити промењена." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Морате изабрати дужу лозинку" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Мењам лозинку за %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(тренутна) UNIX лозинка: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Морате дуже сачекати на промену лозинке" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Унесите нову UNIX лозинку: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Поново унесите нову UNIX лозинку: " diff --git a/po/sr@latin.po b/po/sr@latin.po index 4c28d868..65009238 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-03-25 22:53+0100\n" "Last-Translator: Miloš Komarčević \n" "Language-Team: Serbian (sr) \n" @@ -61,7 +61,7 @@ msgstr "Ponovo unesite %s" msgid "Password change aborted." msgstr "Promena lozinke je prekinuta." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "prijava:" @@ -197,54 +197,61 @@ msgstr "Program mora ponovo da pozove libpam" msgid "Unknown PAM error" msgstr "Nepoznata PAM greška" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ista je kao i stara" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Greška u razgovoru" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "palindrom je" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "samo promene veličine slova" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "suviše je slična prethodnoj" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "suviše je jednostavna" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "izokrenuta je" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "nema dovoljno klasa znakova" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "sadrži previše istih znakova uzastopno" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "sadrži korisničko ime u nekom obliku" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Nije ponuđena lozinka" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Lozinka nije promenjena" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "LOŠA LOZINKA: %s" @@ -265,18 +272,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s neuspeh: nepoznat status 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %e. %b %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " sa %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " na %.*s" @@ -292,12 +299,12 @@ msgid "Welcome to your new account!" msgstr "Dobro došli na vaš novi nalog!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Poslednja neuspešna prijava:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -307,12 +314,12 @@ msgstr[1] "Bilo je %d neuspela pokušaja prijave od poslednje uspešne prijave." msgstr[2] "Bilo je %d neuspelih pokušaja prijave od poslednje uspešne prijave." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "Bilo je %d neuspelih pokušaja prijave od poslednje uspešne prijave." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Previše prijava za „%s“." @@ -363,8 +370,8 @@ msgstr "Pravim direktorijum „%s“." msgid "Unable to create and initialize directory '%s'." msgstr "Ne mogu da napravim direktorijum „%s“." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Lozinka je već u upotrebi. Izaberite drugu." @@ -372,43 +379,43 @@ msgstr "Lozinka je već u upotrebi. Izaberite drugu." msgid "Would you like to enter a security context? [N] " msgstr "Da li želite da unesete bezbednosni kontekst? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "uloga:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "nivo:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Neispravan bezbednosni kontekst" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Podrazumevani bezbednosni kontekst %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Da li želite da unesete drugu ulogu ili nivo?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Nema podrazumevane vrste za ulogu %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Ne mogu da pribavim ispravan kontekst za %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Bezbednosni kontekst %s je dodeljen" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Kontekst pravljenja ključa %s je dodeljen" @@ -428,20 +435,20 @@ msgstr "neuspešno izvršavanje funkcije pam_set_item()\n" msgid "login: failure forking: %m" msgstr "prijava: greška pri grananju: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Promena STRESS lozinke za %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Unesite novu STRESS lozinku: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Ponovo unesite novu STRESS lozinku: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Potvrda je pogrešno ukucana; lozinka nije promenjena" @@ -541,31 +548,31 @@ msgstr[2] "Upozorenje: vaša lozinka će isteći kroz %d dana" msgid "Warning: your password will expire in %d days" msgstr "Upozorenje: vaša lozinka će isteći kroz %d dana" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS lozinka ne može biti promenjena." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Morate izabrati dužu lozinku" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Menjam lozinku za %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(trenutna) UNIX lozinka: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Morate duže sačekati na promenu lozinke" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Unesite novu UNIX lozinku: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Ponovo unesite novu UNIX lozinku: " diff --git a/po/sv.po b/po/sv.po index 89c4c647..011d674b 100644 --- a/po/sv.po +++ b/po/sv.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2010-03-25 19:44+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -58,7 +58,7 @@ msgstr "Ange %s igen" msgid "Password change aborted." msgstr "Ändring av lösenordet avbröts." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "inloggning:" @@ -194,54 +194,61 @@ msgstr "Programmet behöver anropa libpam igen" msgid "Unknown PAM error" msgstr "Okänt PAM-fel" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "är samma som det gamla" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Konversationsfel" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "är ett palindrom" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "endast ändringar i gemener och versaler" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "är för likt det gamla" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "är för enkelt" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "är roterat" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "för få teckenklasser" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "innehåller för många tecken av samma sort i följd" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "innehåller användarnamnet i någon form" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Inget lösenord angivet" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Oförändrat lösenord" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "DÅLIGT LÖSENORD: %s" @@ -262,18 +269,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s misslyckades: okänd status 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %e %b %Y %H.%M.%S %Z" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " från %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " på %.*s" @@ -289,12 +296,12 @@ msgid "Welcome to your new account!" msgstr "Välkommen till ditt nya konto!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Senaste misslyckade inloggning:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -307,14 +314,14 @@ msgstr[1] "" "inloggning." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Det har skett %d misslyckade inloggningsförsök sedan senaste korrekta " "inloggning." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "För många inloggningar för \"%s\"." @@ -365,8 +372,8 @@ msgstr "Skapar katalogen \"%s\"." msgid "Unable to create and initialize directory '%s'." msgstr "Kunde inte skapa och initiera katalogen \"%s\"." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Lösenordet har redan används. Välj ett annat." @@ -374,43 +381,43 @@ msgstr "Lösenordet har redan används. Välj ett annat." msgid "Would you like to enter a security context? [N] " msgstr "Vill du ange en säkerhetskontext? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "roll:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "nivå:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Inte en giltig säkerhetskontext" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Standardsäkerhetskontext %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Vill du ange en annan roll eller nivå?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Ingen standardttyp för %s-roll\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Kan inte hämta giltig kontext för %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Säkerhetskontext %s tilldelad" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Nyckelskapandekontext %s tilldelad" @@ -430,20 +437,20 @@ msgstr "pam_set_item() misslyckades\n" msgid "login: failure forking: %m" msgstr "inloggning: fel vid grening: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Ändrar STRESS-lösenord för %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Ange nytt STRESS-lösenord: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Ange nytt STRESS-lösenord igen: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Felskriven verifikation, lösenord oförändrat" @@ -541,32 +548,32 @@ msgstr[1] "Varning: ditt lösenord går ut om %d dagar" msgid "Warning: your password will expire in %d days" msgstr "Varning: ditt lösenord går ut om %d dagar" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS-lösenord kunde inte ändras." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Du måste välja ett längre lösenord" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Ändrar lösenord för %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(nuvarande) UNIX-lösenord: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Du måste vänta längre innan du kan ändra lösenord" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Ange nytt UNIX-lösenord: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Ange nytt UNIX-lösenord igen: " diff --git a/po/ta.po b/po/ta.po index 194d309d..863497d5 100644 --- a/po/ta.po +++ b/po/ta.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip.ta\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-03 22:27+0530\n" "Last-Translator: I. Felix \n" "Language-Team: Tamil \n" @@ -62,7 +62,7 @@ msgstr "%sஐ மறு தட்டச்சு செய்" msgid "Password change aborted." msgstr "கடவுச்சொல் மாற்றம் கைவிடப்பட்டது." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "புகுபதிவு:" @@ -198,54 +198,61 @@ msgstr "பயன்பாடு libpam ஐ மீண்டும் அழை msgid "Unknown PAM error" msgstr "தெரியாத PAM பிழை" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "இது பழையதைப் போல உள்ளது" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "உரையாடல் பிழை" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "இது ஒரு palindrome" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "எழுத்து வகை மாற்றங்கள் மட்டும்" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "இது பழையதை ஒத்தே உள்ளது" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "இது மிகவும் எளிதாக உள்ளது" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "இது சுழலக்கூடியது" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "போதிய எழுத்து வகுப்புகள் இல்லை" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "நிறைய அதே எழுத்துக்கள் தொடர்ந்து கொண்டுள்ளது" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "சில வடிவல் பயனர் பெயரை கொண்டுள்ளது" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "கடவுச்சொல் கொடுக்கப்படவில்லை" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "கடவுச்சொல் மாற்றப்படவில்லை" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "தவறான கடவுச்சொல்: %s" @@ -266,18 +273,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s செயலிழக்கப்பட்டது: தெரியாத நிலை 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "%.*s இலிருந்து" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s இல்" @@ -293,12 +300,12 @@ msgid "Welcome to your new account!" msgstr "உங்கள் புதிய கணக்கு வரவேற்கப்படுகிறீர்கள்!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "கடைசி தோல்வியடைந்த புகுபதிவு:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -307,12 +314,12 @@ msgstr[0] "கடைசி புகுபதிவிலிருந்து % msgstr[1] "கடைசி புகுபதிவிலிருந்து %d புகுபதிவு முயற்சிகள் தோல்வியடைந்தன." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "கடைசி புகுபதிவிலிருந்து %d புகுபதிவு முயற்சி தோல்வியடைந்தன." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'க்கு பல புகுபதிவுகள் உள்ளன." @@ -363,8 +370,8 @@ msgstr "அடைவு '%s'ஐ உருவாக்குகிறது." msgid "Unable to create and initialize directory '%s'." msgstr "அடைவு '%s'ஐ உருவாக்க மற்றும் துவக்க முடியவில்லை." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "கடவுச்சொல் ஏற்கனவே பயன்படுத்தப்பட்டது. வேறொன்றை பயன்படுத்தவும்." @@ -372,43 +379,43 @@ msgstr "கடவுச்சொல் ஏற்கனவே பயன்பட msgid "Would you like to enter a security context? [N] " msgstr "நீங்கள் ஒரு பாதுகாப்பு சூழலை உள்ளிட வேண்டுமா? [N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "பங்கு:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "நிலை:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "இது சரியான பாதுகாப்பு சூழல் இல்லை" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "முன்னிருப்பு பாதுகாப்பு சூழல் %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "நீங்கள் வேறு பங்கு அல்லது நிலையை உள்ளிட வேண்டுமா?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "பங்கு %sக்கு முன்னிருப்பு வகை இல்லை\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%sக்கு சரியான சூழல் பெற முடியவில்லை" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "பாதுகாப்பு சூழல் %s ஒதுக்கப்பட்டது" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "விசை உருவாக்க சூழல் %s ஒதுக்கப்பட்டுள்ளது" @@ -428,20 +435,20 @@ msgstr "pam_set_item() செயலிழக்கப்பட்டது\n" msgid "login: failure forking: %m" msgstr "login: failure forking: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%sக்கு STRESS கடவுச்சொல்லை மாற்றுகிறது." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "புதிய STRESS கடவுச்சொல்லை உள்ளிடவும்: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "புதிய STRESS கடவுச்சொல்லை மீண்டும் உள்ளிடவும்: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "உறுதிப்படுத்தல் முரண்பாடு; கடவுச்சொல் மாற்றப்படவில்லை" @@ -539,31 +546,31 @@ msgstr[1] "எச்சரிக்கை: கடவுச்சொல் %d ந msgid "Warning: your password will expire in %d days" msgstr "எச்சரிக்கை: கடவுச்சொல் %d நாட்களில் முடிவுறும்" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS கடவுச்சொல்லை மாற்ற முடியாது." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "நீங்கள் நீண்ட கடவுச்சொல்லை தேர்ந்தெடுக்க வேண்டும்" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%sக்கு கடவுச்சொல்லை மாற்றுகிறது." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(நடப்பு) UNIX கடவுச்சொல்: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "உங்கள் கடவுச்சொல்லை மாற்ற சிறிது காத்திருக்க வேண்டும்" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "புதிய UNIX கடவுச்சொல்லை உள்ளிடவும்: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "புதிய UNIX கடவுச்சொல்லை மீண்டும் உள்ளிடவும்: " diff --git a/po/te.po b/po/te.po index 308469c6..227944c6 100644 --- a/po/te.po +++ b/po/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip.te\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-14 15:14+0530\n" "Last-Translator: Krishna Babu K \n" "Language-Team: Telugu \n" @@ -62,7 +62,7 @@ msgstr "తిరిగిటైపుచేయి %s" msgid "Password change aborted." msgstr "సంకేతపదము మార్పు తప్పించబడింది" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "లాగిన్:" @@ -198,54 +198,61 @@ msgstr "libpamను అనువర్తనము మరలా కాల్‌ msgid "Unknown PAM error" msgstr "తెలియని PAM దోషము" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "ఇది పాతదేనా" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "సంభాషణా దోషము" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "పాలిండ్రోమా" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "కేస్ మార్పులు మాత్రమే" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "పాతదానికి మరీ దగ్గరపోలికగావుంది" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "మరీ సరళంగావుంది" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "ఇది పర్యాయంగానా" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "సరిపోవునంత కారెక్టర్ క్లాసెస్ లేవు" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "ఒకదానితర్వాత వొకటి అదే అక్షరాలు చాలావున్నాయి" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "ఒకరకంగా వినియోగదారి నామమును కలిగివుంది" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "ఎటువంటి సంకేతపదము యివ్వలేదు" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "సంకేతపదము మార్చలేదు" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "చెడ్డ సంకేతపదము: %s" @@ -266,18 +273,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s విఫలమైంది: తెలియని స్థితి 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s నుండి" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s పైన" @@ -293,12 +300,12 @@ msgid "Welcome to your new account!" msgstr "మీ కొత్త ఖాతాకు స్వాగతము!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "చివరిగా విఫలమైన లాగిన్:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -307,12 +314,12 @@ msgstr[0] "చివరి సమర్ధవంతపు లాగిన్‌ msgstr[1] "చివరి సమర్ధవంతపు లాగిన్‌నుండి ఆక్కడ %d విఫల లాగిన్ ప్రయత్నాలు వున్నాయి." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "చివరి సమర్ధవంతపు లాగిన్‌నుండి ఆక్కడ %d విఫల లాగిన్ ప్రయత్నాలు వున్నాయి." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s' కొరకు మరీయెక్కువ లాగిన్‌లు" @@ -363,8 +370,8 @@ msgstr "డెరెక్టరీ '%s' సృష్టించుట." msgid "Unable to create and initialize directory '%s'." msgstr "డైరెక్టరీ %sను సృష్టించలేక పోయింది మరియు సిద్దీకరించలేక పోయింది." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "సంకేతపదము యిప్పటికే వుపయోగించబడింది. మరియొకదానిని యెంచుకొనుము." @@ -372,43 +379,43 @@ msgstr "సంకేతపదము యిప్పటికే వుపయో msgid "Would you like to enter a security context? [N] " msgstr "మీరు రక్షణ సందర్భమును ప్రవేశపెడదామని అనుకొంటున్నారా? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "పాత్ర:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "స్థాయి:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "విలువైన రక్షణ సందర్భముకాదు" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "అప్రమేయ రక్షణ సందర్భము %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "మీరు విభిన్న పాత్రను లేదా స్థాయిని ప్రవేశపెడదామని అనుకుంటున్నారా?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "పాత్ర %sకొరకు యెటువంటి అప్రమేయ రకములేదు\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s కొరకు విలువైన సందర్భమును పొందలేకపోయింది" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "రక్షణ సందర్భము %s అప్పగించబడింది" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "కీ సృష్టీకరణ సందర్భము %s అప్పగించబడింది" @@ -428,20 +435,20 @@ msgstr "pam_set_item() విఫలమైంది\n" msgid "login: failure forking: %m" msgstr "login: failure forking: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "STRESS సంకేతపదమును %sకొరకు మార్చబడింది." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "కొత్త STRESS సంకేతపదమును ప్రవేశపెట్టుము: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "కొత్త STRESS సంకేతపదమును తిరిగిటైపుచేయుము: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "తప్పుగా-చేసినటైపు నిర్ధారణ; సంకేతపదము మార్చబడలేదు" @@ -539,31 +546,31 @@ msgstr[1] "హెచ్చరిక: మీ సంకేతపదము %d ర msgid "Warning: your password will expire in %d days" msgstr "హెచ్చరిక: మీ సంకేతపదము %d రోజులలో కాలముతీరుతుంది" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS సంకేతపదము మార్చబడ లేకపోయింది." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "మీరు తప్పక పొడవాటి సంకేతపదమును యెంచుకొనవలెను." -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s కొరకు సంకేతపదమును మార్చుతోంది" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(ప్రస్తుత) UNIX సంకేతపదము: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "మీ సంకేతపదమును మార్చుటకు మీరు ఎక్కువసేపు వేచివుండాలి" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "కొత్త UNIX సంకేతపదమును ప్రవేశపెట్టుము: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "కొత్త UNIX సంకేతపదమును తిరిగిటైపు చేయుము: " diff --git a/po/tr.po b/po/tr.po index 72904a46..5c1299fa 100644 --- a/po/tr.po +++ b/po/tr.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: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2006-05-03 19:00+0200\n" "Last-Translator: Bahadır Kandemir \n" "Language-Team: Türkçe \n" @@ -59,7 +59,7 @@ msgstr "%s'i tekrar girin" msgid "Password change aborted." msgstr "Parola değişimi iptal edildi." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "giriş:" @@ -195,54 +195,61 @@ msgstr "Uygulamanın libpam kütüphanesini yeniden çağırması gerekiyor" msgid "Unknown PAM error" msgstr "Bilinmeyen PAM hatası" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "eskisi ile aynı" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Etkileşim hatası" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "bir palindrom (iki yönden aynı şekilde okunuyor)" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "sadece büyük-küçük harf değişimi" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "eskisine çok benziyor" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "çok basit" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "değiştirilmiş" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "yetersiz karakter sınıfı" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "aynı karakterleri arka arkaya içeriyor" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "kullanıcı adını bir biçimde içeriyor" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Parola girilmedi" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Parola değiştirilmedi" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "KÖTÜ PAROLA: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s başarısız: bilinmeyen durum 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%e %b %a %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " %.*s makinesinden" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " %.*s üzerinde" @@ -290,25 +297,27 @@ msgid "Welcome to your new account!" msgstr "Yeni hesabınıza hoş geldiniz" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Son başarısız giriş:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" "There were %d failed login attempts since the last successful login." -msgstr[0] "Son başarılı girişten itibaren %d başarısız kimlik doğrulama girişimi oldu." +msgstr[0] "" +"Son başarılı girişten itibaren %d başarısız kimlik doğrulama girişimi oldu." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." -msgstr "Son başarılı girişten itibaren %d başarısız kimlik doğrulama girişimi oldu." +msgstr "" +"Son başarılı girişten itibaren %d başarısız kimlik doğrulama girişimi oldu." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "%s için çok fazla giriş." @@ -359,8 +368,8 @@ msgstr "%s dizini oluşturuluyor." msgid "Unable to create and initialize directory '%s'." msgstr "%s dizini oluşturulamadı." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Parola kullanımda. Lütfen başka bir parola seçin." @@ -368,43 +377,43 @@ msgstr "Parola kullanımda. Lütfen başka bir parola seçin." msgid "Would you like to enter a security context? [N] " msgstr "Güvenlik bağlamı girmek ister misiniz? [H] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "rol:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "seviye:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Geçerli bir güvenlik bağlamı değil" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Öntanımlı Güvenlik Bağlamı %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Farklı bir rol ya da seviye girmek ister misiniz?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "%s rolü için öntanımlı tür yok\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "%s için geçerli bir bağlam alınamadı" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Güvenlik Bağlamı %s Atandı" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Anahtar Oluşturma Bağlamı %s Atandı" @@ -424,20 +433,20 @@ msgstr "pam_set_item() çalıştırılamadı\n" msgid "login: failure forking: %m" msgstr "giriş: çatallama yapılamadı: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "%s için STRESS parolası değiştiriliyor." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Yeni STRESS parolası girin: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Yeni STRESS parolasını tekrar girin: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Doğrulama hatalı; parola değiştirilmedi" @@ -523,9 +532,10 @@ msgid "You are required to change your password immediately (password aged)" msgstr "Parolanızı en kısa sürede değiştirmeniz gerekiyor (parola eski)" #: modules/pam_unix/pam_unix_acct.c:271 modules/pam_unix/pam_unix_acct.c:278 -#, c-format +#, fuzzy, c-format msgid "Warning: your password will expire in %d day" -msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün sonra doluyor" +msgid_plural "Warning: your password will expire in %d days" +msgstr[0] "Dikkat: Parolanızın geçerlilik süresi %d gün sonra doluyor" #. TRANSLATORS: only used if dngettext is not supported #: modules/pam_unix/pam_unix_acct.c:283 @@ -533,31 +543,31 @@ msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün sonra doluyor" msgid "Warning: your password will expire in %d days" msgstr "Uyarı: Parolanız %d gün içinde geçerliliğini yitirecek" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS parolası değiştirilemiyor" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Daha uzun bir parola girmelisiniz" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "%s kullanıcısının parolası değiştiriliyor." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(geçerli) parola: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Parolanızı değiştirmek için daha sonra denemelisiniz" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Yeni parolayı girin: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Yeni parolayı tekrar girin: " diff --git a/po/uk.po b/po/uk.po index 76878122..7ef3b609 100644 --- a/po/uk.po +++ b/po/uk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM.uk\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2010-03-07 13:00+0200\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" @@ -60,7 +60,7 @@ msgstr "Повторне введення %s" msgid "Password change aborted." msgstr "Зміну пароля перервано." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "користувач:" @@ -196,54 +196,61 @@ msgstr "Програмі потрібно знов викликати libpam" msgid "Unknown PAM error" msgstr "Невідома помилка PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "такий самий, як і старий" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Помилка обміну даними" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "— це паліндром" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "тільки зміни в регістрі" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "занадто подібний до старого" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "занадто простий" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "чергується" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "недостатнє використання класів символів" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "містить забагато послідовних однакових символів" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "містить ім’я користувача з форми" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Пароль не встановлено" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Пароль не змінено" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "ПОГАНИЙ ПАРОЛЬ: %s" @@ -264,18 +271,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "Помилка %s: невідомий стан 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " з %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " на %.*s" @@ -291,12 +298,12 @@ msgid "Welcome to your new account!" msgstr "Ласкаво просимо до вашого нового запису!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Останній невдалий вхід: %s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -312,14 +319,14 @@ msgstr[2] "" "завершилися помилками." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Після останнього успішного входу було виконано %d спроби входу, які " "завершилися помилками." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Забагато входів в для «%s»." @@ -370,8 +377,8 @@ msgstr "Створення каталогу «%s»." msgid "Unable to create and initialize directory '%s'." msgstr "Не вдалося створити і ініціалізувати каталог «%s»." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Цей пароль вже використано. Виберіть інший." @@ -379,43 +386,43 @@ msgstr "Цей пароль вже використано. Виберіть ін msgid "Would you like to enter a security context? [N] " msgstr "Хочете ввести контекст безпеки? [Н/N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "роль:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "рівень:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Непридатний контекст безпеки" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Типовий контекст безпеки %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Бажаєте ввести іншу роль або рівень?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Для ролі %s не визначено типового типу\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Не вдалося отримати коректний контекст для %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Призначено контекст безпеки %s" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Призначено контекст створення ключів %s" @@ -435,20 +442,20 @@ msgstr "помилка pam_set_item()\n" msgid "login: failure forking: %m" msgstr "вхід: помилка розгалуження: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Зміна пароля STRESS для %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Введіть новий пароль STRESS: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Повторіть новий пароль STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Перевірку не пройдено; пароль не змінено" @@ -550,32 +557,32 @@ msgstr[2] "Попередження: ваш пароль застаріє за % msgid "Warning: your password will expire in %d days" msgstr "Попередження: ваш пароль застаріє за %d днів" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Не вдалося змінити пароль NIS." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Вам слід вибрати довший пароль" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Зміна пароля %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(поточний) пароль UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Ви повинні зачекати, щоб змінити ваш пароль" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Введіть новий пароль UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Повторіть новий пароль UNIX: " diff --git a/po/vi.po b/po/vi.po index da13fbb6..3a0fe8b3 100644 --- a/po/vi.po +++ b/po/vi.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: pam\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2011-06-04 17:58+0700\n" "Last-Translator: Lê Trường An \n" "Language-Team: Vietnamese \n" -"Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2011-06-04 10:52+0000\n" "X-Generator: Launchpad (build 13144)\n" @@ -60,7 +60,7 @@ msgstr "Nhập lại %s" msgid "Password change aborted." msgstr "Hủy bỏ việc thay đổi mật khẩu." -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "Đăng nhập:" @@ -196,54 +196,61 @@ msgstr "Ứng dụng cần gọi libpam lần nữa" msgid "Unknown PAM error" msgstr "Không biết lỗi PAM" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "là giống như cũ" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Lỗi giao tiếp" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "là một xâu palindrome" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "chỉ thay đổi chữ thường/hoa" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "quá giống cái cũ" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "quá đơn giản" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "được sử dụng lại" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "không đủ các lớp nhân vật" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "chứa quá nhiều kí tự giống nhau liên tiếp" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "chứa tên user trong một số biểu mẫu" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Không có mật khẩu được cung cấp" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Chưa thay đổi mật khẩu" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "Mật khẩu không an toàn: %s" @@ -264,18 +271,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s thất bại: không rõ tình trạng 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr " %a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr " từ %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr " trên %.*s" @@ -291,12 +298,12 @@ msgid "Welcome to your new account!" msgstr "Chào mừng bạn đến tài khoản mới của bạn!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "Lần đăng nhập thất bại trước:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -305,13 +312,13 @@ msgstr[0] "" "Đã có %d lần đăng nhập thất bại kể từ lần đăng nhập thành công trước đó." #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" "Có %d lần đăng nhập không thành công kể từ lần đăng nhập thành công trước." -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Quá nhiều lần đăng nhập cho '%s'." @@ -362,8 +369,8 @@ msgstr "Tạo thư mục '%s'." msgid "Unable to create and initialize directory '%s'." msgstr "Không thể khởi tạo thư mục '%s'." -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Mật khẩu đã được dùng. Hãy chọn mật khẩu khác." @@ -371,43 +378,43 @@ msgstr "Mật khẩu đã được dùng. Hãy chọn mật khẩu khác." msgid "Would you like to enter a security context? [N] " msgstr "Bạn có muốn nhập một bối cảnh an ninh? [N] " -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "Vai trò:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "trình độ:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Không phải là một bối cảnh an ninh hợp lệ" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "Bối cảnh an ninh mặc định %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "Bạn có muốn nhập một vai trò khác nhau hoặc cấp?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "Không có loại mặc định cho vai trò %s\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "Không thể có được bối cảnh hợp lệ cho %s" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Bối cảnh an ninh %s Giao" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "Sáng tạo Context phím %s Giao" @@ -427,20 +434,20 @@ msgstr "không pam_set_item ()\n" msgid "login: failure forking: %m" msgstr "đăng nhập: thất bại forking: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "Thay đổi mật khẩu căng thẳng cho %s." -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Nhập mật khẩu căng thẳng mới: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Nhập lại mật khẩu mới căng thẳng: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Mã xác nhận mis-đánh máy; mật khẩu không thay đổi" @@ -539,32 +546,32 @@ msgstr[0] "Cảnh báo: mật khẩu của bạn sẽ hết hạn trong %d ngày msgid "Warning: your password will expire in %d days" msgstr "Cảnh báo: mật khẩu của bạn sẽ hết hạn trong %d ngày" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "NIS mật khẩu không thể được thay đổi." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Bạn phải chọn mật khẩu dài hơn" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "Thay đổi mật khẩu cho %s." -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "hiện hành UNIX mật khẩu: " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Bạn phải đợi thêm nữa, để thay đổi mật khẩu" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Nhập mật khẩu UNIX mới: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Nhập lại mật khẩu UNIX mới: " diff --git a/po/zh_CN.po b/po/zh_CN.po index 9e17654d..ceccd4a0 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-03 12:47+1000\n" "Last-Translator: Leah Liu \n" "Language-Team: Simplified Chinese \n" @@ -60,7 +60,7 @@ msgstr "重新输入 %s" msgid "Password change aborted." msgstr "密码更改取消。" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "登录:" @@ -196,54 +196,61 @@ msgstr "应用程序需要再次调用 libpam" msgid "Unknown PAM error" msgstr "未知的 PAM 错误" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "与旧密码相同" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "转换错误" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "是回文" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "仅更改了大小写" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "与旧密码过于相似" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "过于简单" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "是旧密码的循环" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "没有足够的字符分类" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "包含过多连续相同的字符" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "以某些形式包含用户名" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "密码未提供" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "密码未更改" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "无效的密码: %s" @@ -264,18 +271,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s 失败:未知的状态 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "从 %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "%.*s 上" @@ -291,12 +298,12 @@ msgid "Welcome to your new account!" msgstr "欢迎使用新帐户!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "最后一次失败的登录:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgid_plural "" msgstr[0] "最有一次成功登录后有 %d 次失败的登录尝试" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "最有一次成功登录后有 %d 次失败的登录尝试。" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "'%s'登录过多。" @@ -360,8 +367,8 @@ msgstr "创建目录 '%s'。" msgid "Unable to create and initialize directory '%s'." msgstr "无法创建和初始化目录 '%s'" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "密码已使用。请选择其他密码。" @@ -369,43 +376,43 @@ msgstr "密码已使用。请选择其他密码。" msgid "Would you like to enter a security context? [N] " msgstr "是否愿意进入安全性环境?[N]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "角色:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "级别:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "不是有效的安全性环境" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "默认安全性环境 %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "您是否愿意进入不同的角色或者级别?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "没有角色 %s 默认类型\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "无法为 %s 获得有效环境" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "已指派安全性环境 %s" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "已分配密钥生成环境 %s" @@ -425,20 +432,20 @@ msgstr "未能 pam_set_item()\n" msgid "login: failure forking: %m" msgstr "登录:故障派生:%m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "为 %s 更改 STRESS 密码。" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "输入新的 STRESS 密码:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "重新输入新的 STRESS 密码:" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "校验类型错误;密码未更改" @@ -534,31 +541,31 @@ msgstr[0] "警告:您的密码将在 %d 天后过期" msgid "Warning: your password will expire in %d days" msgstr "警告:您的密码将在 %d 天后过期" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "无法更改 NIS 密码。" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "必须选择更长的密码" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "为 %s 更改 STRESS 密码。" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(当前)UNIX 密码:" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "您必须等待更长时间以更改密码" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "输入新的 UNIX 密码:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "重新输入新的 UNIX 密码:" diff --git a/po/zh_TW.po b/po/zh_TW.po index 470d17d0..2d456a62 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam.tip\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2009-04-06 21:21+1000\n" "Last-Translator: Terry Chuang \n" "Language-Team: \n" @@ -59,7 +59,7 @@ msgstr "重新輸入 %s" msgid "Password change aborted." msgstr "已終止密碼變更作業。" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "登入:" @@ -195,54 +195,61 @@ msgstr "應用程式需要再次呼叫 libpam" msgid "Unknown PAM error" msgstr "未知的 PAM 錯誤" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "與舊的密碼相同" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "交談錯誤" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "是一個回文" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "僅變更大小寫" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "與舊的密碼太相似" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "太簡單" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "已旋轉" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "字元類別不足" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "包含了太多連續的相同字元" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "包含了某些格式的用戶名稱" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "未提供密碼" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "密碼未變更" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "不良的密碼: %s" @@ -263,18 +270,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "%s 失敗:不明狀態 0x%x" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "從 %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "在 %.*s" @@ -290,12 +297,12 @@ msgid "Welcome to your new account!" msgstr "歡迎使用您的新帳號!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, c-format msgid "Last failed login:%s%s%s" msgstr "上一次失敗的登入:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -304,12 +311,12 @@ msgstr[0] "自從上次成功登入後有 %d 次嘗試登入失敗。" msgstr[1] "自從上次成功登入後有 %d 次嘗試登入失敗。" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "自從上次成功登入後有 %d 次嘗試登入失敗。" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "對 '%s' 進行太多次登入。" @@ -360,8 +367,8 @@ msgstr "建立目錄「%s」。" msgid "Unable to create and initialize directory '%s'." msgstr "無法建立和初始化「%s」目錄。" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "密碼已經由其他使用者使用。請選擇其他密碼。" @@ -369,43 +376,43 @@ msgstr "密碼已經由其他使用者使用。請選擇其他密碼。" msgid "Would you like to enter a security context? [N] " msgstr "您是否要輸入安全性 context?[否]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 msgid "role:" msgstr "角色:" -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 msgid "level:" msgstr "層級:" -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "不是有效的安全網路位置" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, c-format msgid "Default Security Context %s\n" msgstr "預設的安全網路位置 %s\n" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 msgid "Would you like to enter a different role or level?" msgstr "您是否希望輸入不同的角色或層級?" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "%s 沒有預設的類型\n" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "無法取得 %s 的有效 context" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "已指定安全網路位置 %s" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, c-format msgid "Key Creation Context %s Assigned" msgstr "已指建置金鑰的定安全網路位置 %s" @@ -425,20 +432,20 @@ msgstr "pam_set_item() 失敗\n" msgid "login: failure forking: %m" msgstr "登入:失敗的分叉:%m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, c-format msgid "Changing STRESS password for %s." msgstr "正在更改 %s 的 STRESS 密碼。" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "輸入新的 STRESS 密碼:" -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "再次輸入新的 STRESS 密碼:" -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "確認錯誤輸入;密碼未變更" @@ -536,31 +543,31 @@ msgstr[1] "警告:您的密碼將在 %d 天之後過期。" msgid "Warning: your password will expire in %d days" msgstr "警告:您的密碼將在 %d 天之後過期。" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "無法變更 NIS 密碼。" -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "您必須選擇更長的密碼" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, c-format msgid "Changing password for %s." msgstr "正在更改 %s 的 STRESS 密碼。" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "(目前的)UNIX 密碼:" -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "您必須久候,以更改您的密碼" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "輸入新的 UNIX 密碼:" -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "再次輸入新的 UNIX 密碼:" diff --git a/po/zu.po b/po/zu.po index b13afe0c..2707ab28 100644 --- a/po/zu.po +++ b/po/zu.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Linux-PAM\n" "Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n" -"POT-Creation-Date: 2010-10-20 15:15+0200\n" +"POT-Creation-Date: 2011-06-21 12:57+0200\n" "PO-Revision-Date: 2006-11-03 12:03\n" "Last-Translator: Novell Language \n" "Language-Team: Novell Language \n" @@ -55,7 +55,7 @@ msgstr "uhlobo: " msgid "Password change aborted." msgstr "Iphasiwedi ayishintshwanga" -#: libpam/pam_item.c:310 +#: libpam/pam_item.c:311 msgid "login:" msgstr "ngena:" @@ -191,54 +191,61 @@ msgstr "Uhlelo ludinga ukubiza i-libpam futhi" msgid "Unknown PAM error" msgstr "Iphutha le-PAM elingaziwa" -#: modules/pam_cracklib/pam_cracklib.c:490 +#: modules/pam_cracklib/pam_cracklib.c:493 msgid "is the same as the old one" msgstr "iyafana nendala" -#: modules/pam_cracklib/pam_cracklib.c:504 +#: modules/pam_cracklib/pam_cracklib.c:499 +#: modules/pam_cracklib/pam_cracklib.c:503 +#: modules/pam_cracklib/pam_cracklib.c:513 +#, fuzzy +msgid "memory allocation error" +msgstr "Iphutha lengxoxo" + +#: modules/pam_cracklib/pam_cracklib.c:518 msgid "is a palindrome" msgstr "iyi-palindrome" -#: modules/pam_cracklib/pam_cracklib.c:507 +#: modules/pam_cracklib/pam_cracklib.c:521 msgid "case changes only" msgstr "kushintshe onobumba kuphela" -#: modules/pam_cracklib/pam_cracklib.c:510 +#: modules/pam_cracklib/pam_cracklib.c:524 msgid "is too similar to the old one" msgstr "ifana kakhulu nendala" -#: modules/pam_cracklib/pam_cracklib.c:513 +#: modules/pam_cracklib/pam_cracklib.c:527 msgid "is too simple" msgstr "ilula kakhulu" -#: modules/pam_cracklib/pam_cracklib.c:516 +#: modules/pam_cracklib/pam_cracklib.c:530 msgid "is rotated" msgstr "ijikelezisiwe" -#: modules/pam_cracklib/pam_cracklib.c:519 +#: modules/pam_cracklib/pam_cracklib.c:533 msgid "not enough character classes" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:522 +#: modules/pam_cracklib/pam_cracklib.c:536 msgid "contains too many same characters consecutively" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:525 +#: modules/pam_cracklib/pam_cracklib.c:539 msgid "contains the user name in some form" msgstr "" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "No password supplied" msgstr "Ayikho iphasiwedi enikeziwe" -#: modules/pam_cracklib/pam_cracklib.c:555 -#: modules/pam_unix/pam_unix_passwd.c:476 +#: modules/pam_cracklib/pam_cracklib.c:573 +#: modules/pam_unix/pam_unix_passwd.c:488 msgid "Password unchanged" msgstr "Iphasiwedi ayishintshwanga" -#: modules/pam_cracklib/pam_cracklib.c:575 -#: modules/pam_cracklib/pam_cracklib.c:658 +#: modules/pam_cracklib/pam_cracklib.c:593 +#: modules/pam_cracklib/pam_cracklib.c:676 #, c-format msgid "BAD PASSWORD: %s" msgstr "IPHASIWEDI ENGASEBENZI: %s" @@ -259,18 +266,18 @@ msgid "%s failed: unknown status 0x%x" msgstr "" #. TRANSLATORS: "strftime options for date of last login" -#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:429 +#: modules/pam_lastlog/pam_lastlog.c:201 modules/pam_lastlog/pam_lastlog.c:433 msgid " %a %b %e %H:%M:%S %Z %Y" msgstr "%a %b %e %H:%M:%S %Z %Y" #. TRANSLATORS: " from " -#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:438 +#: modules/pam_lastlog/pam_lastlog.c:210 modules/pam_lastlog/pam_lastlog.c:442 #, c-format msgid " from %.*s" msgstr "kusukela %.*s" #. TRANSLATORS: " on " -#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:450 +#: modules/pam_lastlog/pam_lastlog.c:222 modules/pam_lastlog/pam_lastlog.c:454 #, c-format msgid " on %.*s" msgstr "ku-%.*s" @@ -286,12 +293,12 @@ msgid "Welcome to your new account!" msgstr "Uyamukelwa kwi-akhawunti yakho entsha!" #. TRANSLATORS: "Last failed login: from on " -#: modules/pam_lastlog/pam_lastlog.c:460 +#: modules/pam_lastlog/pam_lastlog.c:464 #, fuzzy, c-format msgid "Last failed login:%s%s%s" msgstr "Ukungena kokugcina:%s%s%s" -#: modules/pam_lastlog/pam_lastlog.c:469 modules/pam_lastlog/pam_lastlog.c:476 +#: modules/pam_lastlog/pam_lastlog.c:473 modules/pam_lastlog/pam_lastlog.c:480 #, c-format msgid "There was %d failed login attempt since the last successful login." msgid_plural "" @@ -300,12 +307,12 @@ msgstr[0] "" msgstr[1] "" #. TRANSLATORS: only used if dngettext is not supported -#: modules/pam_lastlog/pam_lastlog.c:481 +#: modules/pam_lastlog/pam_lastlog.c:485 #, c-format msgid "There were %d failed login attempts since the last successful login." msgstr "" -#: modules/pam_limits/pam_limits.c:786 +#: modules/pam_limits/pam_limits.c:1079 #, c-format msgid "Too many logins for '%s'." msgstr "Kuningi kakhulu ukungena kwi- '%s' osekwenziwe." @@ -356,8 +363,8 @@ msgstr "" msgid "Unable to create and initialize directory '%s'." msgstr "" -#: modules/pam_pwhistory/pam_pwhistory.c:218 -#: modules/pam_unix/pam_unix_passwd.c:497 +#: modules/pam_pwhistory/pam_pwhistory.c:215 +#: modules/pam_unix/pam_unix_passwd.c:509 msgid "Password has been already used. Choose another." msgstr "Le phasiwedi isetshenziswa ngothile. Khetha enye." @@ -366,46 +373,46 @@ msgstr "Le phasiwedi isetshenziswa ngothile. Khetha enye." msgid "Would you like to enter a security context? [N] " msgstr "Ungathanda ukufaka indawo yokuphepha (security context) [y]" -#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:282 +#: modules/pam_selinux/pam_selinux.c:191 modules/pam_selinux/pam_selinux.c:299 #, fuzzy msgid "role:" msgstr "indima: " -#: modules/pam_selinux/pam_selinux.c:204 modules/pam_selinux/pam_selinux.c:316 +#: modules/pam_selinux/pam_selinux.c:205 modules/pam_selinux/pam_selinux.c:334 #, fuzzy msgid "level:" msgstr "Izinga: " -#: modules/pam_selinux/pam_selinux.c:219 modules/pam_selinux/pam_selinux.c:349 +#: modules/pam_selinux/pam_selinux.c:220 modules/pam_selinux/pam_selinux.c:367 msgid "Not a valid security context" msgstr "Akuyona indawo yokuphepha esemthethweni" -#: modules/pam_selinux/pam_selinux.c:265 +#: modules/pam_selinux/pam_selinux.c:282 #, fuzzy, c-format msgid "Default Security Context %s\n" msgstr "Indawo %s Yokuphepha Yabelwe" -#: modules/pam_selinux/pam_selinux.c:269 +#: modules/pam_selinux/pam_selinux.c:286 #, fuzzy msgid "Would you like to enter a different role or level?" msgstr "Ungathanda ukufaka indawo yokuphepha (security context) [y]" -#: modules/pam_selinux/pam_selinux.c:285 +#: modules/pam_selinux/pam_selinux.c:302 #, c-format msgid "No default type for role %s\n" msgstr "" -#: modules/pam_selinux/pam_selinux.c:667 +#: modules/pam_selinux/pam_selinux.c:688 #, c-format msgid "Unable to get valid context for %s" msgstr "" -#: modules/pam_selinux/pam_selinux.c:718 +#: modules/pam_selinux/pam_selinux.c:742 #, c-format msgid "Security Context %s Assigned" msgstr "Indawo %s Yokuphepha Yabelwe" -#: modules/pam_selinux/pam_selinux.c:739 +#: modules/pam_selinux/pam_selinux.c:763 #, fuzzy, c-format msgid "Key Creation Context %s Assigned" msgstr "Indawo %s Yokuphepha Yabelwe" @@ -425,20 +432,20 @@ msgstr "Ihlulekile ukwenza i-pam_set_item()\n" msgid "login: failure forking: %m" msgstr "ngena: Ihlulekile ukuhlukanisa: %m" -#: modules/pam_stress/pam_stress.c:475 +#: modules/pam_stress/pam_stress.c:476 #, fuzzy, c-format msgid "Changing STRESS password for %s." msgstr "Ukushintsha iphasiwedi ye-STRESS ye-" -#: modules/pam_stress/pam_stress.c:489 +#: modules/pam_stress/pam_stress.c:490 msgid "Enter new STRESS password: " msgstr "Faka iphasiwedi entsha ye-STRESS: " -#: modules/pam_stress/pam_stress.c:492 +#: modules/pam_stress/pam_stress.c:493 msgid "Retype new STRESS password: " msgstr "Thayipha iphasiwedi entsha ye-STRESS: " -#: modules/pam_stress/pam_stress.c:521 +#: modules/pam_stress/pam_stress.c:522 msgid "Verification mis-typed; password unchanged" msgstr "Ukufakazela akuthayiphiwanga kahle; iphasiwedi ayishintshwanga" @@ -541,32 +548,32 @@ msgstr[1] "Isexwayiso: Iphasiwedi yakho izophelelwa isikhathi %d usuku%.2s[T1]" msgid "Warning: your password will expire in %d days" msgstr "Isexwayiso: Iphasiwedi yakho izophelelwa isikhathi %d usuku%.2s[T1]" -#: modules/pam_unix/pam_unix_passwd.c:385 +#: modules/pam_unix/pam_unix_passwd.c:390 msgid "NIS password could not be changed." msgstr "Iphasiwedi ye-NIS ayivumanga ukushintshwa." -#: modules/pam_unix/pam_unix_passwd.c:493 +#: modules/pam_unix/pam_unix_passwd.c:505 msgid "You must choose a longer password" msgstr "Kumelwe ukhethe iphasiwedi ethe ukuba yinjana" -#: modules/pam_unix/pam_unix_passwd.c:600 +#: modules/pam_unix/pam_unix_passwd.c:612 #, fuzzy, c-format msgid "Changing password for %s." msgstr "Ukushintsha iphasiwedi ye-STRESS ye-" -#: modules/pam_unix/pam_unix_passwd.c:611 +#: modules/pam_unix/pam_unix_passwd.c:623 msgid "(current) UNIX password: " msgstr "Iphasiwedi ye-UNIX (yamanje): " -#: modules/pam_unix/pam_unix_passwd.c:646 +#: modules/pam_unix/pam_unix_passwd.c:658 msgid "You must wait longer to change your password" msgstr "Kumelwe ulinde isikhashana ukuze ushintshe iphasiwedi yakho" -#: modules/pam_unix/pam_unix_passwd.c:706 +#: modules/pam_unix/pam_unix_passwd.c:718 msgid "Enter new UNIX password: " msgstr "Faka iphasiwedi entsha ye-UNIX: " -#: modules/pam_unix/pam_unix_passwd.c:707 +#: modules/pam_unix/pam_unix_passwd.c:719 msgid "Retype new UNIX password: " msgstr "Thayipha iphasiwedi entsha ye-UNIX: " -- cgit v1.2.3 From cf65cdf3deec760c30def8d5fcc5e58f81386eae Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 21 Jun 2011 14:03:22 +0200 Subject: Add release to ChangeLog --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 38c3ac3f..fadefd96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2011-06-22 Thorsten Kukuk + * release version 1.1.4 + * configure.in: Bump version number. * NEWS: Document changes since 1.1.3 * libpam/Makefile.am: Bump release number of shared library -- cgit v1.2.3 From 01e04364faedc820de207bd3c8ecd0becf0e9fa3 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Fri, 24 Jun 2011 12:45:27 +0200 Subject: Fix order of libraries --- ChangeLog | 3 +++ modules/pam_unix/Makefile.am | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index fadefd96..07f120f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,9 @@ * libpam/Makefile.am: Bump release number of shared library * po/de.po: Translate new string. + * modules/pam_unix/Makefile.am (pam_unix_la_LIBADD): Reorder + Libraries. + 2011-06-21 Thorsten Kukuk * modules/pam_limits/pam_limits.c: Add set_all option, diff --git a/modules/pam_unix/Makefile.am b/modules/pam_unix/Makefile.am index ba77d39f..ea5a7318 100644 --- a/modules/pam_unix/Makefile.am +++ b/modules/pam_unix/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2006, 2009 Thorsten Kukuk +# Copyright (c) 2005, 2006, 2009, 2011 Thorsten Kukuk # CLEANFILES = *~ @@ -29,8 +29,8 @@ pam_unix_la_LDFLAGS = -no-undefined -avoid-version -module if HAVE_VERSIONING pam_unix_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map endif -pam_unix_la_LIBADD = $(NIS_LIBS) -L$(top_builddir)/libpam -lpam \ - @LIBCRYPT@ @LIBSELINUX@ +pam_unix_la_LIBADD = -L$(top_builddir)/libpam -lpam \ + @LIBCRYPT@ @LIBSELINUX@ $(NIS_LIBS) securelib_LTLIBRARIES = pam_unix.la -- cgit v1.2.3 From ca6fbe92205fe5b4acf2e92e4c2bf73327b26780 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 23 Aug 2011 12:42:32 +0200 Subject: Fix missing dereference. --- ChangeLog | 4 ++++ modules/pam_env/pam_env.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 07f120f1..7563098f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-08-23 Tomas Mraz + + * modules/pam_env/pam_env.c (_pam_parse): Fix missing dereference. + 2011-06-22 Thorsten Kukuk * release version 1.1.4 diff --git a/modules/pam_env/pam_env.c b/modules/pam_env/pam_env.c index 865fbafe..1ec01ca5 100644 --- a/modules/pam_env/pam_env.c +++ b/modules/pam_env/pam_env.c @@ -99,7 +99,7 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, if (!strcmp(*argv,"debug")) ctrl |= PAM_DEBUG_ARG; else if (!strncmp(*argv,"conffile=",9)) { - if (*argv+9 == '\0') { + if ((*argv)[9] == '\0') { pam_syslog(pamh, LOG_ERR, "conffile= specification missing argument - ignored"); } else { @@ -107,7 +107,7 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, D(("new Configuration File: %s", *conffile)); } } else if (!strncmp(*argv,"envfile=",8)) { - if (*argv+8 == '\0') { + if ((*argv)[8] == '\0') { pam_syslog (pamh, LOG_ERR, "envfile= specification missing argument - ignored"); } else { @@ -115,7 +115,7 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, D(("new Env File: %s", *envfile)); } } else if (!strncmp(*argv,"user_envfile=",13)) { - if (*argv+13 == '\0') { + if ((*argv)[13] == '\0') { pam_syslog (pamh, LOG_ERR, "user_envfile= specification missing argument - ignored"); } else { -- cgit v1.2.3 From 61f4f06abc9b8fcb3c478fa430b52499fd2ca300 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 25 Aug 2011 15:48:51 +0200 Subject: Fix the split on @ in the user field. (Red Hat Bug #732081) --- ChangeLog | 5 +++++ modules/pam_access/pam_access.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 7563098f..b4f1ef81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-08-25 Tomas Mraz + + * modules/pam_access/pam_access.c (user_match): Fix the split + on @ in the user field. (Red Hat Bug #732081) + 2011-08-23 Tomas Mraz * modules/pam_env/pam_env.c (_pam_parse): Fix missing dereference. diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c index 0eb1e8c6..472116c3 100644 --- a/modules/pam_access/pam_access.c +++ b/modules/pam_access/pam_access.c @@ -521,7 +521,10 @@ user_match (pam_handle_t *pamh, char *tok, struct login_info *item) * name of the user's primary group. */ - if (tok[0] != '@' && (at = strchr(tok + 1, '@')) != 0) { + /* Try to split on a pattern (@*[^@]+)(@+.*) */ + for (at = tok; *at == '@'; ++at); + + if ((at = strchr(at, '@')) != NULL) { /* split user@host pattern */ if (item->hostname == NULL) return NO; -- cgit v1.2.3 From 3d8a20af1f5f32ad7e4abf26057e8ef2193bc190 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 25 Aug 2011 16:02:42 +0200 Subject: Correct the FSF address. --- ChangeLog | 2 ++ modules/pam_loginuid/pam_loginuid.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b4f1ef81..21f4e8a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ * modules/pam_access/pam_access.c (user_match): Fix the split on @ in the user field. (Red Hat Bug #732081) + * modules/pam_loginuid/pam_loginuid.c: Correct the FSF address. + 2011-08-23 Tomas Mraz * modules/pam_env/pam_env.c (_pam_parse): Fix missing dereference. diff --git a/modules/pam_loginuid/pam_loginuid.c b/modules/pam_loginuid/pam_loginuid.c index 4fa486c7..06479973 100644 --- a/modules/pam_loginuid/pam_loginuid.c +++ b/modules/pam_loginuid/pam_loginuid.c @@ -14,7 +14,8 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Suite 500 + * Boston, MA 02110-1335 USA * * Authors: * Steve Grubb -- cgit v1.2.3 From c245299faf6baeba3ea7c493a0f3491407856638 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Fri, 30 Sep 2011 09:43:54 +0200 Subject: Improve documentation of the sufficient and requisite control values. (Red Hat Bug #742413) --- ChangeLog | 7 ++++++- doc/man/pam.conf-syntax.xml | 17 ++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 21f4e8a2..07f9f8b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,12 @@ +2011-09-30 Tomas Mraz + + * doc/man/pam.conf-syntax.xml: Improve documentation of the + sufficient and requisite control values. (Red Hat Bug #742413) + 2011-08-25 Tomas Mraz * modules/pam_access/pam_access.c (user_match): Fix the split - on @ in the user field. (Red Hat Bug #732081) + on @ in the user field. (Red Hat Bug #732081) * modules/pam_loginuid/pam_loginuid.c: Correct the FSF address. diff --git a/doc/man/pam.conf-syntax.xml b/doc/man/pam.conf-syntax.xml index bea84d91..da7cfb70 100644 --- a/doc/man/pam.conf-syntax.xml +++ b/doc/man/pam.conf-syntax.xml @@ -143,7 +143,8 @@ like required, however, in the case that such a module returns a failure, control is directly returned - to the application. The return value is that associated with + to the application or to the superior PAM stack. + The return value is that associated with the first required or requisite module to fail. Note, this flag can be used to protect against the possibility of a user getting the opportunity to enter a password over an unsafe medium. It is @@ -158,14 +159,12 @@ sufficient - success of such a module is enough to satisfy the - authentication requirements of the stack of modules (if a - prior required module has failed the - success of this one is ignored). A failure - of this module is not deemed as fatal to satisfying the - application that this type has succeeded. If the module succeeds - the PAM framework returns success to the application immediately - without trying any other modules. + if such a module succeeds and no prior required + module has failed the PAM framework returns success to + the application or to the superior PAM stack immediately without + calling any further modules in the stack. A failure of a + sufficient module is ignored and processing + of the PAM module stack continues unaffected. -- cgit v1.2.3 From 6eaacb1584c11373d96313dd17f72ab89cf5654d Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 10 Oct 2011 14:02:10 +0200 Subject: Add hostname resolution cache. --- ChangeLog | 10 ++++++++ modules/pam_access/pam_access.c | 54 ++++++++++++++++++++++++++--------------- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 07f9f8b9..80cda12c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-10-10 Tomas Mraz + + * modules/pam_access/pam_access.c: Add hostname resolution + cache. + (user_match): Clear the cache in fake_item. + (from_match): If from is not hostname, do not try to resolve it. + Cache the getaddrinfo() result. + (network_netmask_match): Cache the getaddrinfo() result. + (pam_sm_authenticate): Free the getaddrinfo() result. + 2011-09-30 Tomas Mraz * doc/man/pam.conf-syntax.xml: Improve documentation of the diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c index 472116c3..35b7d058 100644 --- a/modules/pam_access/pam_access.c +++ b/modules/pam_access/pam_access.c @@ -106,6 +106,8 @@ struct login_info { const char *fs; /* field separator */ const char *sep; /* list-element separator */ int from_remote_host; /* If PAM_RHOST was used for from */ + struct addrinfo *res; /* Cached DNS resolution of from */ + int gai_rv; /* Cached retval of getaddrinfo */ }; /* Parse module config arguments */ @@ -168,7 +170,7 @@ static int user_match (pam_handle_t *, char *, struct login_info *); static int group_match (pam_handle_t *, const char *, const char *, int); static int from_match (pam_handle_t *, char *, struct login_info *); static int string_match (pam_handle_t *, const char *, const char *, int); -static int network_netmask_match (pam_handle_t *, const char *, const char *, int); +static int network_netmask_match (pam_handle_t *, const char *, const char *, struct login_info *); /* isipaddr - find out if string provided is an IP address or not */ @@ -530,9 +532,16 @@ user_match (pam_handle_t *pamh, char *tok, struct login_info *item) return NO; memcpy (&fake_item, item, sizeof(fake_item)); fake_item.from = item->hostname; + fake_item.gai_rv = 0; + fake_item.res = NULL; + fake_item.from_remote_host = 1; /* hostname should be resolvable */ *at = 0; - return (user_match (pamh, tok, item) && - from_match (pamh, at + 1, &fake_item)); + if (!user_match (pamh, tok, item)) + return NO; + rv = from_match (pamh, at + 1, &fake_item); + if (fake_item.gai_rv == 0 && fake_item.res) + freeaddrinfo(fake_item.res); + return rv; } else if (tok[0] == '@') { /* netgroup */ const char *hostname = NULL; if (tok[1] == '@') { /* add hostname to netgroup match */ @@ -616,22 +625,24 @@ from_match (pam_handle_t *pamh UNUSED, char *tok, struct login_info *item) if ((str_len = strlen(string)) > (tok_len = strlen(tok)) && strcasecmp(tok, string + str_len - tok_len) == 0) return (YES); - } else if (strcasecmp(tok, "LOCAL") == 0) { /* local: no PAM_RHOSTS */ - if (item->from_remote_host == 0) + } else if (item->from_remote_host == 0) { /* local: no PAM_RHOSTS */ + if (strcasecmp(tok, "LOCAL") == 0) return (YES); } else if (tok[(tok_len = strlen(tok)) - 1] == '.') { - struct addrinfo *res; struct addrinfo hint; memset (&hint, '\0', sizeof (hint)); hint.ai_flags = AI_CANONNAME; hint.ai_family = AF_INET; - if (getaddrinfo (string, NULL, &hint, &res) != 0) + if (item->gai_rv != 0) + return NO; + else if (!item->res && + (item->gai_rv = getaddrinfo (string, NULL, &hint, &item->res)) != 0) return NO; else { - struct addrinfo *runp = res; + struct addrinfo *runp = item->res; while (runp != NULL) { @@ -647,17 +658,15 @@ from_match (pam_handle_t *pamh UNUSED, char *tok, struct login_info *item) if (strncmp(tok, buf, tok_len) == 0) { - freeaddrinfo (res); return YES; } } runp = runp->ai_next; } - freeaddrinfo (res); } } else { /* Assume network/netmask with a IP of a host. */ - if (network_netmask_match(pamh, tok, string, item->debug)) + if (network_netmask_match(pamh, tok, string, item)) return YES; } @@ -700,13 +709,13 @@ string_match (pam_handle_t *pamh, const char *tok, const char *string, */ static int network_netmask_match (pam_handle_t *pamh, - const char *tok, const char *string, int debug) + const char *tok, const char *string, struct login_info *item) { char *netmask_ptr; char netmask_string[MAXHOSTNAMELEN + 1]; int addr_type; - if (debug) + if (item->debug) pam_syslog (pamh, LOG_DEBUG, "network_netmask_match: tok=%s, item=%s", tok, string); /* OK, check if tok is of type addr/mask */ @@ -751,18 +760,20 @@ network_netmask_match (pam_handle_t *pamh, if (isipaddr(string, NULL, NULL) != YES) { /* Assume network/netmask with a name of a host. */ - struct addrinfo *res; struct addrinfo hint; memset (&hint, '\0', sizeof (hint)); hint.ai_flags = AI_CANONNAME; hint.ai_family = AF_UNSPEC; - if (getaddrinfo (string, NULL, &hint, &res) != 0) + if (item->gai_rv != 0) + return NO; + else if (!item->res && + (item->gai_rv = getaddrinfo (string, NULL, &hint, &item->res)) != 0) return NO; else { - struct addrinfo *runp = res; + struct addrinfo *runp = item->res; while (runp != NULL) { @@ -776,12 +787,10 @@ network_netmask_match (pam_handle_t *pamh, if (are_addresses_equal(buf, tok, netmask_ptr)) { - freeaddrinfo (res); return YES; } runp = runp->ai_next; } - freeaddrinfo (res); } } else @@ -803,6 +812,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, const char *from; struct passwd *user_pw; char hostname[MAXHOSTNAMELEN + 1]; + int rv; /* set username */ @@ -819,6 +829,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, /* * Bundle up the arguments to avoid unnecessary clumsiness later on. */ + memset(&loginfo, '\0', sizeof(loginfo)); loginfo.user = user_pw; loginfo.config_file = PAM_ACCESS_CONFIG; @@ -889,7 +900,12 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, loginfo.hostname = NULL; } - if (login_access(pamh, &loginfo)) { + rv = login_access(pamh, &loginfo); + + if (loginfo.gai_rv == 0 && loginfo.res) + freeaddrinfo(loginfo.res); + + if (rv) { return (PAM_SUCCESS); } else { pam_syslog(pamh, LOG_ERR, -- cgit v1.2.3 From c5cbe7a04f82ac89372dd2765979aac66188dca1 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 10 Oct 2011 14:05:03 +0200 Subject: If getdomainname() fails or domainname not set use NULL as domain in innetgr(). --- ChangeLog | 3 +++ modules/pam_access/pam_access.c | 8 +++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 80cda12c..bb859b9d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,9 @@ (network_netmask_match): Cache the getaddrinfo() result. (pam_sm_authenticate): Free the getaddrinfo() result. + * modules/pam_access/pam_access.c (netgroup_match): If getdomainname() + fails or domainname not set use NULL as domain in innetgr(). + 2011-09-30 Tomas Mraz * doc/man/pam.conf-syntax.xml: Improve documentation of the diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c index 35b7d058..2669a5ec 100644 --- a/modules/pam_access/pam_access.c +++ b/modules/pam_access/pam_access.c @@ -478,12 +478,10 @@ netgroup_match (pam_handle_t *pamh, const char *netgroup, if (getdomainname (domainname_res, sizeof (domainname_res)) == 0) { - if (strcmp (domainname_res, "(none)") == 0) + if (domainname_res[0] != '\0' && strcmp (domainname_res, "(none)") != 0) { - /* If domainname is not set, some systems will return "(none)" */ - domainname_res[0] = '\0'; - } - mydomain = domainname_res; + mydomain = domainname_res; + } } #endif -- cgit v1.2.3 From caf5e7f61c8d9288daa49b4f61962e6b1239121d Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Fri, 14 Oct 2011 19:32:25 +0000 Subject: pam_env: correctly count leading whitespace when parsing environment file * modules/pam_env/pam_env.c (_assemble_line): Correctly count leading whitespace. Fixes CVE-2011-3148. Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/874469 --- ChangeLog | 7 +++++++ modules/pam_env/pam_env.c | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index bb859b9d..f823d23e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-10-14 Kees Cook + + * modules/pam_env/pam_env.c (_assemble_line): Correctly count leading + whitespace. + Fixes CVE-2011-3148. + Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/874469 + 2011-10-10 Tomas Mraz * modules/pam_access/pam_access.c: Add hostname resolution diff --git a/modules/pam_env/pam_env.c b/modules/pam_env/pam_env.c index 1ec01ca5..b7cd387f 100644 --- a/modules/pam_env/pam_env.c +++ b/modules/pam_env/pam_env.c @@ -290,6 +290,7 @@ static int _assemble_line(FILE *f, char *buffer, int buf_len) char *p = buffer; char *s, *os; int used = 0; + int whitespace; /* loop broken with a 'break' when a non-'\\n' ended line is read */ @@ -312,8 +313,10 @@ static int _assemble_line(FILE *f, char *buffer, int buf_len) /* skip leading spaces --- line may be blank */ - s = p + strspn(p, " \n\t"); + whitespace = strspn(p, " \n\t"); + s = p + whitespace; if (*s && (*s != '#')) { + used += whitespace; os = s; /* -- cgit v1.2.3 From 109823cb621c900c07c4b6cdc99070d354d19444 Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Fri, 14 Oct 2011 19:47:23 +0000 Subject: pam_env: abort when encountering an overflowed environment variable expansion * modules/pam_env/pam_env.c (_expand_arg): Abort when encountering an overflowed environment variable expansion. Fixes CVE-2011-3149. Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/874565 --- ChangeLog | 5 +++++ modules/pam_env/pam_env.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index f823d23e..107f7651 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2011-10-14 Kees Cook + * modules/pam_env/pam_env.c (_expand_arg): Abort when encountering an + overflowed environment variable expansion. + Fixes CVE-2011-3149. + Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/874565 + * modules/pam_env/pam_env.c (_assemble_line): Correctly count leading whitespace. Fixes CVE-2011-3148. diff --git a/modules/pam_env/pam_env.c b/modules/pam_env/pam_env.c index b7cd387f..e04f5b53 100644 --- a/modules/pam_env/pam_env.c +++ b/modules/pam_env/pam_env.c @@ -570,6 +570,7 @@ static int _expand_arg(pam_handle_t *pamh, char **value) D(("Variable buffer overflow: <%s> + <%s>", tmp, tmpptr)); pam_syslog (pamh, LOG_ERR, "Variable buffer overflow: <%s> + <%s>", tmp, tmpptr); + return PAM_BUF_ERR; } continue; } @@ -631,6 +632,7 @@ static int _expand_arg(pam_handle_t *pamh, char **value) D(("Variable buffer overflow: <%s> + <%s>", tmp, tmpptr)); pam_syslog (pamh, LOG_ERR, "Variable buffer overflow: <%s> + <%s>", tmp, tmpptr); + return PAM_BUF_ERR; } } } /* if ('{' != *orig++) */ @@ -642,6 +644,7 @@ static int _expand_arg(pam_handle_t *pamh, char **value) D(("Variable buffer overflow: <%s> + <%s>", tmp, tmpptr)); pam_syslog(pamh, LOG_ERR, "Variable buffer overflow: <%s> + <%s>", tmp, tmpptr); + return PAM_BUF_ERR; } } } /* for (;*orig;) */ -- cgit v1.2.3 From fc772e7236a7aea9c9c26b0be2ee6f3ed8ae444a Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 25 Oct 2011 14:24:50 +0200 Subject: 2011-10-25 Thorsten Kukuk * release version 1.1.5 * configure.in: Bump version number. * modules/pam_tally2/pam_tally2.8.xml: Remove never used option "no_lock_time". --- ChangeLog | 9 ++++++++ NEWS | 6 +++++ configure.in | 2 +- modules/pam_tally2/pam_tally2.8.xml | 12 ---------- modules/pam_xauth/pam_xauth.c | 45 ++++++++++++++++++++++--------------- 5 files changed, 43 insertions(+), 31 deletions(-) diff --git a/ChangeLog b/ChangeLog index 107f7651..d7d808b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-10-25 Thorsten Kukuk + + * release version 1.1.5 + + * configure.in: Bump version number. + + * modules/pam_tally2/pam_tally2.8.xml: Remove never used option + "no_lock_time". + 2011-10-14 Kees Cook * modules/pam_env/pam_env.c (_expand_arg): Abort when encountering an diff --git a/NEWS b/NEWS index a80a2ab9..81f961f1 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,11 @@ Linux-PAM NEWS -- history of user-visible changes. +Release 1.1.5 +* pam_env: Fix CVE-2011-3148 and CVE-2011-3149 +* pam_access: Add hostname resolution cache +* Documentation: Improvements/fixes + + Release 1.1.4 * Add vietnamese translation diff --git a/configure.in b/configure.in index 7940a94e..5058155f 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT AC_CONFIG_SRCDIR([conf/pam_conv1/pam_conv_y.y]) -AM_INIT_AUTOMAKE("Linux-PAM", 1.1.4) +AM_INIT_AUTOMAKE("Linux-PAM", 1.1.5) AC_PREREQ(2.61) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/modules/pam_tally2/pam_tally2.8.xml b/modules/pam_tally2/pam_tally2.8.xml index 4ad529fd..5fecea24 100644 --- a/modules/pam_tally2/pam_tally2.8.xml +++ b/modules/pam_tally2/pam_tally2.8.xml @@ -236,17 +236,6 @@ - - - - - - - Do not use the .fail_locktime field in - /var/log/faillog for this user. - - - @@ -446,4 +435,3 @@ session optional pam_mail.so standard - diff --git a/modules/pam_xauth/pam_xauth.c b/modules/pam_xauth/pam_xauth.c index a64ae89f..88624b1c 100644 --- a/modules/pam_xauth/pam_xauth.c +++ b/modules/pam_xauth/pam_xauth.c @@ -459,24 +459,33 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED, goto cleanup; } - /* Check that both users are amenable to this. By default, this - * boils down to this policy: - * export(ruser=root): only if is listed in .xauth/export - * export(ruser=*) if is listed in .xauth/export, or - * if .xauth/export does not exist - * import(user=*): if is listed in .xauth/import, or - * if .xauth/import does not exist */ - i = (getuid() != 0 || tpwd->pw_uid == 0) ? PAM_SUCCESS : PAM_PERM_DENIED; - i = check_acl(pamh, "export", rpwd->pw_name, user, i, debug); - if (i != PAM_SUCCESS) { - retval = PAM_SESSION_ERR; - goto cleanup; - } - i = PAM_SUCCESS; - i = check_acl(pamh, "import", user, rpwd->pw_name, i, debug); - if (i != PAM_SUCCESS) { - retval = PAM_SESSION_ERR; - goto cleanup; + + /* If current user and the target user are the same, don't + check the ACL list, but forward X11 */ + if (strcmp (rpwd->pw_name, tpwd->pw_name) != 0) { + + /* Check that both users are amenable to this. By default, this + * boils down to this policy: + * export(ruser=root): only if is listed in .xauth/export + * export(ruser=*) if is listed in .xauth/export, or + * if .xauth/export does not exist + * import(user=*): if is listed in .xauth/import, or + * if .xauth/import does not exist */ + i = (getuid() != 0 || tpwd->pw_uid == 0) ? PAM_SUCCESS : PAM_PERM_DENIED; + i = check_acl(pamh, "export", rpwd->pw_name, user, i, debug); + if (i != PAM_SUCCESS) { + retval = PAM_SESSION_ERR; + goto cleanup; + } + i = PAM_SUCCESS; + i = check_acl(pamh, "import", user, rpwd->pw_name, i, debug); + if (i != PAM_SUCCESS) { + retval = PAM_SESSION_ERR; + goto cleanup; + } + } else { + if (debug) + pam_syslog (pamh, LOG_DEBUG, "current and target user are the same, forward X11"); } /* Figure out where the source user's .Xauthority file is. */ -- cgit v1.2.3