mirror of
https://github.com/linux-pam/linux-pam.git
synced 2024-11-23 17:53:40 +08:00
Relevant BUGIDs:
Purpose of commit: new feature Commit summary: --------------- 2008-11-28 Tomas Mraz <t8m@centrum.cz> * modules/pam_tally2/pam_tally2.c (tally_check): Fix info format to be the same as in pam_tally. * configure.in: Add modules/pam_timestamp/Makefile. * doc/sag/Linux-PAM_SAG.xml: Include pam_timestamp.xml. * doc/sag/pam_timestamp.xml: New. * libpam/pam_static_modules.h: Add pam_timestamp static struct. * modules/Makefile.am: Add pam_timestamp directory. * modules/pam_timestamp/Makefile.am: New. * modules/pam_timestamp/README.xml: New. * modules/pam_timestamp/hmacsha1.h: New. * modules/pam_timestamp/sha1.h: New. * modules/pam_timestamp/pam_timestamp.8.xml: New. * modules/pam_timestamp/pam_timestamp_check.8.xml: New. * modules/pam_timestamp/pam_timestamp.c: New. * modules/pam_timestamp/pam_timestamp_check.c: New. * modules/pam_timestamp/hmacfile.c: New. * modules/pam_timestamp/hmacsha1.c: New. * modules/pam_timestamp/sha1.c: New. * modules/pam_timestamp/tst-pam_timestamp: New. * po/POTFILES.in: Add pam_timestamp sources. * po/*.po: Regenerate. * po/cs.po: Updated translations.
This commit is contained in:
parent
51a9be048c
commit
4a67d64dd0
24
ChangeLog
24
ChangeLog
@ -3,6 +3,30 @@
|
||||
* modules/pam_unix/unix_update.c (set_password): Allow root to change
|
||||
passwords without verification of the old ones.
|
||||
|
||||
* modules/pam_tally2/pam_tally2.c (tally_check): Fix info format
|
||||
to be the same as in pam_tally.
|
||||
|
||||
* configure.in: Add modules/pam_timestamp/Makefile.
|
||||
* doc/sag/Linux-PAM_SAG.xml: Include pam_timestamp.xml.
|
||||
* doc/sag/pam_timestamp.xml: New.
|
||||
* libpam/pam_static_modules.h: Add pam_timestamp static struct.
|
||||
* modules/Makefile.am: Add pam_timestamp directory.
|
||||
* modules/pam_timestamp/Makefile.am: New.
|
||||
* modules/pam_timestamp/README.xml: New.
|
||||
* modules/pam_timestamp/hmacsha1.h: New.
|
||||
* modules/pam_timestamp/sha1.h: New.
|
||||
* modules/pam_timestamp/pam_timestamp.8.xml: New.
|
||||
* modules/pam_timestamp/pam_timestamp_check.8.xml: New.
|
||||
* modules/pam_timestamp/pam_timestamp.c: New.
|
||||
* modules/pam_timestamp/pam_timestamp_check.c: New.
|
||||
* modules/pam_timestamp/hmacfile.c: New.
|
||||
* modules/pam_timestamp/hmacsha1.c: New.
|
||||
* modules/pam_timestamp/sha1.c: New.
|
||||
* modules/pam_timestamp/tst-pam_timestamp: New.
|
||||
* po/POTFILES.in: Add pam_timestamp sources.
|
||||
* po/*.po: Regenerate.
|
||||
* po/cs.po: Updated translations.
|
||||
|
||||
2008-11-25 Thorsten Kukuk <kukuk@thkukuk.de>
|
||||
|
||||
* modules/pam_pwhistory/opasswd.c (save_old_password): Fix typo.
|
||||
|
2
NEWS
2
NEWS
@ -18,6 +18,8 @@ Release 1.0.90
|
||||
* New pam_tally2 module similar to pam_tally with wordsize independent
|
||||
tally data format
|
||||
* Make libpam not log missing module if its type is prepended with '-'
|
||||
* New pam_timestamp module for authentication based on recent successful
|
||||
login.
|
||||
|
||||
Release 1.0.2
|
||||
|
||||
|
@ -548,8 +548,8 @@ AC_CONFIG_FILES([Makefile libpam/Makefile libpamc/Makefile libpamc/test/Makefile
|
||||
modules/pam_sepermit/Makefile \
|
||||
modules/pam_shells/Makefile modules/pam_stress/Makefile \
|
||||
modules/pam_succeed_if/Makefile modules/pam_tally/Makefile \
|
||||
modules/pam_tally2/Makefile \
|
||||
modules/pam_time/Makefile modules/pam_tty_audit/Makefile \
|
||||
modules/pam_tally2/Makefile modules/pam_time/Makefile \
|
||||
modules/pam_timestamp/Makefile modules/pam_tty_audit/Makefile \
|
||||
modules/pam_umask/Makefile \
|
||||
modules/pam_unix/Makefile modules/pam_userdb/Makefile \
|
||||
modules/pam_warn/Makefile modules/pam_wheel/Makefile \
|
||||
|
@ -462,6 +462,8 @@ session required pam_warn.so
|
||||
href="pam_tally2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_time.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_timestamp.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_umask.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
|
42
doc/sag/pam_timestamp.xml
Normal file
42
doc/sag/pam_timestamp.xml
Normal file
@ -0,0 +1,42 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
||||
<section id='sag-pam_timestamp'>
|
||||
<title>pam_timestamp - authenticate using cached successful authentication attempts</title>
|
||||
<cmdsynopsis>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//cmdsynopsis[@id = "pam_timestamp-cmdsynopsis"]/*)'/>
|
||||
</cmdsynopsis>
|
||||
<section id='sag-pam_timestamp-description'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-description"]/*)'/>
|
||||
</section>
|
||||
<section id='sag-pam_timestamp-options'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-options"]/*)'/>
|
||||
</section>
|
||||
<section id='sag-pam_timestamp-types'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-types"]/*)'/>
|
||||
</section>
|
||||
<section id='sag-pam_timestamp-return_values'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-return_values"]/*)'/>
|
||||
</section>
|
||||
<section id='sag-pam_timestamp-notes'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-notes"]/*)'/>
|
||||
</section>
|
||||
<section id='sag-pam_timestamp-examples'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-examples"]/*)'/>
|
||||
</section>
|
||||
<section id='sag-pam_timestamp-files'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-files"]/*)'/>
|
||||
</section>
|
||||
<section id='sag-pam_timestamp-author'>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../modules/pam_timestamp/pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-author"]/*)'/>
|
||||
</section>
|
||||
</section>
|
@ -76,6 +76,7 @@ extern struct pam_module _pam_succeed_if_modstruct;
|
||||
extern struct pam_module _pam_tally_modstruct;
|
||||
extern struct pam_module _pam_tally2_modstruct;
|
||||
extern struct pam_module _pam_time_modstruct;
|
||||
extern struct pam_module _pam_timestamp_modstruct;
|
||||
#ifdef HAVE_AUDIT_TTY_STATUS
|
||||
extern struct pam_module _pam_tty_audit_modstruct;
|
||||
#endif
|
||||
@ -136,6 +137,7 @@ static struct pam_module *static_modules[] = {
|
||||
&_pam_tally_modstruct,
|
||||
&_pam_tally2_modstruct,
|
||||
&_pam_time_modstruct,
|
||||
&_pam_timestamp_modstruct,
|
||||
#ifdef HAVE_AUDIT_TTY_STATUS
|
||||
&_pam_tty_audit_modstruct,
|
||||
#endif
|
||||
|
@ -9,7 +9,8 @@ SUBDIRS = pam_access pam_cracklib pam_debug pam_deny pam_echo \
|
||||
pam_mkhomedir pam_motd pam_namespace pam_nologin \
|
||||
pam_permit pam_pwhistory pam_rhosts pam_rootok pam_securetty \
|
||||
pam_selinux pam_sepermit pam_shells pam_stress \
|
||||
pam_succeed_if pam_tally pam_tally2 pam_time pam_tty_audit pam_umask \
|
||||
pam_succeed_if pam_tally pam_tally2 pam_time pam_timestamp \
|
||||
pam_tty_audit pam_umask \
|
||||
pam_unix pam_userdb pam_warn pam_wheel pam_xauth
|
||||
|
||||
CLEANFILES = *~
|
||||
|
@ -517,8 +517,8 @@ tally_check (tally_t oldcnt, time_t oldtime, pam_handle_t *pamh, uid_t uid,
|
||||
#endif
|
||||
|
||||
if (!(opts->ctrl & OPT_QUIET)) {
|
||||
pam_info(pamh, _("Account locked due to %hu failed logins"),
|
||||
tally->fail_cnt);
|
||||
pam_info(pamh, _("Account locked due to %u failed logins"),
|
||||
(unsigned int)tally->fail_cnt);
|
||||
}
|
||||
if (!(opts->ctrl & OPT_NOLOGNOTICE)) {
|
||||
pam_syslog(pamh, LOG_NOTICE,
|
||||
|
47
modules/pam_timestamp/Makefile.am
Normal file
47
modules/pam_timestamp/Makefile.am
Normal file
@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright (c) 2005 Thorsten Kukuk <kukuk@suse.de>
|
||||
# Copyright (c) 2005 Red Hat, Inc.
|
||||
#
|
||||
|
||||
CLEANFILES = *~
|
||||
|
||||
XMLS = README.xml pam_timestamp.8.xml pam_timestamp_check.8.xml
|
||||
man_MANS = pam_timestamp.8 pam_timestamp_check.8
|
||||
TESTS = tst-pam_timestamp
|
||||
|
||||
EXTRA_DIST = $(man_MANS) hmactest.c $(XMLS) $(TESTS)
|
||||
|
||||
securelibdir = $(SECUREDIR)
|
||||
secureconfdir = $(SCONFIGDIR)
|
||||
|
||||
noinst_HEADERS = hmacsha1.h sha1.h
|
||||
|
||||
AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include
|
||||
|
||||
pam_timestamp_la_LDFLAGS = -no-undefined -avoid-version -module $(AM_LDFLAGS)
|
||||
pam_timestamp_la_LIBADD = -L$(top_builddir)/libpam -lpam
|
||||
if HAVE_VERSIONING
|
||||
pam_timestamp_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map
|
||||
endif
|
||||
|
||||
securelib_LTLIBRARIES = pam_timestamp.la
|
||||
sbin_PROGRAMS = pam_timestamp_check
|
||||
|
||||
pam_timestamp_la_SOURCES = pam_timestamp.c hmacsha1.c sha1.c
|
||||
pam_timestamp_la_CFLAGS = $(AM_CFLAGS)
|
||||
|
||||
pam_timestamp_check_SOURCES = pam_timestamp_check.c
|
||||
pam_timestamp_check_CFLAGS = $(AM_CFLAGS) @PIE_CFLAGS@
|
||||
pam_timestamp_check_LDADD = -L$(top_builddir)/libpam -lpam
|
||||
pam_timestamp_check_LDFLAGS = @PIE_LDFLAGS@
|
||||
|
||||
hmacfile_SOURCES = hmacfile.c hmacsha1.c sha1.c
|
||||
hmacfile_LDADD = -L$(top_builddir)/libpam -lpam
|
||||
|
||||
if ENABLE_REGENERATE_MAN
|
||||
noinst_DATA = README
|
||||
README: pam_timestamp.8.xml
|
||||
-include $(top_srcdir)/Make.xml.rules
|
||||
endif
|
||||
|
||||
noinst_PROGRAMS = hmacfile
|
46
modules/pam_timestamp/README.xml
Normal file
46
modules/pam_timestamp/README.xml
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding='UTF-8'?>
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.docbook.org/xml/4.3/docbookx.dtd"
|
||||
[
|
||||
<!--
|
||||
<!ENTITY pamaccess SYSTEM "pam_timestamp.8.xml">
|
||||
-->
|
||||
]>
|
||||
|
||||
<article>
|
||||
|
||||
<articleinfo>
|
||||
|
||||
<title>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_timestamp.8.xml" xpointer='xpointer(//refnamediv[@id = "pam_timestamp-name"]/*)'/>
|
||||
</title>
|
||||
|
||||
</articleinfo>
|
||||
|
||||
<section>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-description"]/*)'/>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-options"]/*)'/>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-notes"]/*)'/>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-examples"]/*)'/>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="pam_timestamp.8.xml" xpointer='xpointer(//refsect1[@id = "pam_timestamp-author"]/*)'/>
|
||||
</section>
|
||||
|
||||
</article>
|
157
modules/pam_timestamp/hmacfile.c
Normal file
157
modules/pam_timestamp/hmacfile.c
Normal file
@ -0,0 +1,157 @@
|
||||
/*
|
||||
* Copyright 2003,2004 Red Hat, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, and the entire permission notice in its entirety,
|
||||
* including the disclaimer of warranties.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote
|
||||
* products derived from this software without specific prior
|
||||
* written permission.
|
||||
*
|
||||
* ALTERNATIVELY, this product may be distributed under the terms of
|
||||
* the GNU Public License, in which case the provisions of the GPL are
|
||||
* required INSTEAD OF the above restrictions. (This clause is
|
||||
* necessary due to a potential bad interaction between the GPL and
|
||||
* the restrictions contained in a BSD-style copyright.)
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include "hmacsha1.h"
|
||||
|
||||
static void
|
||||
testvectors(void)
|
||||
{
|
||||
void *hmac;
|
||||
size_t hmac_len;
|
||||
size_t i, j;
|
||||
char hex[3];
|
||||
struct vector {
|
||||
const char *key;
|
||||
int key_len;
|
||||
const char *data;
|
||||
int data_len;
|
||||
const char *hmac;
|
||||
} vectors[] = {
|
||||
{
|
||||
"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b", 20,
|
||||
"Hi There", 8,
|
||||
"b617318655057264e28bc0b6fb378c8ef146be00",
|
||||
},
|
||||
|
||||
{
|
||||
"Jefe", 4,
|
||||
"what do ya want for nothing?", 28,
|
||||
"effcdf6ae5eb2fa2d27416d5f184df9c259a7c79",
|
||||
},
|
||||
|
||||
{
|
||||
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", 20,
|
||||
"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd", 50,
|
||||
"125d7342b9ac11cd91a39af48aa17b4f63f175d3",
|
||||
},
|
||||
|
||||
{
|
||||
"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19", 25,
|
||||
"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
|
||||
50,
|
||||
"4c9007f4026250c6bc8414f9bf50c86c2d7235da",
|
||||
},
|
||||
|
||||
{
|
||||
"\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c", 20,
|
||||
"Test With Truncation", 20,
|
||||
"4c1a03424b55e07fe7f27be1d58bb9324a9a5a04",
|
||||
},
|
||||
|
||||
{
|
||||
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
|
||||
80,
|
||||
"Test Using Larger Than Block-Size Key - Hash Key First", 54,
|
||||
"aa4ae5e15272d00e95705637ce8a3b55ed402112",
|
||||
},
|
||||
|
||||
{
|
||||
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
|
||||
80,
|
||||
"Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data", 73,
|
||||
"e8e99d0f45237d786d6bbaa7965c7808bbff1a91",
|
||||
},
|
||||
};
|
||||
for (i = 0; i < sizeof(vectors) / sizeof(vectors[0]); i++) {
|
||||
hmac = NULL;
|
||||
hmac_len = 0;
|
||||
hmac_sha1_generate(&hmac, &hmac_len,
|
||||
vectors[i].key, vectors[i].key_len,
|
||||
vectors[i].data, vectors[i].data_len);
|
||||
if (hmac != NULL) {
|
||||
unsigned char *hmacc = hmac;
|
||||
for (j = 0; j < hmac_len; j++) {
|
||||
snprintf(hex, sizeof(hex), "%02x",
|
||||
hmacc[j] & 0xff);
|
||||
if (strncasecmp(hex,
|
||||
vectors[i].hmac + 2 * j,
|
||||
2) != 0) {
|
||||
printf("Incorrect result for vector %lu\n", i + 1);
|
||||
exit(1);
|
||||
|
||||
}
|
||||
}
|
||||
free(hmac);
|
||||
} else {
|
||||
printf("Error in vector %lu.\n", i + 1);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
void *hmac;
|
||||
size_t maclen;
|
||||
const char *keyfile;
|
||||
int i;
|
||||
size_t j;
|
||||
|
||||
testvectors();
|
||||
|
||||
keyfile = argv[1];
|
||||
for (i = 2; i < argc; i++) {
|
||||
hmac_sha1_generate_file(NULL, &hmac, &maclen, keyfile, -1, -1,
|
||||
argv[i], strlen(argv[i]));
|
||||
if (hmac != NULL) {
|
||||
unsigned char *hmacc = hmac;
|
||||
for (j = 0; j < maclen; j++) {
|
||||
printf("%02x", hmacc[j] & 0xff);
|
||||
}
|
||||
printf(" %s\n", argv[i]);
|
||||
free(hmac);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
293
modules/pam_timestamp/hmacsha1.c
Normal file
293
modules/pam_timestamp/hmacsha1.c
Normal file
@ -0,0 +1,293 @@
|
||||
/* An implementation of HMAC using SHA-1.
|
||||
*
|
||||
* Copyright (c) 2003 Red Hat, Inc.
|
||||
* Written by Nalin Dahyabhai <nalin@redhat.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, and the entire permission notice in its entirety,
|
||||
* including the disclaimer of warranties.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote
|
||||
* products derived from this software without specific prior
|
||||
* written permission.
|
||||
*
|
||||
* ALTERNATIVELY, this product may be distributed under the terms of
|
||||
* the GNU Public License, in which case the provisions of the GPL are
|
||||
* required INSTEAD OF the above restrictions. (This clause is
|
||||
* necessary due to a potential bad interaction between the GPL and
|
||||
* the restrictions contained in a BSD-style copyright.)
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
/* See RFC 2104 for descriptions. */
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <grp.h>
|
||||
#include <pwd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <syslog.h>
|
||||
#include <security/pam_ext.h>
|
||||
#include "hmacsha1.h"
|
||||
#include "sha1.h"
|
||||
|
||||
#define MINIMUM_KEY_SIZE SHA1_OUTPUT_SIZE
|
||||
#define MAXIMUM_KEY_SIZE SHA1_BLOCK_SIZE
|
||||
|
||||
static void
|
||||
hmac_key_create(pam_handle_t *pamh, const char *filename, size_t key_size,
|
||||
uid_t owner, gid_t group)
|
||||
{
|
||||
int randfd, keyfd, i;
|
||||
size_t count;
|
||||
char *key;
|
||||
|
||||
/* Open the destination file. */
|
||||
keyfd = open(filename,
|
||||
O_WRONLY | O_CREAT | O_EXCL | O_TRUNC,
|
||||
S_IRUSR | S_IWUSR);
|
||||
if (keyfd == -1) {
|
||||
pam_syslog(pamh, LOG_ERR, "Cannot create %s: %m", filename);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (fchown(keyfd, owner, group) == -1) {
|
||||
pam_syslog(pamh, LOG_ERR, "Cannot chown %s: %m", filename);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Open the random device to get key data. */
|
||||
randfd = open("/dev/urandom", O_RDONLY);
|
||||
if (randfd == -1) {
|
||||
pam_syslog(pamh, LOG_ERR, "Cannot open /dev/urandom: %m");
|
||||
close(keyfd);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Read random data for use as the key. */
|
||||
key = malloc(key_size);
|
||||
count = 0;
|
||||
if (!key) {
|
||||
close(keyfd);
|
||||
close(randfd);
|
||||
return;
|
||||
}
|
||||
while (count < key_size) {
|
||||
i = read(randfd, key + count, key_size - count);
|
||||
if ((i == 0) || (i == -1)) {
|
||||
break;
|
||||
}
|
||||
count += i;
|
||||
}
|
||||
|
||||
close(randfd);
|
||||
|
||||
/* If we didn't get enough, stop here. */
|
||||
if (count < key_size) {
|
||||
pam_syslog(pamh, LOG_ERR, "Short read on random device");
|
||||
memset(key, 0, key_size);
|
||||
free(key);
|
||||
close(keyfd);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Now write the key. */
|
||||
count = 0;
|
||||
while (count < key_size) {
|
||||
i = write(keyfd, key + count, key_size - count);
|
||||
if ((i == 0) || (i == -1)) {
|
||||
break;
|
||||
}
|
||||
count += i;
|
||||
}
|
||||
memset(key, 0, key_size);
|
||||
free(key);
|
||||
close(keyfd);
|
||||
}
|
||||
|
||||
static void
|
||||
hmac_key_read(pam_handle_t *pamh, const char *filename, size_t default_key_size,
|
||||
uid_t owner, gid_t group,
|
||||
void **key, size_t *key_size)
|
||||
{
|
||||
char *tmp;
|
||||
int keyfd, i, count;
|
||||
struct stat st;
|
||||
|
||||
tmp = NULL;
|
||||
*key = NULL;
|
||||
*key_size = 0;
|
||||
|
||||
/* Try to open the key file. */
|
||||
keyfd = open(filename, O_RDONLY);
|
||||
if (keyfd == -1) {
|
||||
/* No such thing? Create it. */
|
||||
if (errno == ENOENT) {
|
||||
hmac_key_create(pamh, filename, default_key_size,
|
||||
owner, group);
|
||||
keyfd = open(filename, O_RDONLY);
|
||||
} else {
|
||||
pam_syslog(pamh, LOG_ERR, "Cannot open %s: %m", filename);
|
||||
}
|
||||
if (keyfd == -1)
|
||||
return;
|
||||
}
|
||||
|
||||
/* If we failed to open the file, we're done. */
|
||||
if (fstat(keyfd, &st) == -1) {
|
||||
close(keyfd);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Read the contents of the file. */
|
||||
tmp = malloc(st.st_size);
|
||||
if (!tmp) {
|
||||
close(keyfd);
|
||||
return;
|
||||
}
|
||||
|
||||
count = 0;
|
||||
while (count < st.st_size) {
|
||||
i = read(keyfd, tmp + count, st.st_size - count);
|
||||
if ((i == 0) || (i == -1)) {
|
||||
break;
|
||||
}
|
||||
count += i;
|
||||
}
|
||||
close(keyfd);
|
||||
|
||||
/* Require that we got the expected amount of data. */
|
||||
if (count < st.st_size) {
|
||||
memset(tmp, 0, st.st_size);
|
||||
free(tmp);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Pass the key back. */
|
||||
*key = tmp;
|
||||
*key_size = st.st_size;
|
||||
}
|
||||
|
||||
static void
|
||||
xor_block(unsigned char *p, unsigned char byte, size_t length)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < length; i++) {
|
||||
p[i] = p[i] ^ byte;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
hmac_sha1_generate(void **mac, size_t *mac_length,
|
||||
const void *raw_key, size_t raw_key_size,
|
||||
const void *text, size_t text_length)
|
||||
{
|
||||
unsigned char key[MAXIMUM_KEY_SIZE], tmp_key[MAXIMUM_KEY_SIZE];
|
||||
size_t maximum_key_size = SHA1_BLOCK_SIZE,
|
||||
minimum_key_size = SHA1_OUTPUT_SIZE;
|
||||
const unsigned char ipad = 0x36, opad = 0x5c;
|
||||
struct sha1_context sha1;
|
||||
unsigned char inner[SHA1_OUTPUT_SIZE], outer[SHA1_OUTPUT_SIZE];
|
||||
|
||||
*mac = NULL;
|
||||
*mac_length = 0;
|
||||
|
||||
#ifndef HMAC_ALLOW_SHORT_KEYS
|
||||
/* If the key is too short, don't bother. */
|
||||
if (raw_key_size < minimum_key_size) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* If the key is too long, "compress" it, else copy it and pad it
|
||||
* out with zero bytes. */
|
||||
memset(key, 0, sizeof(key));
|
||||
if (raw_key_size > maximum_key_size) {
|
||||
sha1_init(&sha1);
|
||||
sha1_update(&sha1, raw_key, raw_key_size);
|
||||
sha1_output(&sha1, key);
|
||||
} else {
|
||||
memmove(key, raw_key, raw_key_size);
|
||||
}
|
||||
|
||||
/* Generate the inner sum. */
|
||||
memcpy(tmp_key, key, sizeof(tmp_key));
|
||||
xor_block(tmp_key, ipad, sizeof(tmp_key));
|
||||
|
||||
sha1_init(&sha1);
|
||||
sha1_update(&sha1, tmp_key, sizeof(tmp_key));
|
||||
sha1_update(&sha1, text, text_length);
|
||||
sha1_output(&sha1, inner);
|
||||
|
||||
/* Generate the outer sum. */
|
||||
memcpy(tmp_key, key, sizeof(tmp_key));
|
||||
xor_block(tmp_key, opad, sizeof(tmp_key));
|
||||
|
||||
sha1_init(&sha1);
|
||||
sha1_update(&sha1, tmp_key, sizeof(tmp_key));
|
||||
sha1_update(&sha1, inner, sizeof(inner));
|
||||
sha1_output(&sha1, outer);
|
||||
|
||||
/* We don't need any of the keys any more. */
|
||||
memset(key, 0, sizeof(key));
|
||||
memset(tmp_key, 0, sizeof(tmp_key));
|
||||
|
||||
/* Allocate space to store the output. */
|
||||
*mac_length = sizeof(outer);
|
||||
*mac = malloc(*mac_length);
|
||||
if (*mac == NULL) {
|
||||
*mac_length = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
memcpy(*mac, outer, *mac_length);
|
||||
}
|
||||
|
||||
void
|
||||
hmac_sha1_generate_file(pam_handle_t *pamh, void **mac, size_t *mac_length,
|
||||
const char *keyfile, uid_t owner, gid_t group,
|
||||
const void *text, size_t text_length)
|
||||
{
|
||||
void *key;
|
||||
size_t key_length;
|
||||
|
||||
hmac_key_read(pamh, keyfile,
|
||||
MAXIMUM_KEY_SIZE, owner, group,
|
||||
&key, &key_length);
|
||||
if (key == NULL) {
|
||||
*mac = NULL;
|
||||
*mac_length = 0;
|
||||
return;
|
||||
}
|
||||
hmac_sha1_generate(mac, mac_length,
|
||||
key, key_length,
|
||||
text, text_length);
|
||||
memset(key, 0, key_length);
|
||||
free(key);
|
||||
}
|
||||
|
||||
size_t
|
||||
hmac_sha1_size(void)
|
||||
{
|
||||
return SHA1_OUTPUT_SIZE;
|
||||
}
|
15
modules/pam_timestamp/hmacsha1.h
Normal file
15
modules/pam_timestamp/hmacsha1.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef pam_timestamp_hmacfile_h
|
||||
#define pam_timestamp_hmacfile_h
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <security/pam_modules.h>
|
||||
|
||||
size_t hmac_sha1_size(void);
|
||||
void hmac_sha1_generate(void **mac, size_t *mac_length,
|
||||
const void *key, size_t key_length,
|
||||
const void *text, size_t text_length);
|
||||
void hmac_sha1_generate_file(pam_handle_t *pamh, void **mac, size_t *mac_length,
|
||||
const char *keyfile, uid_t owner, gid_t group,
|
||||
const void *text, size_t text_length);
|
||||
|
||||
#endif
|
189
modules/pam_timestamp/pam_timestamp.8.xml
Normal file
189
modules/pam_timestamp/pam_timestamp.8.xml
Normal file
@ -0,0 +1,189 @@
|
||||
<?xml version="1.0" encoding='UTF-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
|
||||
|
||||
<refentry id="pam_timestamp">
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>pam_timestamp</refentrytitle>
|
||||
<manvolnum>8</manvolnum>
|
||||
<refmiscinfo class="sectdesc">Linux-PAM Manual</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv id="pam_timestamp-name">
|
||||
<refname>pam_timestamp</refname>
|
||||
<refpurpose>Authenticate using cached successful authentication attempts</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis id="pam_timestamp-cmdsynopsis">
|
||||
<command>pam_timestamp.so</command>
|
||||
<arg choice="opt">
|
||||
timestamp_timeout=<replaceable>number</replaceable>
|
||||
</arg>
|
||||
<arg choice="opt">
|
||||
verbose
|
||||
</arg>
|
||||
<arg choice="opt">
|
||||
debug
|
||||
</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1 id="pam_timestamp-description">
|
||||
|
||||
<title>DESCRIPTION</title>
|
||||
|
||||
<para>
|
||||
In a nutshell, <emphasis>pam_timestamp</emphasis> caches successful
|
||||
authentication attempts, and allows you to use a recent successful attempt as
|
||||
the basis for authentication. This is similar mechanism which is used in
|
||||
<command>sudo</command>.
|
||||
</para>
|
||||
<para>
|
||||
When an application opens a session using <emphasis>pam_timestamp</emphasis>,
|
||||
a timestamp file is created in the <emphasis>timestampdir</emphasis> directory
|
||||
for the user. When an application attempts to authenticate the user, a
|
||||
<emphasis>pam_timestamp</emphasis> will treat a sufficiently recent timestamp
|
||||
file as grounds for succeeding.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="pam_timestamp-options">
|
||||
|
||||
<title>OPTIONS</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>timestamp_timeout=<replaceable>number</replaceable></option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
How long should pam_timestamp treat timestamp as valid after their
|
||||
last modification date (in seconds). Default is 300 seconds.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>verbose</option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Attempt to inform the user when access is granted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>debug</option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Turns on debugging messages sent to <citerefentry>
|
||||
<refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum>
|
||||
</citerefentry>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="pam_timestamp-types">
|
||||
<title>MODULE TYPES PROVIDED</title>
|
||||
<para>
|
||||
The <option>auth</option> and <option>session</option>
|
||||
module types are provided.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-return_values'>
|
||||
<title>RETURN VALUES</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>PAM_AUTH_ERR</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The module was not able to retrive the user name or
|
||||
no valid timestamp file was found.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>PAM_SUCCESS</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Everything was successfull.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>PAM_SESSION_ERR</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Timestamp file could not be created or updated.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-notes'>
|
||||
<title>NOTES</title>
|
||||
<para>
|
||||
Users can get confused when they are not always asked for passwords when
|
||||
running a given program. Some users reflexively begin typing information before
|
||||
noticing that it is not being asked for.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-examples'>
|
||||
<title>EXAMPLES</title>
|
||||
<programlisting>
|
||||
auth sufficient pam_timestamp.so verbose
|
||||
auth required pam_unix.so
|
||||
|
||||
session required pam_unix.so
|
||||
session optional pam_timestamp.so
|
||||
</programlisting>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="pam_timestamp-files">
|
||||
<title>FILES</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><filename>/var/run/sudo/...</filename></term>
|
||||
<listitem>
|
||||
<para>timestamp files and directories</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-see_also'>
|
||||
<title>SEE ALSO</title>
|
||||
<para>
|
||||
<citerefentry>
|
||||
<refentrytitle>pam_timestamp_check</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>pam.conf</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-author'>
|
||||
<title>AUTHOR</title>
|
||||
<para>
|
||||
pam_tally was written by Nalin Dahyabhai.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
816
modules/pam_timestamp/pam_timestamp.c
Normal file
816
modules/pam_timestamp/pam_timestamp.c
Normal file
@ -0,0 +1,816 @@
|
||||
/******************************************************************************
|
||||
* A module for Linux-PAM that will cache authentication results, inspired by
|
||||
* (and implemented with an eye toward being mixable with) sudo.
|
||||
*
|
||||
* Copyright (c) 2002 Red Hat, Inc.
|
||||
* Written by Nalin Dahyabhai <nalin@redhat.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, and the entire permission notice in its entirety,
|
||||
* including the disclaimer of warranties.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote
|
||||
* products derived from this software without specific prior
|
||||
* written permission.
|
||||
*
|
||||
* ALTERNATIVELY, this product may be distributed under the terms of
|
||||
* the GNU Public License, in which case the provisions of the GPL are
|
||||
* required INSTEAD OF the above restrictions. (This clause is
|
||||
* necessary due to a potential bad interaction between the GPL and
|
||||
* the restrictions contained in a BSD-style copyright.)
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#define PAM_SM_AUTH
|
||||
#define PAM_SM_SESSION
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
#include <pwd.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
#include <utmp.h>
|
||||
#include <syslog.h>
|
||||
#include "hmacsha1.h"
|
||||
|
||||
#include <security/pam_modules.h>
|
||||
#include <security/_pam_macros.h>
|
||||
#include <security/pam_ext.h>
|
||||
#include <security/pam_modutil.h>
|
||||
|
||||
/* The default timeout we use is 5 minutes, which matches the sudo default
|
||||
* for the timestamp_timeout parameter. */
|
||||
#define DEFAULT_TIMESTAMP_TIMEOUT (5 * 60)
|
||||
#define MODULE "pam_timestamp"
|
||||
#define TIMESTAMPDIR "/var/run/sudo"
|
||||
#define TIMESTAMPKEY TIMESTAMPDIR "/_pam_timestamp_key"
|
||||
|
||||
/* Various buffers we use need to be at least as large as either PATH_MAX or
|
||||
* LINE_MAX, so choose the larger of the two. */
|
||||
#if (LINE_MAX > PATH_MAX)
|
||||
#define BUFLEN LINE_MAX
|
||||
#else
|
||||
#define BUFLEN PATH_MAX
|
||||
#endif
|
||||
|
||||
/* Return PAM_SUCCESS if the given directory looks "safe". */
|
||||
static int
|
||||
check_dir_perms(pam_handle_t *pamh, const char *tdir)
|
||||
{
|
||||
char scratch[BUFLEN];
|
||||
struct stat st;
|
||||
int i;
|
||||
/* Check that the directory is "safe". */
|
||||
if ((tdir == NULL) || (strlen(tdir) == 0)) {
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
/* Iterate over the path, checking intermediate directories. */
|
||||
memset(scratch, 0, sizeof(scratch));
|
||||
for (i = 0; (tdir[i] != '\0') && (i < (int)sizeof(scratch)); i++) {
|
||||
scratch[i] = tdir[i];
|
||||
if ((scratch[i] == '/') || (tdir[i + 1] == '\0')) {
|
||||
/* We now have the name of a directory in the path, so
|
||||
* we need to check it. */
|
||||
if ((lstat(scratch, &st) == -1) && (errno != ENOENT)) {
|
||||
pam_syslog(pamh, LOG_ERR,
|
||||
"unable to read `%s': %m",
|
||||
scratch);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (!S_ISDIR(st.st_mode)) {
|
||||
pam_syslog(pamh, LOG_ERR,
|
||||
"`%s' is not a directory",
|
||||
scratch);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (S_ISLNK(st.st_mode)) {
|
||||
pam_syslog(pamh, LOG_ERR,
|
||||
"`%s' is a symbolic link",
|
||||
scratch);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (st.st_uid != 0) {
|
||||
pam_syslog(pamh, LOG_ERR,
|
||||
"`%s' owner UID != 0",
|
||||
scratch);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (st.st_gid != 0) {
|
||||
pam_syslog(pamh, LOG_ERR,
|
||||
"`%s' owner GID != 0",
|
||||
scratch);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if ((st.st_mode & (S_IWGRP | S_IWOTH)) != 0) {
|
||||
pam_syslog(pamh, LOG_ERR,
|
||||
"`%s' permissions are lax",
|
||||
scratch);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
return PAM_SUCCESS;
|
||||
}
|
||||
|
||||
/* Validate a tty pathname as actually belonging to a tty, and return its base
|
||||
* name if it's valid. */
|
||||
static const char *
|
||||
check_tty(const char *tty)
|
||||
{
|
||||
/* Check that we're not being set up to take a fall. */
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
return NULL;
|
||||
}
|
||||
/* Pull out the meaningful part of the tty's name. */
|
||||
if (strchr(tty, '/') != NULL) {
|
||||
if (strncmp(tty, "/dev/", 5) != 0) {
|
||||
/* Make sure the device node is actually in /dev/,
|
||||
* noted by Michal Zalewski. */
|
||||
return NULL;
|
||||
}
|
||||
tty = strrchr(tty, '/') + 1;
|
||||
}
|
||||
/* Make sure the tty wasn't actually a directory (no basename). */
|
||||
if (strlen(tty) == 0) {
|
||||
return NULL;
|
||||
}
|
||||
return tty;
|
||||
}
|
||||
|
||||
/* Determine the right path name for a given user's timestamp. */
|
||||
static int
|
||||
format_timestamp_name(char *path, size_t len,
|
||||
const char *timestamp_dir,
|
||||
const char *tty,
|
||||
const char *ruser,
|
||||
const char *user)
|
||||
{
|
||||
if (strcmp(ruser, user) == 0) {
|
||||
return snprintf(path, len, "%s/%s/%s", timestamp_dir,
|
||||
ruser, tty);
|
||||
} else {
|
||||
return snprintf(path, len, "%s/%s/%s:%s", timestamp_dir,
|
||||
ruser, tty, user);
|
||||
}
|
||||
}
|
||||
|
||||
/* Check if a given timestamp date, when compared to a current time, fits
|
||||
* within the given interval. */
|
||||
static int
|
||||
timestamp_good(time_t then, time_t now, time_t interval)
|
||||
{
|
||||
if (((now >= then) && ((now - then) < interval)) ||
|
||||
((now < then) && ((then - now) < (2 * interval)))) {
|
||||
return PAM_SUCCESS;
|
||||
}
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
static int
|
||||
check_login_time(const char *ruser, time_t timestamp)
|
||||
{
|
||||
struct utmp utbuf, *ut;
|
||||
time_t oldest_login = 0;
|
||||
|
||||
setutent();
|
||||
while(!getutent_r(&utbuf, &ut)) {
|
||||
if (ut->ut_type != USER_PROCESS) {
|
||||
continue;
|
||||
}
|
||||
if (strncmp(ruser, ut->ut_user, sizeof(ut->ut_user) != 0)) {
|
||||
continue;
|
||||
}
|
||||
if (oldest_login == 0 || oldest_login > ut->ut_tv.tv_sec) {
|
||||
oldest_login = ut->ut_tv.tv_sec;
|
||||
}
|
||||
}
|
||||
endutent();
|
||||
if(oldest_login == 0 || timestamp < oldest_login) {
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
return PAM_SUCCESS;
|
||||
}
|
||||
|
||||
#ifndef PAM_TIMESTAMP_MAIN
|
||||
static int
|
||||
get_ruser(pam_handle_t *pamh, char *ruserbuf, size_t ruserbuflen)
|
||||
{
|
||||
const void *ruser;
|
||||
struct passwd *pwd;
|
||||
|
||||
if (ruserbuf == NULL || ruserbuflen < 1)
|
||||
return -2;
|
||||
/* Get the name of the source user. */
|
||||
if (pam_get_item(pamh, PAM_RUSER, &ruser) != PAM_SUCCESS) {
|
||||
ruser = NULL;
|
||||
}
|
||||
if ((ruser == NULL) || (strlen(ruser) == 0)) {
|
||||
/* Barring that, use the current RUID. */
|
||||
pwd = pam_modutil_getpwuid(pamh, getuid());
|
||||
if (pwd != NULL) {
|
||||
ruser = pwd->pw_name;
|
||||
}
|
||||
}
|
||||
if (ruser == NULL || strlen(ruser) >= ruserbuflen) {
|
||||
*ruserbuf = '\0';
|
||||
return -1;
|
||||
}
|
||||
strcpy(ruserbuf, ruser);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Get the path to the timestamp to use. */
|
||||
static int
|
||||
get_timestamp_name(pam_handle_t *pamh, int argc, const char **argv,
|
||||
char *path, size_t len)
|
||||
{
|
||||
const char *user, *tty;
|
||||
const void *void_tty;
|
||||
const char *tdir = TIMESTAMPDIR;
|
||||
char ruser[BUFLEN];
|
||||
int i, debug = 0;
|
||||
|
||||
/* Parse arguments. */
|
||||
for (i = 0; i < argc; i++) {
|
||||
if (strcmp(argv[i], "debug") == 0) {
|
||||
debug = 1;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < argc; i++) {
|
||||
if (strncmp(argv[i], "timestampdir=", 13) == 0) {
|
||||
tdir = argv[i] + 13;
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG,
|
||||
"storing timestamps in `%s'",
|
||||
tdir);
|
||||
}
|
||||
}
|
||||
}
|
||||
i = check_dir_perms(pamh, tdir);
|
||||
if (i != PAM_SUCCESS) {
|
||||
return i;
|
||||
}
|
||||
/* Get the name of the target user. */
|
||||
if (pam_get_user(pamh, &user, NULL) != PAM_SUCCESS) {
|
||||
user = NULL;
|
||||
}
|
||||
if ((user == NULL) || (strlen(user) == 0)) {
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG, "becoming user `%s'", user);
|
||||
}
|
||||
/* Get the name of the source user. */
|
||||
if (get_ruser(pamh, ruser, sizeof(ruser)) || strlen(ruser) == 0) {
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG, "currently user `%s'", ruser);
|
||||
}
|
||||
/* Get the name of the terminal. */
|
||||
if (pam_get_item(pamh, PAM_TTY, &void_tty) != PAM_SUCCESS) {
|
||||
tty = NULL;
|
||||
} else {
|
||||
tty = void_tty;
|
||||
}
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
tty = ttyname(STDIN_FILENO);
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
tty = ttyname(STDOUT_FILENO);
|
||||
}
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
tty = ttyname(STDERR_FILENO);
|
||||
}
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
/* Match sudo's behavior for this case. */
|
||||
tty = "unknown";
|
||||
}
|
||||
}
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG, "tty is `%s'", tty);
|
||||
}
|
||||
/* Snip off all but the last part of the tty name. */
|
||||
tty = check_tty(tty);
|
||||
if (tty == NULL) {
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
/* Generate the name of the file used to cache auth results. These
|
||||
* paths should jive with sudo's per-tty naming scheme. */
|
||||
if (format_timestamp_name(path, len, tdir, tty, ruser, user) >= (int)len) {
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG, "using timestamp file `%s'", path);
|
||||
}
|
||||
return PAM_SUCCESS;
|
||||
}
|
||||
|
||||
/* Tell the user that access has been granted. */
|
||||
static void
|
||||
verbose_success(pam_handle_t *pamh, long diff)
|
||||
{
|
||||
pam_info(pamh, _("Access granted (last access was %ld seconds ago)."), diff);
|
||||
}
|
||||
|
||||
PAM_EXTERN int
|
||||
pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
|
||||
{
|
||||
struct stat st;
|
||||
time_t interval = DEFAULT_TIMESTAMP_TIMEOUT;
|
||||
int i, fd, debug = 0, verbose = 0;
|
||||
char path[BUFLEN], *p, *message, *message_end;
|
||||
long tmp;
|
||||
const void *void_service;
|
||||
const char *service;
|
||||
time_t now, then;
|
||||
|
||||
/* Parse arguments. */
|
||||
for (i = 0; i < argc; i++) {
|
||||
if (strcmp(argv[i], "debug") == 0) {
|
||||
debug = 1;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < argc; i++) {
|
||||
if (strncmp(argv[i], "timestamp_timeout=", 18) == 0) {
|
||||
tmp = strtol(argv[i] + 18, &p, 0);
|
||||
if ((p != NULL) && (*p == '\0')) {
|
||||
interval = tmp;
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG,
|
||||
"setting timeout to %ld"
|
||||
" seconds", (long)interval);
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (strcmp(argv[i], "verbose") == 0) {
|
||||
verbose = 1;
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG,
|
||||
"becoming more verbose");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & PAM_SILENT) {
|
||||
verbose = 0;
|
||||
}
|
||||
|
||||
/* Get the name of the timestamp file. */
|
||||
if (get_timestamp_name(pamh, argc, argv,
|
||||
path, sizeof(path)) != PAM_SUCCESS) {
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
/* Get the name of the service. */
|
||||
if (pam_get_item(pamh, PAM_SERVICE, &void_service) != PAM_SUCCESS) {
|
||||
service = NULL;
|
||||
} else {
|
||||
service = void_service;
|
||||
}
|
||||
if ((service == NULL) || (strlen(service) == 0)) {
|
||||
service = "(unknown)";
|
||||
}
|
||||
|
||||
/* Open the timestamp file. */
|
||||
fd = open(path, O_RDONLY | O_NOFOLLOW);
|
||||
if (fd == -1) {
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG,
|
||||
"cannot open timestamp `%s': %m",
|
||||
path);
|
||||
}
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
if (fstat(fd, &st) == 0) {
|
||||
int count;
|
||||
void *mac;
|
||||
size_t maclen;
|
||||
char ruser[BUFLEN];
|
||||
|
||||
/* Check that the file is owned by the superuser. */
|
||||
if ((st.st_uid != 0) || (st.st_gid != 0)) {
|
||||
pam_syslog(pamh, LOG_ERR, "timestamp file `%s' is "
|
||||
"not owned by root", path);
|
||||
close(fd);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
/* Check that the file is a normal file. */
|
||||
if (!(S_ISREG(st.st_mode))) {
|
||||
pam_syslog(pamh, LOG_ERR, "timestamp file `%s' is "
|
||||
"not a regular file", path);
|
||||
close(fd);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
/* Check that the file is the expected size. */
|
||||
if (st.st_size == 0) {
|
||||
/* Invalid, but may have been created by sudo. */
|
||||
close(fd);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (st.st_size !=
|
||||
(off_t)(strlen(path) + 1 + sizeof(then) + hmac_sha1_size())) {
|
||||
pam_syslog(pamh, LOG_NOTICE, "timestamp file `%s' "
|
||||
"appears to be corrupted", path);
|
||||
close(fd);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
/* Read the file contents. */
|
||||
message = malloc(st.st_size);
|
||||
count = 0;
|
||||
if (!message) {
|
||||
close(fd);
|
||||
return PAM_BUF_ERR;
|
||||
}
|
||||
while (count < st.st_size) {
|
||||
i = read(fd, message + count, st.st_size - count);
|
||||
if ((i == 0) || (i == -1)) {
|
||||
break;
|
||||
}
|
||||
count += i;
|
||||
}
|
||||
if (count < st.st_size) {
|
||||
pam_syslog(pamh, LOG_NOTICE, "error reading timestamp "
|
||||
"file `%s': %m", path);
|
||||
close(fd);
|
||||
free(message);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
message_end = message + strlen(path) + 1 + sizeof(then);
|
||||
|
||||
/* Regenerate the MAC. */
|
||||
hmac_sha1_generate_file(pamh, &mac, &maclen, TIMESTAMPKEY, 0, 0,
|
||||
message, message_end - message);
|
||||
if ((mac == NULL) ||
|
||||
(memcmp(path, message, strlen(path)) != 0) ||
|
||||
(memcmp(mac, message_end, maclen) != 0)) {
|
||||
pam_syslog(pamh, LOG_NOTICE, "timestamp file `%s' is "
|
||||
"corrupted", path);
|
||||
close(fd);
|
||||
free(message);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
free(mac);
|
||||
memmove(&then, message + strlen(path) + 1, sizeof(then));
|
||||
free(message);
|
||||
|
||||
/* Check oldest login against timestamp */
|
||||
if (get_ruser(pamh, ruser, sizeof(ruser)))
|
||||
{
|
||||
close(fd);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
if (check_login_time(ruser, then) != PAM_SUCCESS)
|
||||
{
|
||||
pam_syslog(pamh, LOG_NOTICE, "timestamp file `%s' is "
|
||||
"older than oldest login, disallowing "
|
||||
"access to %s for user %s",
|
||||
path, service, ruser);
|
||||
close(fd);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
/* Compare the dates. */
|
||||
now = time(NULL);
|
||||
if (timestamp_good(then, now, interval) == PAM_SUCCESS) {
|
||||
close(fd);
|
||||
pam_syslog(pamh, LOG_NOTICE, "timestamp file `%s' is "
|
||||
"only %ld seconds old, allowing access to %s "
|
||||
"for user %s", path, (long) (now - st.st_mtime),
|
||||
service, ruser);
|
||||
if (verbose) {
|
||||
verbose_success(pamh, now - st.st_mtime);
|
||||
}
|
||||
return PAM_SUCCESS;
|
||||
} else {
|
||||
close(fd);
|
||||
pam_syslog(pamh, LOG_NOTICE, "timestamp file `%s' has "
|
||||
"unacceptable age (%ld seconds), disallowing "
|
||||
"access to %s for user %s",
|
||||
path, (long) (now - st.st_mtime),
|
||||
service, ruser);
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
}
|
||||
close(fd);
|
||||
|
||||
/* Fail by default. */
|
||||
return PAM_AUTH_ERR;
|
||||
}
|
||||
|
||||
PAM_EXTERN int
|
||||
pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED, int argc UNUSED, const char **argv UNUSED)
|
||||
{
|
||||
return PAM_SUCCESS;
|
||||
}
|
||||
|
||||
PAM_EXTERN int
|
||||
pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, int argc, const char **argv)
|
||||
{
|
||||
char path[BUFLEN], subdir[BUFLEN], *text, *p;
|
||||
void *mac;
|
||||
size_t maclen;
|
||||
time_t now;
|
||||
int fd, i, debug = 0;
|
||||
|
||||
/* Parse arguments. */
|
||||
for (i = 0; i < argc; i++) {
|
||||
if (strcmp(argv[i], "debug") == 0) {
|
||||
debug = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Get the name of the timestamp file. */
|
||||
if (get_timestamp_name(pamh, argc, argv,
|
||||
path, sizeof(path)) != PAM_SUCCESS) {
|
||||
return PAM_SESSION_ERR;
|
||||
}
|
||||
|
||||
/* Create the directory for the timestamp file if it doesn't already
|
||||
* exist. */
|
||||
for (i = 1; path[i] != '\0'; i++) {
|
||||
if (path[i] == '/') {
|
||||
/* Attempt to create the directory. */
|
||||
strncpy(subdir, path, i);
|
||||
subdir[i] = '\0';
|
||||
if (mkdir(subdir, 0700) == 0) {
|
||||
/* Attempt to set the owner to the superuser. */
|
||||
lchown(subdir, 0, 0);
|
||||
} else {
|
||||
if (errno != EEXIST) {
|
||||
if (debug) {
|
||||
pam_syslog(pamh, LOG_DEBUG,
|
||||
"error creating directory `%s': %m",
|
||||
subdir);
|
||||
}
|
||||
return PAM_SESSION_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Generate the message. */
|
||||
text = malloc(strlen(path) + 1 + sizeof(now) + hmac_sha1_size());
|
||||
if (text == NULL) {
|
||||
pam_syslog(pamh, LOG_ERR, "unable to allocate memory: %m");
|
||||
return PAM_SESSION_ERR;
|
||||
}
|
||||
p = text;
|
||||
|
||||
strcpy(text, path);
|
||||
p += strlen(path) + 1;
|
||||
|
||||
now = time(NULL);
|
||||
memmove(p, &now, sizeof(now));
|
||||
p += sizeof(now);
|
||||
|
||||
/* Generate the MAC and append it to the plaintext. */
|
||||
hmac_sha1_generate_file(pamh, &mac, &maclen,
|
||||
TIMESTAMPKEY,
|
||||
0, 0,
|
||||
text, p - text);
|
||||
if (mac == NULL) {
|
||||
pam_syslog(pamh, LOG_ERR, "failure generating MAC: %m");
|
||||
free(text);
|
||||
return PAM_SESSION_ERR;
|
||||
}
|
||||
memmove(p, mac, maclen);
|
||||
p += maclen;
|
||||
free(mac);
|
||||
|
||||
/* Open the file. */
|
||||
fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
|
||||
if (fd == -1) {
|
||||
pam_syslog(pamh, LOG_ERR, "unable to open `%s': %m", path);
|
||||
free(text);
|
||||
return PAM_SESSION_ERR;
|
||||
}
|
||||
|
||||
/* Attempt to set the owner to the superuser. */
|
||||
fchown(fd, 0, 0);
|
||||
|
||||
/* Write the timestamp to the file. */
|
||||
if (write(fd, text, p - text) != p - text) {
|
||||
pam_syslog(pamh, LOG_ERR, "unable to write to `%s': %m", path);
|
||||
close(fd);
|
||||
free(text);
|
||||
return PAM_SESSION_ERR;
|
||||
}
|
||||
|
||||
/* Close the file and return successfully. */
|
||||
close(fd);
|
||||
free(text);
|
||||
pam_syslog(pamh, LOG_DEBUG, "updated timestamp file `%s'", path);
|
||||
return PAM_SUCCESS;
|
||||
}
|
||||
|
||||
PAM_EXTERN int
|
||||
pam_sm_close_session(pam_handle_t *pamh UNUSED, int flags UNUSED, int argc UNUSED, const char **argv UNUSED)
|
||||
{
|
||||
return PAM_SUCCESS;
|
||||
}
|
||||
|
||||
#ifdef PAM_STATIC
|
||||
/* static module data */
|
||||
|
||||
struct pam_module _pam_timestamp_modstruct = {
|
||||
"pam_timestamp",
|
||||
pam_sm_authenticate,
|
||||
pam_sm_setcred,
|
||||
NULL,
|
||||
pam_sm_open_session,
|
||||
pam_sm_close_session,
|
||||
NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
#else /* PAM_TIMESTAMP_MAIN */
|
||||
|
||||
#define USAGE "Usage: %s [[-k] | [-d]] [target user]\n"
|
||||
#define CHECK_INTERVAL 7
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int i, pretval = -1, retval = 0, dflag = 0, kflag = 0;
|
||||
const char *target_user = NULL, *user = NULL, *tty = NULL;
|
||||
struct passwd *pwd;
|
||||
struct timeval tv;
|
||||
fd_set write_fds;
|
||||
char path[BUFLEN];
|
||||
struct stat st;
|
||||
|
||||
/* Check that there's nothing funny going on with stdio. */
|
||||
if ((fstat(STDIN_FILENO, &st) == -1) ||
|
||||
(fstat(STDOUT_FILENO, &st) == -1) ||
|
||||
(fstat(STDERR_FILENO, &st) == -1)) {
|
||||
/* Appropriate the "no controlling tty" error code. */
|
||||
return 3;
|
||||
}
|
||||
|
||||
/* Parse arguments. */
|
||||
while ((i = getopt(argc, argv, "dk")) != -1) {
|
||||
switch (i) {
|
||||
case 'd':
|
||||
dflag++;
|
||||
break;
|
||||
case 'k':
|
||||
kflag++;
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, USAGE, argv[0]);
|
||||
return 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Bail if both -k and -d are given together. */
|
||||
if ((kflag + dflag) > 1) {
|
||||
fprintf(stderr, USAGE, argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Check that we're setuid. */
|
||||
if (geteuid() != 0) {
|
||||
fprintf(stderr, "%s must be setuid root\n",
|
||||
argv[0]);
|
||||
retval = 2;
|
||||
}
|
||||
|
||||
/* Check that we have a controlling tty. */
|
||||
tty = ttyname(STDIN_FILENO);
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
tty = ttyname(STDOUT_FILENO);
|
||||
}
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
tty = ttyname(STDERR_FILENO);
|
||||
}
|
||||
if ((tty == NULL) || (strlen(tty) == 0)) {
|
||||
tty = "unknown";
|
||||
}
|
||||
|
||||
/* Get the name of the invoking (requesting) user. */
|
||||
pwd = getpwuid(getuid());
|
||||
if (pwd == NULL) {
|
||||
retval = 4;
|
||||
}
|
||||
|
||||
/* Get the name of the target user. */
|
||||
user = strdup(pwd->pw_name);
|
||||
if (user == NULL) {
|
||||
retval = 4;
|
||||
} else {
|
||||
target_user = (optind < argc) ? argv[optind] : user;
|
||||
if ((strchr(target_user, '.') != NULL) ||
|
||||
(strchr(target_user, '/') != NULL) ||
|
||||
(strchr(target_user, '%') != NULL)) {
|
||||
fprintf(stderr, "unknown user: %s\n",
|
||||
target_user);
|
||||
retval = 4;
|
||||
}
|
||||
}
|
||||
|
||||
/* Sanity check the tty to make sure we should be checking
|
||||
* for timestamps which pertain to it. */
|
||||
if (retval == 0) {
|
||||
tty = check_tty(tty);
|
||||
if (tty == NULL) {
|
||||
fprintf(stderr, "invalid tty\n");
|
||||
retval = 6;
|
||||
}
|
||||
}
|
||||
|
||||
do {
|
||||
/* Sanity check the timestamp directory itself. */
|
||||
if (retval == 0) {
|
||||
if (check_dir_perms(NULL, TIMESTAMPDIR) != PAM_SUCCESS) {
|
||||
retval = 5;
|
||||
}
|
||||
}
|
||||
|
||||
if (retval == 0) {
|
||||
/* Generate the name of the timestamp file. */
|
||||
format_timestamp_name(path, sizeof(path), TIMESTAMPDIR,
|
||||
tty, user, target_user);
|
||||
}
|
||||
|
||||
if (retval == 0) {
|
||||
if (kflag) {
|
||||
/* Remove the timestamp. */
|
||||
if (lstat(path, &st) != -1) {
|
||||
retval = unlink(path);
|
||||
}
|
||||
} else {
|
||||
/* Check the timestamp. */
|
||||
if (lstat(path, &st) != -1) {
|
||||
/* Check oldest login against timestamp */
|
||||
if (check_login_time(user, st.st_mtime) != PAM_SUCCESS) {
|
||||
retval = 7;
|
||||
} else if (!timestamp_good(st.st_mtime, time(NULL),
|
||||
DEFAULT_TIMESTAMP_TIMEOUT) == PAM_SUCCESS) {
|
||||
retval = 7;
|
||||
}
|
||||
} else {
|
||||
retval = 7;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dflag > 0) {
|
||||
struct timeval now;
|
||||
/* Send the would-be-returned value to our parent. */
|
||||
signal(SIGPIPE, SIG_DFL);
|
||||
fprintf(stdout, "%d\n", retval);
|
||||
fflush(stdout);
|
||||
/* Wait. */
|
||||
gettimeofday(&now, NULL);
|
||||
tv.tv_sec = CHECK_INTERVAL;
|
||||
/* round the sleep time to get woken up on a whole second */
|
||||
tv.tv_usec = 1000000 - now.tv_usec;
|
||||
if (now.tv_usec < 500000)
|
||||
tv.tv_sec--;
|
||||
FD_ZERO(&write_fds);
|
||||
FD_SET(STDOUT_FILENO, &write_fds);
|
||||
select(STDOUT_FILENO + 1,
|
||||
NULL, NULL, &write_fds,
|
||||
&tv);
|
||||
pretval = retval;
|
||||
retval = 0;
|
||||
}
|
||||
} while (dflag > 0);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
#endif
|
208
modules/pam_timestamp/pam_timestamp_check.8.xml
Normal file
208
modules/pam_timestamp/pam_timestamp_check.8.xml
Normal file
@ -0,0 +1,208 @@
|
||||
<?xml version="1.0" encoding='UTF-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
|
||||
|
||||
<refentry id="pam_timestamp_check">
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>pam_timestamp_check</refentrytitle>
|
||||
<manvolnum>8</manvolnum>
|
||||
<refmiscinfo class="sectdesc">Linux-PAM Manual</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv id="pam_timestamp_check-name">
|
||||
<refname>pam_timestamp_check</refname>
|
||||
<refpurpose>Check to see if the default timestamp is valid</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis id="pam_timestamp_check-cmdsynopsis">
|
||||
<command>pam_timestamp_check</command>
|
||||
<arg choice="opt">
|
||||
-k
|
||||
</arg>
|
||||
<arg choice="opt">
|
||||
-d
|
||||
</arg>
|
||||
<arg choice="opt">
|
||||
<replaceable>target_user</replaceable>
|
||||
</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1 id="pam_timestamp_check-description">
|
||||
|
||||
<title>DESCRIPTION</title>
|
||||
|
||||
<para>
|
||||
With no arguments <command>pam_timestamp_check</command> will check to
|
||||
see if the default timestamp is valid, or optionally remove it.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="pam_timestamp_check-options">
|
||||
|
||||
<title>OPTIONS</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>-k</option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Instead of checking the validity of a timestamp, remove it.
|
||||
This is analogous to sudo's <emphasis>-k</emphasis> option.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>-d</option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Instead of returning validity using an exit status,
|
||||
loop indefinitely, polling regularly and printing the status on
|
||||
standard output.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option><replaceable>target_user</replaceable></option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
By default <command>pam_timestamp_check</command> checks or removes
|
||||
timestamps generated by <emphasis>pam_timestamp</emphasis> when
|
||||
the user authenticates as herself. When the user authenticates as a
|
||||
different user, the name of the timestamp file changes to
|
||||
accomodate this. <replaceable>target_user</replaceable> allows
|
||||
to specify this user name.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp_check-return_values'>
|
||||
<title>RETURN VALUES</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>0</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The timestamp is valid.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>2</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The binary is not setuid root.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>3</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Invalid invocation.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>4</term>
|
||||
<listitem>
|
||||
<para>
|
||||
User is unknown.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>5</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Permissions error.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>6</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Invalid controlling tty.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>7</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Timestamp is not valid.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-notes'>
|
||||
<title>NOTES</title>
|
||||
<para>
|
||||
Users can get confused when they are not always asked for passwords when
|
||||
running a given program. Some users reflexively begin typing information before
|
||||
noticing that it is not being asked for.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-examples'>
|
||||
<title>EXAMPLES</title>
|
||||
<programlisting>
|
||||
auth sufficient pam_timestamp.so verbose
|
||||
auth required pam_unix.so
|
||||
|
||||
session required pam_unix.so
|
||||
session optional pam_timestamp.so
|
||||
</programlisting>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="pam_timestamp-files">
|
||||
<title>FILES</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><filename>/var/run/sudo/...</filename></term>
|
||||
<listitem>
|
||||
<para>timestamp files and directories</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-see_also'>
|
||||
<title>SEE ALSO</title>
|
||||
<para>
|
||||
<citerefentry>
|
||||
<refentrytitle>pam_timestamp_check</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>pam.conf</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id='pam_timestamp-author'>
|
||||
<title>AUTHOR</title>
|
||||
<para>
|
||||
pam_tally was written by Nalin Dahyabhai.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
42
modules/pam_timestamp/pam_timestamp_check.c
Normal file
42
modules/pam_timestamp/pam_timestamp_check.c
Normal file
@ -0,0 +1,42 @@
|
||||
/******************************************************************************
|
||||
* A module for Linux-PAM that will cache authentication results, inspired by
|
||||
* (and implemented with an eye toward being mixable with) sudo.
|
||||
*
|
||||
* Copyright (c) 2002 Red Hat, Inc.
|
||||
* Written by Nalin Dahyabhai <nalin@redhat.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, and the entire permission notice in its entirety,
|
||||
* including the disclaimer of warranties.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote
|
||||
* products derived from this software without specific prior
|
||||
* written permission.
|
||||
*
|
||||
* ALTERNATIVELY, this product may be distributed under the terms of
|
||||
* the GNU Public License, in which case the provisions of the GPL are
|
||||
* required INSTEAD OF the above restrictions. (This clause is
|
||||
* necessary due to a potential bad interaction between the GPL and
|
||||
* the restrictions contained in a BSD-style copyright.)
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#define PAM_TIMESTAMP_MAIN 1
|
||||
#include "pam_timestamp.c"
|
254
modules/pam_timestamp/sha1.c
Normal file
254
modules/pam_timestamp/sha1.c
Normal file
@ -0,0 +1,254 @@
|
||||
/* Yet another SHA-1 implementation.
|
||||
*
|
||||
* Copyright (c) 2003 Red Hat, Inc.
|
||||
* Written by Nalin Dahyabhai <nalin@redhat.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, and the entire permission notice in its entirety,
|
||||
* including the disclaimer of warranties.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote
|
||||
* products derived from this software without specific prior
|
||||
* written permission.
|
||||
*
|
||||
* ALTERNATIVELY, this product may be distributed under the terms of
|
||||
* the GNU Public License, in which case the provisions of the GPL are
|
||||
* required INSTEAD OF the above restrictions. (This clause is
|
||||
* necessary due to a potential bad interaction between the GPL and
|
||||
* the restrictions contained in a BSD-style copyright.)
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
/* See http://www.itl.nist.gov/fipspubs/fip180-1.htm for descriptions. */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <netinet/in.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <endian.h>
|
||||
#include <unistd.h>
|
||||
#include "sha1.h"
|
||||
|
||||
static unsigned char
|
||||
padding[SHA1_BLOCK_SIZE] = {
|
||||
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
static u_int32_t
|
||||
F(u_int32_t b, u_int32_t c, u_int32_t d)
|
||||
{
|
||||
return (b & c) | ((~b) & d);
|
||||
}
|
||||
|
||||
static u_int32_t
|
||||
G(u_int32_t b, u_int32_t c, u_int32_t d)
|
||||
{
|
||||
return b ^ c ^ d;
|
||||
}
|
||||
|
||||
static u_int32_t
|
||||
H(u_int32_t b, u_int32_t c, u_int32_t d)
|
||||
{
|
||||
return (b & c) | (b & d) | (c & d);
|
||||
}
|
||||
|
||||
static u_int32_t
|
||||
RL(u_int32_t n, u_int32_t s)
|
||||
{
|
||||
return (n << s) | (n >> (32 - s));
|
||||
}
|
||||
|
||||
static u_int32_t
|
||||
sha1_round(u_int32_t (*FUNC)(u_int32_t, u_int32_t, u_int32_t),
|
||||
u_int32_t a, u_int32_t b, u_int32_t c, u_int32_t d, u_int32_t e,
|
||||
u_int32_t i, u_int32_t n)
|
||||
{
|
||||
return RL(a, 5) + FUNC(b, c, d) + e + i + n;
|
||||
}
|
||||
|
||||
void
|
||||
sha1_init(struct sha1_context *ctx)
|
||||
{
|
||||
memset(ctx, 0, sizeof(*ctx));
|
||||
ctx->a = 0x67452301;
|
||||
ctx->b = 0xefcdab89;
|
||||
ctx->c = 0x98badcfe;
|
||||
ctx->d = 0x10325476;
|
||||
ctx->e = 0xc3d2e1f0;
|
||||
}
|
||||
|
||||
static void
|
||||
sha1_process(struct sha1_context *ctx, u_int32_t buffer[SHA1_BLOCK_SIZE / 4])
|
||||
{
|
||||
u_int32_t a, b, c, d, e, temp;
|
||||
u_int32_t data[80];
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
data[i] = htonl(buffer[i]);
|
||||
}
|
||||
for (i = 16; i < 80; i++) {
|
||||
data[i] = RL(data[i - 3] ^ data[i - 8] ^ data[i - 14] ^ data[i - 16], 1);
|
||||
}
|
||||
|
||||
a = ctx->a;
|
||||
b = ctx->b;
|
||||
c = ctx->c;
|
||||
d = ctx->d;
|
||||
e = ctx->e;
|
||||
|
||||
for (i = 0; i < 20; i++) {
|
||||
temp = sha1_round(F, a, b, c, d, e, data[i], 0x5a827999);
|
||||
e = d; d = c; c = RL(b, 30); b = a; a = temp;
|
||||
}
|
||||
for (i = 20; i < 40; i++) {
|
||||
temp = sha1_round(G, a, b, c, d, e, data[i], 0x6ed9eba1);
|
||||
e = d; d = c; c = RL(b, 30); b = a; a = temp;
|
||||
}
|
||||
for (i = 40; i < 60; i++) {
|
||||
temp = sha1_round(H, a, b, c, d, e, data[i], 0x8f1bbcdc);
|
||||
e = d; d = c; c = RL(b, 30); b = a; a = temp;
|
||||
}
|
||||
for (i = 60; i < 80; i++) {
|
||||
temp = sha1_round(G, a, b, c, d, e, data[i], 0xca62c1d6);
|
||||
e = d; d = c; c = RL(b, 30); b = a; a = temp;
|
||||
}
|
||||
|
||||
ctx->a += a;
|
||||
ctx->b += b;
|
||||
ctx->c += c;
|
||||
ctx->d += d;
|
||||
ctx->e += e;
|
||||
|
||||
memset(buffer, 0, sizeof(buffer[0]) * SHA1_BLOCK_SIZE / 4);
|
||||
memset(data, 0, sizeof(data));
|
||||
}
|
||||
|
||||
void
|
||||
sha1_update(struct sha1_context *ctx, const unsigned char *data, size_t length)
|
||||
{
|
||||
size_t i = 0, l = length, c, t;
|
||||
u_int32_t count = 0;
|
||||
|
||||
/* Process any pending + data blocks. */
|
||||
while (l + ctx->pending_count >= SHA1_BLOCK_SIZE) {
|
||||
c = ctx->pending_count;
|
||||
t = SHA1_BLOCK_SIZE - c;
|
||||
memcpy(ctx->pending + c, &data[i], t);
|
||||
sha1_process(ctx, (u_int32_t*) ctx->pending);
|
||||
i += t;
|
||||
l -= t;
|
||||
ctx->pending_count = 0;
|
||||
}
|
||||
|
||||
/* Save what's left of the data block as a pending data block. */
|
||||
c = ctx->pending_count;
|
||||
memcpy(ctx->pending + c, &data[i], l);
|
||||
ctx->pending_count += l;
|
||||
|
||||
/* Update the message length. */
|
||||
ctx->count += length;
|
||||
|
||||
/* Update our internal counts. */
|
||||
if (length != 0) {
|
||||
count = ctx->counts[0];
|
||||
ctx->counts[0] += length;
|
||||
if (count >= ctx->counts[0]) {
|
||||
ctx->counts[1]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
size_t
|
||||
sha1_output(struct sha1_context *ctx, unsigned char *out)
|
||||
{
|
||||
struct sha1_context ctx2;
|
||||
|
||||
/* Output the sum. */
|
||||
if (out != NULL) {
|
||||
u_int32_t c;
|
||||
memcpy(&ctx2, ctx, sizeof(ctx2));
|
||||
|
||||
/* Pad this block. */
|
||||
c = ctx2.pending_count;
|
||||
memcpy(ctx2.pending + c,
|
||||
padding, SHA1_BLOCK_SIZE - c);
|
||||
|
||||
/* Do we need to process two blocks now? */
|
||||
if (c >= (SHA1_BLOCK_SIZE - (sizeof(u_int32_t) * 2))) {
|
||||
/* Process this block. */
|
||||
sha1_process(&ctx2,
|
||||
(u_int32_t*) ctx2.pending);
|
||||
/* Set up another block. */
|
||||
ctx2.pending_count = 0;
|
||||
memset(ctx2.pending, 0, SHA1_BLOCK_SIZE);
|
||||
ctx2.pending[0] =
|
||||
(c == SHA1_BLOCK_SIZE) ? 0x80 : 0;
|
||||
}
|
||||
|
||||
/* Process the final block. */
|
||||
ctx2.counts[1] <<= 3;
|
||||
if (ctx2.counts[0] >> 29) {
|
||||
ctx2.counts[1] |=
|
||||
(ctx2.counts[0] >> 29);
|
||||
}
|
||||
ctx2.counts[0] <<= 3;
|
||||
ctx2.counts[0] = htonl(ctx2.counts[0]);
|
||||
ctx2.counts[1] = htonl(ctx2.counts[1]);
|
||||
memcpy(ctx2.pending + 56,
|
||||
&ctx2.counts[1], sizeof(u_int32_t));
|
||||
memcpy(ctx2.pending + 60,
|
||||
&ctx2.counts[0], sizeof(u_int32_t));
|
||||
sha1_process(&ctx2, (u_int32_t*) ctx2.pending);
|
||||
|
||||
/* Output the data. */
|
||||
out[ 3] = (ctx2.a >> 0) & 0xff;
|
||||
out[ 2] = (ctx2.a >> 8) & 0xff;
|
||||
out[ 1] = (ctx2.a >> 16) & 0xff;
|
||||
out[ 0] = (ctx2.a >> 24) & 0xff;
|
||||
|
||||
out[ 7] = (ctx2.b >> 0) & 0xff;
|
||||
out[ 6] = (ctx2.b >> 8) & 0xff;
|
||||
out[ 5] = (ctx2.b >> 16) & 0xff;
|
||||
out[ 4] = (ctx2.b >> 24) & 0xff;
|
||||
|
||||
out[11] = (ctx2.c >> 0) & 0xff;
|
||||
out[10] = (ctx2.c >> 8) & 0xff;
|
||||
out[ 9] = (ctx2.c >> 16) & 0xff;
|
||||
out[ 8] = (ctx2.c >> 24) & 0xff;
|
||||
|
||||
out[15] = (ctx2.d >> 0) & 0xff;
|
||||
out[14] = (ctx2.d >> 8) & 0xff;
|
||||
out[13] = (ctx2.d >> 16) & 0xff;
|
||||
out[12] = (ctx2.d >> 24) & 0xff;
|
||||
|
||||
out[19] = (ctx2.e >> 0) & 0xff;
|
||||
out[18] = (ctx2.e >> 8) & 0xff;
|
||||
out[17] = (ctx2.e >> 16) & 0xff;
|
||||
out[16] = (ctx2.e >> 24) & 0xff;
|
||||
}
|
||||
|
||||
return SHA1_OUTPUT_SIZE;
|
||||
}
|
60
modules/pam_timestamp/sha1.h
Normal file
60
modules/pam_timestamp/sha1.h
Normal file
@ -0,0 +1,60 @@
|
||||
/* Yet another SHA-1 implementation.
|
||||
*
|
||||
* Copyright (c) 2003 Red Hat, Inc.
|
||||
* Written by Nalin Dahyabhai <nalin@redhat.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, and the entire permission notice in its entirety,
|
||||
* including the disclaimer of warranties.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote
|
||||
* products derived from this software without specific prior
|
||||
* written permission.
|
||||
*
|
||||
* ALTERNATIVELY, this product may be distributed under the terms of
|
||||
* the GNU Public License, in which case the provisions of the GPL are
|
||||
* required INSTEAD OF the above restrictions. (This clause is
|
||||
* necessary due to a potential bad interaction between the GPL and
|
||||
* the restrictions contained in a BSD-style copyright.)
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#ifndef pam_timestamp_sha1_h
|
||||
#define pam_timestamp_sha1_h
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#define SHA1_BLOCK_SIZE 64
|
||||
|
||||
struct sha1_context {
|
||||
size_t count;
|
||||
unsigned char pending[SHA1_BLOCK_SIZE];
|
||||
u_int32_t counts[2];
|
||||
size_t pending_count;
|
||||
u_int32_t a, b, c, d, e;
|
||||
};
|
||||
|
||||
#define SHA1_OUTPUT_SIZE 20
|
||||
|
||||
void sha1_init(struct sha1_context *ctx);
|
||||
void sha1_update(struct sha1_context *ctx,
|
||||
const unsigned char *data, size_t length);
|
||||
size_t sha1_output(struct sha1_context *ctx, unsigned char *out);
|
||||
|
||||
#endif
|
2
modules/pam_timestamp/tst-pam_timestamp
Executable file
2
modules/pam_timestamp/tst-pam_timestamp
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
../../tests/tst-dlopen .libs/pam_timestamp.so
|
@ -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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr ""
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr ""
|
||||
@ -353,13 +353,13 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr ""
|
||||
@ -424,20 +424,20 @@ msgstr ""
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr ""
|
||||
|
||||
@ -446,7 +446,7 @@ msgstr ""
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -488,11 +488,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -506,6 +501,11 @@ msgid ""
|
||||
" [-r] [--reset[=n]] [--quiet]\n"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
@ -74,6 +74,8 @@
|
||||
./modules/pam_tally2/pam_tally2_app.c
|
||||
./modules/pam_tally2/pam_tally2.c
|
||||
./modules/pam_time/pam_time.c
|
||||
./modules/pam_timestamp/pam_timestamp.c
|
||||
./modules/pam_timestamp/pam_timestamp_check.c
|
||||
./modules/pam_tty_audit/pam_tty_audit.c
|
||||
./modules/pam_umask/pam_umask.c
|
||||
./modules/pam_unix/bigcrypt.c
|
||||
|
38
po/ar.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2001-07-13 15:36+0200\n"
|
||||
"Last-Translator: Novell Language <language@novell.com>\n"
|
||||
"Language-Team: Novell Language <language@novell.com>\n"
|
||||
@ -166,19 +166,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "خطأ PAM غير معروف"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "كلمة سر %s%s الجديدة: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "أعد كتابة كلمة سر %s%s الجديدة: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "عذرًا، يوجد عدم تطابق بين كلمات السر."
|
||||
|
||||
@ -229,7 +229,7 @@ msgid "Password unchanged"
|
||||
msgstr "لم يتم تغيير كلمة السر"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "كلمة سر سيئة: %s"
|
||||
@ -352,14 +352,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "لم يتم تغيير كلمة السر"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "كلمة السر التي تم إدخالها مستخدمة بالفعل. اختر كلمة سر أخرى."
|
||||
@ -428,20 +428,20 @@ msgstr "فشل pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "تسجيل الدخول: فشل تشعيب: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "تغيير كلمة سر STRESS لـ"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "أدخل كلمة سر STRESS الجديدة: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "أعد كتابة كلمة سر STRESS الجديدة: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "إعادة كتابة كلمة السر غير صحيحة؛ كلمة السر لم تتغير"
|
||||
|
||||
@ -450,7 +450,7 @@ msgstr "إعادة كتابة كلمة السر غير صحيحة؛ كلمة ا
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -493,11 +493,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: لا يمكن إعادة تعيين كافة المستخدمين إلى رقم غير الصفر\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -512,6 +507,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "انتهت مدة صلاحية الحساب الخاص بك؛ الرجاء الاتصال بمسؤول النظام"
|
||||
|
38
po/as.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-13 11:23+0530\n"
|
||||
"Last-Translator: Amitakhya Phukan <aphukan@fedoraproject.org>\n"
|
||||
"Language-Team: Assamese\n"
|
||||
@ -168,19 +168,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "অজ্ঞাত PAM ভুল"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "নতুন %s%s গুপ্তশব্দ: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "নতুন %s%s গুপ্তশব্দ পুনঃ লিখক: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "ক্ষমা কৰিব, গুপ্তশব্দৰ অমিল "
|
||||
|
||||
@ -231,7 +231,7 @@ msgid "Password unchanged"
|
||||
msgstr "গুপ্ত শব্দ অপৰিবৰ্ত্তিত"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "বেয়া গুপ্তশব্দ: %s"
|
||||
@ -354,14 +354,14 @@ msgstr "'%s' পঞ্জিকা সৃষ্টি কৰা হৈছে ।
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "%s পঞ্জিকা সৃষ্টি কৰিব নোৱাৰি: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "গুপ্ত শব্দ অপৰিবৰ্ত্তিত"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "গুপ্তশব্দ ইতিমধ্যে ব্যৱহৃত । অন্য এটা বাচি লওক ।"
|
||||
@ -426,20 +426,20 @@ msgstr "pam_set_item() কৰোঁতে বিফল\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "প্ৰৱেশ: forking ত বিফল: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s ৰ বাবে STRESS গুপ্তশব্দ সলনি কৰা হৈছে ।"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "নতুন STRESS গুপ্তশব্দ দিয়ক:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "নতুন STRESS গুপ্তশব্দ পুনঃ লিখক: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "সত্যৰ প্ৰতিপাদন ভুলকৈ লিখা গ'ল;গুপ্তশব্দ অপৰিবৰ্ত্তিত"
|
||||
|
||||
@ -448,7 +448,7 @@ msgstr "সত্যৰ প্ৰতিপাদন ভুলকৈ লিখা
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -491,11 +491,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: সকলো ব্যৱহাৰকৰোঁতাক শূণ্য নোহোৱা অৱস্থালৈ পুনঃ প্ৰতিষ্ঠা কৰিব নোৱাৰি\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -510,6 +505,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "আপোনাৰ হিচাপ অন্ত হ'ল; অনুগ্ৰহ কৰি আপোনাৰ ব্যৱাস্থাপ্ৰণালীৰ "
|
||||
|
42
po/bn_IN.po
42
po/bn_IN.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-20 12:40+0530\n"
|
||||
"Last-Translator: Runa Bhattacharjee <runab@redhat.com>\n"
|
||||
"Language-Team: Bengali INDIA <fedora-trans-bn_IN@redhat.com>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "PAM সংক্রান্ত অজানা ত্রুটি"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "নতুন %s%s পাসওয়ার্ড: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "নতুন %s%s পাসওয়ার্ড পুনরায় লিখুন: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "দুঃখিত, পাসওয়ার্ড দুটি এক নয়।"
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "পাসওয়ার্ড পরিবর্তন করা হয়নি"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "পাসওয়ার্ড ভাল নয়: %s"
|
||||
@ -353,13 +353,13 @@ msgstr "'%s' ডিরেক্টরি নির্মাণ করা হচ
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "ডিরেক্টরি %s নির্মাণ করতে ব্যর্থ: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "পাসওয়ার্ড পরিবর্তনের কর্ম পরিত্যাগ করা হয়েছে।"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "পাসওয়ার্ড পূর্বে ব্যবহৃত হয়েছে। একটি পৃথক পাসওয়ার্ড নির্বাচন করুন।"
|
||||
@ -424,20 +424,20 @@ msgstr "pam_set_item() করতে ব্যর্থ\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "লগ-ইন: fork করতে ব্যর্থ: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s-র STRESS পাসওয়ার্ড পরিবর্তন করা হচ্ছে।"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "নতুন STRESS পাসওয়ার্ড লিখুন: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "নতুন STRESS পাসওয়ার্ড পুনরায় লিখুন: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "নিশ্চায়ন কাল ভুল টাইপ করা হয়েছে; পাসওয়ার্ড পরিবর্তন করা হয়নি"
|
||||
|
||||
@ -446,7 +446,7 @@ msgstr "নিশ্চায়ন কাল ভুল টাইপ করা হ
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "সাময়িকরূপে অ্যাকাউন্ট লক করা হয়েছে (%ld সেকেন্ড অবশিষ্ট)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "%u ব্যর্থ লগ-ইনের ফলে অ্যাকাউন্ট লক করা হয়েছে"
|
||||
@ -489,11 +489,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: সব ব্যবহারকারীর জন্য শূণ্য-ভিন্ন মান ধার্য করতে ব্যর্থ\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "%u ব্যর্থ লগ-ইনের ফলে অ্যাকাউন্ট লক করা হয়েছে"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -508,6 +503,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
@ -564,6 +564,10 @@ msgstr "নতুন UNIX পাসওয়ার্ড উল্লেখ কর
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "নতুন UNIX পাসওয়ার্ড পুনরায় লিখুন: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "%u ব্যর্থ লগ-ইনের ফলে অ্যাকাউন্ট লক করা হয়েছে"
|
||||
|
||||
#~ msgid "has been already used"
|
||||
#~ msgstr "পূর্বে ব্যবহৃত হয়েছে"
|
||||
|
||||
|
45
po/ca.po
45
po/ca.po
@ -17,7 +17,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: linux-PAM\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-15 16:10+0200\n"
|
||||
"Last-Translator: Xavier Queralt Mateu <xqueralt@gmail.com>\n"
|
||||
"Language-Team: Catalan <fedora@softcatala.net>\n"
|
||||
@ -177,19 +177,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Error de PAM desconegut"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nova contrasenya de %s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Torneu a escriure la nova contrasenya de %s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Les contrasenyes no coincideixen."
|
||||
|
||||
@ -240,7 +240,7 @@ msgid "Password unchanged"
|
||||
msgstr "No s'ha canviat la contrasenya"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "CONTRASENYA INCORRECTA: %s"
|
||||
@ -363,13 +363,13 @@ msgstr "Creant el directori '%s'."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "No s'ha pogut crear el directori %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "No s'ha canviat la contrasenya."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Aquesta contrasenya ja s'ha fet servir. Trieu-ne una altra."
|
||||
@ -434,20 +434,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, 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:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Introduïu la nova contrasenya d'STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Torneu a escriure la nova contrasenya d'STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr ""
|
||||
"Error d'escriptura durant la verificació; no s'ha canviat la contrasenya"
|
||||
@ -457,7 +457,7 @@ msgstr ""
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Compte bloquejat temporalment (queden %ld segons)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -502,12 +502,6 @@ msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
"%s: no es poden restablir tots els usuaris a un valor diferent de zero\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
"El compte ha estat bloquejat ja que s'ha intentat entrar %u cops sense èxit"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -522,6 +516,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file nom_fitxer_arrel] [--user nom_usuari] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "El vostre compte ha caducat. Contacteu amb l'administrador del sistema"
|
||||
@ -577,6 +576,12 @@ msgstr "Introduïu la nova contrasenya d'UNIX: "
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Torneu a escriure la nova contrasenya d'UNIX: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr ""
|
||||
#~ "El compte ha estat bloquejat ja que s'ha intentat entrar %u cops sense "
|
||||
#~ "èxit"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "There was %d failed login attempt since the last successful login.There "
|
||||
#~ "were %d failed login attempts since the last successful login."
|
||||
|
51
po/cs.po
51
po/cs.po
@ -2,13 +2,13 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Copyright (C) YEAR Linux-PAM Project.
|
||||
# Klara Cihlarova <koty@seznam.cz>, 2005, 2006.
|
||||
# fixes by Tomas Mraz <t8m@centrum.cz>, 2005.
|
||||
# Tomas Mraz <t8m@centrum.cz>, 2005, 2008.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"PO-Revision-Date: 2008-10-13 21:54+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-11-28 15:22+0100\n"
|
||||
"Last-Translator: Tomas Mraz <t8m@centrum.cz>\n"
|
||||
"Language-Team: cs_CZ <cs@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Neznámá chyba PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nové %s%sheslo: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Opakujte nové %s%sheslo: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Hesla se neshodují."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "Heslo nebylo změněno"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ŠPATNÉ HESLO: %s"
|
||||
@ -354,13 +354,13 @@ msgstr "Vytváření adresáře '%s'."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Nezdařilo se vytvořit adresář %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "Změna hesla přerušena."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Heslo již bylo použito. Zvolte jiné."
|
||||
@ -425,20 +425,20 @@ msgstr "chyba pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "login: chyba forku: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Změna STRESS hesla pro %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Zadejte nové STRESS heslo: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Opakujte nové STRESS heslo: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Chybné potvrzení. Heslo nezměněno"
|
||||
|
||||
@ -447,7 +447,7 @@ msgstr "Chybné potvrzení. Heslo nezměněno"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Účet dočasně uzamčen (zbývá %ld vteřin)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Účet uzamčen z důvodu %u neúspěšných pokusů o přihlášení"
|
||||
@ -491,25 +491,26 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Nelze resetovat všechny uživatele nenulově\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Účet uzamčen z důvodu %u neúspěšných pokusů o přihlášení"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
msgstr ""
|
||||
msgstr "Login Selhání Poslední selhání Od\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:881
|
||||
#, 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 jmeno_souboru] [--user uzivatelske_jmeno] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
"%s: [-f plna-cesta-k-souboru] [--file plna-cesta-k-souboru]\n"
|
||||
" [-u uzivatelske-jmeno] [--user uzivatelske-jmeno]\n"
|
||||
" [-r] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr "Přístup povolen (poslední přístup před %ld vteřinami)."
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
|
38
po/da.po
38
po/da.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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2005-08-16 20:00+0200\n"
|
||||
"Last-Translator: Novell Language <language@novell.com>\n"
|
||||
"Language-Team: Novell Language <language@novell.com>\n"
|
||||
@ -171,19 +171,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Ukendt PAM-fejl"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Ny %s%sadgangskode: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Genindtast ny %s%sadgangskode: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Adgangskoderne stemmer desværre ikke overens."
|
||||
|
||||
@ -234,7 +234,7 @@ msgid "Password unchanged"
|
||||
msgstr "Adgangskoden er uændret"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "DÅRLIG ADGANGSKODE: %s"
|
||||
@ -357,14 +357,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Adgangskoden er uændret"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Adgangskoden er allerede blevet brugt. Vælg en anden."
|
||||
@ -435,20 +435,20 @@ msgstr "pam_set_item() mislykkedes\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "login: fejl ved forking: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Ændrer STRESS-adgangskode for"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Indtast ny STRESS-adgangskode: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Genindtast ny STRESS-adgangskode: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Bekræftelsen blev angivet forkert. Adgangskoden forbliver uændret"
|
||||
|
||||
@ -457,7 +457,7 @@ msgstr "Bekræftelsen blev angivet forkert. Adgangskoden forbliver uændret"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -500,11 +500,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Alle brugere kunne ikke nulstilles til ikke-nul\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -519,6 +514,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Din konto er udløbet. Kontakt din systemadministrator"
|
||||
|
41
po/de.po
41
po/de.po
@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-27 07:45+0100\n"
|
||||
"Last-Translator: Fabian Affolter <fab@fedoraproject.org>\n"
|
||||
"Language-Team: German <fedora-trans-de@redhat.com>\n"
|
||||
@ -170,19 +170,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Unbekannter PAM-Fehler"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Geben Sie ein neues %s%sPasswort ein: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Geben Sie das neue %s%sPasswort erneut ein: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Die Passwörter stimmen nicht überein."
|
||||
|
||||
@ -233,7 +233,7 @@ msgid "Password unchanged"
|
||||
msgstr "Passwort nicht geändert"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "Schlechtes Passwort: %s"
|
||||
@ -359,13 +359,13 @@ msgstr "Erstelle Verzeichnis '%s'."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Verzeichnis %s kann nicht erstellt werden: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "Passwort Änderung wurde abgebrochen."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Passwort wurde bereits verwendet. Wählen Sie ein anderes aus."
|
||||
@ -430,20 +430,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Ändern des STRESS-Passworts für %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Geben Sie ein neues STRESS-Passwort ein: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Geben Sie das neue STRESS-Passwort erneut ein: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Bestätigungspasswort falsch eingegeben; Passwort nicht geändert"
|
||||
|
||||
@ -452,7 +452,7 @@ msgstr "Bestätigungspasswort falsch eingegeben; Passwort nicht geändert"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Account temporär gesperrt (noch %ld Sekunden)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Der Account ist wegen %u fehlgeschlagener Login-Versuche gesperrt"
|
||||
@ -496,11 +496,6 @@ msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
"%s: Es können nicht alle Benutzer auf Nicht-null zurückgesetzt werden\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Der Account ist wegen %hu fehlgeschlagener Login-Versuche gesperrt"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -517,6 +512,11 @@ msgstr ""
|
||||
" [-u username] [--user username]\n"
|
||||
" [-r] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Ihr Konto ist abgelaufen. Wenden Sie sich an den Systemadministrator"
|
||||
@ -571,6 +571,9 @@ msgstr "Geben Sie ein neues UNIX-Passwort ein: "
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Geben Sie das neue UNIX-Passwort erneut ein: "
|
||||
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "Der Account ist wegen %hu fehlgeschlagener Login-Versuche gesperrt"
|
||||
|
||||
#~ msgid "has been already used"
|
||||
#~ msgstr "es wurde bereits verwendet"
|
||||
|
||||
|
38
po/es.po
38
po/es.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip.es\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-02-21 00:03-0200\n"
|
||||
"Last-Translator: Domingo Becker <domingobecker@gmail.com>\n"
|
||||
"Language-Team: Spanish <fedora-trans-es@redhat.com>\n"
|
||||
@ -171,19 +171,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Error desconocido de PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nueva %s%scontraseña:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Vuelva a escribir la nueva %s%scontraseña:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Las contraseñas no coinciden."
|
||||
|
||||
@ -234,7 +234,7 @@ msgid "Password unchanged"
|
||||
msgstr "La contraseña no ha cambiado"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "CONTRASEÑA INCORRECTA: %s"
|
||||
@ -357,14 +357,14 @@ msgstr "Creando directorio '%s'."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "No se pudo crear el directorio %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "La contraseña no ha cambiado"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "La contraseña ya se ha utilizado. Seleccione otra."
|
||||
@ -429,20 +429,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Cambiando la contraseña STRESS para %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Introduzca la nueva contraseña STRESS:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Vuelva a escribir la nueva contraseña STRESS:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Error al escribir la verificación; la contraseña no ha cambiado"
|
||||
|
||||
@ -451,7 +451,7 @@ msgstr "Error al escribir la verificación; la contraseña no ha cambiado"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -497,11 +497,6 @@ msgstr ""
|
||||
"%s: No es posible restaurar a todos los usuarios a un número distinto de "
|
||||
"cero\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -517,6 +512,11 @@ msgstr ""
|
||||
"%s: [--file nombre de archivo-raíz] [--user nombre de usuario] [--reset[=n]] "
|
||||
"[--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
38
po/fi.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2006-05-04 08:30+0200\n"
|
||||
"Last-Translator: Jyri Palokangas <jmp@netti.fi>\n"
|
||||
"Language-Team: <yast-trans-fi@kotoistaminen.novell.fi>\n"
|
||||
@ -169,19 +169,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Tuntematon PAM-virhe"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Uusi %s%ssalasana: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Anna uudelleen uusi %s%ssalasana: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Salasanat eivät täsmää."
|
||||
|
||||
@ -232,7 +232,7 @@ msgid "Password unchanged"
|
||||
msgstr "Salasanaa ei vaihdettu"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "HUONO SALASANA: %s"
|
||||
@ -355,14 +355,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Salasanaa ei vaihdettu"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Salasana on jo käytetty. Valitse toinen."
|
||||
@ -431,20 +431,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Vaihdetaan STRESS-salasana "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Anna uusi STRESS-salasana: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Anna uusi STRESS-salasana uudelleen: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Salasanat eivät ole samat; salasanaa ei vaihdettu"
|
||||
|
||||
@ -453,7 +453,7 @@ msgstr "Salasanat eivät ole samat; salasanaa ei vaihdettu"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -497,11 +497,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Ei voida palauttaa kaikkia käyttäjiä ei-nolliksi\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -517,6 +512,11 @@ msgstr ""
|
||||
"%s: [--file juurrutettu-tiedostonimi] [--user käyttäjätunnus] [--reset[=n]] "
|
||||
"[--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Käyttäjätilisi on vanhentunut; ota yhteyttä järjestelmän ylläpitäjään"
|
||||
|
42
po/fr.po
42
po/fr.po
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pam.fr2\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-19 18:59+0200\n"
|
||||
"Last-Translator: Pablo Martin-Gomez <pablo.martin-gomez@laposte.net> \n"
|
||||
"Language-Team: Français <fedora-trans-fr@redhat.com>\n"
|
||||
@ -178,19 +178,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Erreur PAM inconnue"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nouveau %s%smot de passe : "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Retapez le nouveau %s%smot de passe : "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Les mots de passe ne correspondent pas."
|
||||
|
||||
@ -241,7 +241,7 @@ msgid "Password unchanged"
|
||||
msgstr "Mot de passe inchangé"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "MOT DE PASSE INCORRECT : %s"
|
||||
@ -366,13 +366,13 @@ msgstr "Création du répertoire « %s »."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Impossible de créer le répertoire %s : %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "Changement du mot de passe avorté."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Mot de passe déjà utilisé. Choisissez-en un autre."
|
||||
@ -437,20 +437,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Changement du mot de passe STRESS pour %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Entrer le nouveau mot de passe STRESS : "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Retaper le nouveau mot de passe STRESS : "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Vérification erronée : mot de passe inchangé"
|
||||
|
||||
@ -459,7 +459,7 @@ msgstr "Vérification erronée : mot de passe inchangé"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Compte temporairement verrouillé (%ld secondes restantes)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Compte temporairement verrouillé dû à l'échec de %u connexions"
|
||||
@ -502,11 +502,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Impossible de réinitialiser tous les utilisateurs à non-zéro\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Compte temporairement verrouillé dû à l'échec de %u connexions"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -521,6 +516,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Votre compte a expiré. Contactez votre administrateur système"
|
||||
@ -575,6 +575,10 @@ msgstr "Entrez le nouveau mot de passe UNIX : "
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Retapez le nouveau mot de passe UNIX : "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "Compte temporairement verrouillé dû à l'échec de %u connexions"
|
||||
|
||||
#~ msgid "has been already used"
|
||||
#~ msgstr "a déjà été utilisé"
|
||||
|
||||
|
38
po/gu.po
38
po/gu.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip.gu\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-03-13 14:29+0530\n"
|
||||
"Last-Translator: Ankit Patel <ankit@redhat.com>\n"
|
||||
"Language-Team: Gujarati <fedora-trans-gu@redhat.com>\n"
|
||||
@ -169,19 +169,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "અજ્ઞાત PAM ભૂલ"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "નવો %s%sપાસવર્ડ: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "નવો %s%sપાસવર્ડ ફરી લખો: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "માફ કરજો, પાસવર્ડો બંધબેસતા નથી."
|
||||
|
||||
@ -232,7 +232,7 @@ msgid "Password unchanged"
|
||||
msgstr "પાસવર્ડ બદલાયેલ નથી"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ખરાબ પાસવર્ડ: %s"
|
||||
@ -355,14 +355,14 @@ msgstr "ડિરેક્ટરી '%s' બનાવી રહ્યા છી
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "ડિરેક્ટરી %s બનાવવામાં અસમર્થ: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "પાસવર્ડ બદલાયેલ નથી"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "પાસવર્ડ પહેલાથી જ વપરાઈ ગયેલ છે. બીજો પસંદ કરો."
|
||||
@ -427,20 +427,20 @@ msgstr "pam_set_item() કરવામાં નિષ્ફળ\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "પ્રવેશ: ફોર્કમાં નિષ્ફળ: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "STRESS પાસવર્ડ %s માટે બદલો."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "નવો STRESS પાસવર્ડ દાખલ કરો: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "નવો STRESS પાસવર્ડ પુનઃલખો: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "ચકાસણી ખોટી-રીતે લખાઈ; પાસવર્ડ બદલાયેલ નથી"
|
||||
|
||||
@ -449,7 +449,7 @@ msgstr "ચકાસણી ખોટી-રીતે લખાઈ; પાસવ
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -492,11 +492,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: બધા વપરાશકર્તાઓને બિન-શૂન્યમાં પુનઃસુયોજિત કરી શકતા નથી\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -511,6 +506,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "તમારું ખાતું નિવૃત્ત થઈ ગયું છે; મહેરબાની કરીને તમારા સિસ્ટમ સંચાલકનો સંપર્ક કરો"
|
||||
|
38
po/hi.po
38
po/hi.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hi\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2007-06-21 15:22+0530\n"
|
||||
"Last-Translator: Rajesh Ranjan <rranjan@redhat.com>\n"
|
||||
"Language-Team: Hindi <hindi.sf.net>\n"
|
||||
@ -169,19 +169,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "अनजान PAM त्रुटि"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "नया %s%spassword: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "नया %s%spassword फिर टाइप करें: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "क्षमा करें, शब्दकूट नहीं मिलते हैं."
|
||||
|
||||
@ -232,7 +232,7 @@ msgid "Password unchanged"
|
||||
msgstr "शब्दकूट परिवर्तित"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "खराब शब्दकूट: %s"
|
||||
@ -355,14 +355,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "शब्दकूट परिवर्तित"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "शब्दकूट को पहले ही बदला जा चुका है. दूसरा चुनें."
|
||||
@ -431,20 +431,20 @@ msgstr "pam_set_item() में विफल\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "लॉगिन: विफल फोर्किंग: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "इसके लिए स्ट्रेस शब्दकूट बदल रहा है "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "नया स्ट्रेस शब्दकूट दें: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "नया शब्दकूट फिर टाइप करें: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "जांच गलत टाइप किया गया; शब्दकूट बदला गया"
|
||||
|
||||
@ -453,7 +453,7 @@ msgstr "जांच गलत टाइप किया गया; शब्द
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -496,11 +496,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: सभी उपयोक्ता को गैर शून्य में फिर सेट नहीं कर सकता है\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -515,6 +510,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "आपका खाता समाप्त हो चुका है; कृपया अपने सिस्टम प्रशासक को संपर्क करें"
|
||||
|
38
po/hu.po
38
po/hu.po
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pam\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-04-30 08:23+0100\n"
|
||||
"Last-Translator: Sulyok Péter <peti@sulyok.hu>\n"
|
||||
"Language-Team: Hungarian <fedora-trans-hu@redhat.com>\n"
|
||||
@ -176,19 +176,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Ismeretlen PAM hiba"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Új %s%sjelszó: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Ismét az új %s%sjelszó: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Sajnálom, de a jelszavak nem egyeznek."
|
||||
|
||||
@ -239,7 +239,7 @@ msgid "Password unchanged"
|
||||
msgstr "Változatlan jelszó"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ROSSZ JELSZÓ: %s"
|
||||
@ -362,14 +362,14 @@ msgstr "\"%s\" mappa teremtése"
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "%s mapa nem teremthető meg: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Változatlan jelszó"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "A jelszót már használta. Válasszon másikat!"
|
||||
@ -434,20 +434,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s STRESS jelszavának megváltoztatása."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Új STRESS jelszó: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Ismét az új STRESS jelszó: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Az ellenőrző jelszó nem egyezik; a jelszó nem került módosításra"
|
||||
|
||||
@ -456,7 +456,7 @@ msgstr "Az ellenőrző jelszó nem egyezik; a jelszó nem került módosításra
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -499,11 +499,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Nem állítható vissza minden használó nem nullára\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -518,6 +513,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-fájlnév] [--user használó] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "A számla érvényessége lejárt; kérem keresse meg a rendszergazdát"
|
||||
|
42
po/it.po
42
po/it.po
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-21 13:21+1000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: <it@li.org>\n"
|
||||
@ -173,19 +173,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Errore PAM sconosciuto"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nuova password%s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Reimmettere la nuova password%s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Le password non corrispondono."
|
||||
|
||||
@ -236,7 +236,7 @@ msgid "Password unchanged"
|
||||
msgstr "Password non modificata"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "PASSWORD ERRATA: %s"
|
||||
@ -365,13 +365,13 @@ msgstr "Creazione della directory \"%s\"."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Impossibile creare la directory %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "Cambio della password abortito."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Password già utilizzata. Sceglierne un'altra."
|
||||
@ -436,20 +436,20 @@ msgstr "Impossibile eseguire pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "login: forking fallito: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Cambio password STRESS per %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Immettere nuova password STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Reimmettere la nuova password STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Errore di digitazione per verifica; password non cambiata"
|
||||
|
||||
@ -458,7 +458,7 @@ msgstr "Errore di digitazione per verifica; password non cambiata"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Account momentaneamente bloccato (%ld secondi rimanenti)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Account bloccato a causa di %u login falliti"
|
||||
@ -501,11 +501,6 @@ msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
"%s: Impossibile ripristinare tutti gli utenti a valori diversi da zero\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Account bloccato a causa di %u login falliti"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -519,6 +514,11 @@ msgid ""
|
||||
" [-r] [--reset[=n]] [--quiet]\n"
|
||||
msgstr "%s: [--file NOMEFILE] [--user NOMEUTENTE] [--reset[=N]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Account scaduto; contattare l'amministratore di sistema"
|
||||
@ -575,3 +575,7 @@ msgstr "Immettere nuova password UNIX: "
|
||||
#: modules/pam_unix/pam_unix_passwd.c:678
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Reimmettere la nuova password UNIX: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "Account bloccato a causa di %u login falliti"
|
||||
|
42
po/ja.po
42
po/ja.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip.ja\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-21 15:08+1000\n"
|
||||
"Last-Translator: Kiyoto Hashida <khashida@redhat.com>\n"
|
||||
"Language-Team: Japanese <jp@li.org>\n"
|
||||
@ -168,19 +168,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "不明なPAMエラー"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "新しい%s%sパスワード:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "新しい%s%sパスワードを再入力してください:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "パスワードが一致しません。"
|
||||
|
||||
@ -231,7 +231,7 @@ msgid "Password unchanged"
|
||||
msgstr "パスワードが変更されていません"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "よくないパスワード: %s"
|
||||
@ -353,13 +353,13 @@ msgstr "ディレクトリ '%s' を作成中"
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "ディレクトリ %s を作成できません: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "パスワードの変更は放棄されました"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr ""
|
||||
@ -425,20 +425,20 @@ msgstr "pam_set_item()に失敗しました\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "ログイン: いまいましい失敗: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s 用の STRESS パスワードを変更中"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "新しいSTRESSパスワードを入力してください:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "新しいSTRESSパスワードを再入力してください:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "ミスタイプの確認、パスワードが変更されていません"
|
||||
|
||||
@ -447,7 +447,7 @@ msgstr "ミスタイプの確認、パスワードが変更されていません
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "アカウントは一時的にロックされています (残り %ld 秒)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "%u のログイン失敗の理由で アカウントはロックされました"
|
||||
@ -490,11 +490,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: すべてのユーザを非ゼロにリセットできません\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "%u のログイン失敗の理由で アカウントはロックされました"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -509,6 +504,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
@ -562,3 +562,7 @@ msgstr "新しいUNIXパスワードを入力してください:"
|
||||
#: modules/pam_unix/pam_unix_passwd.c:678
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "新しいUNIX パスワードを再入力してください:"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "%u のログイン失敗の理由で アカウントはロックされました"
|
||||
|
38
po/km.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2006-03-17 10:32+0700\n"
|
||||
"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
|
||||
"Language-Team: Khmer <support@khmeros.info>\n"
|
||||
@ -170,19 +170,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "មិនស្គាល់កំហុស PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "ពាក្យសម្ងាត់ %s%s ថ្មី ៖"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "វាយពាក្យសម្ងាត់ %s%s ថ្មីឡើងវិញ ៖"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "សូមទោស ពាក្យសម្ងាត់មិនដូចគ្នាឡើយ ។"
|
||||
|
||||
@ -233,7 +233,7 @@ msgid "Password unchanged"
|
||||
msgstr "ពាក្យសម្ងាត់មិនបានផ្លាស់ប្ដូរឡើយ"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ពាក្យសម្ងាត់មិនល្អ ៖ %s"
|
||||
@ -356,14 +356,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "ពាក្យសម្ងាត់មិនបានផ្លាស់ប្ដូរឡើយ"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "ពាក្យសម្ងាត់ត្រូវបានប្រើរួចហើយ ។ សូមជ្រើសមួយទៀត ។"
|
||||
@ -432,20 +432,20 @@ msgstr "បានបរាជ័យ pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "ចូល ៖ ចម្លងខ្លួនឯងមិនបានជោគជ័យ ៖ %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "ការផ្លាស់ប្ដូរពាក្យសម្ងាត់ STRESS សម្រាប់ "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "បញ្ចូលពាក្យសម្ងាត់ STRESS ថ្មី ៖ "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "វាយពាក្យសម្ងាត់ STRESS ថ្មីម្ដងទៀត ៖ "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "ផ្ទៀងផ្ទាត់អក្ខរាវិរុទ្ធដែលបានវាយខុស ពាក្យសម្ងាត់មិនបានផ្លាស់ប្ដូរ"
|
||||
|
||||
@ -454,7 +454,7 @@ msgstr "ផ្ទៀងផ្ទាត់អក្ខរាវិរុទ្
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -497,11 +497,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s ៖ មិនអាចកំណត់អ្នកប្រើទាំងអស់ទៅមិនមែនសូន្យឡើងវិញបានទេ\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -516,6 +511,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s ៖ [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "គណនីរបស់អ្នកបានផុតកំណត់ហើយ សូមទាក់ទងអ្នកគ្រប់គ្រងប្រព័ន្ធរបស់អ្នក"
|
||||
|
42
po/kn.po
42
po/kn.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip.kn\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-20 12:29+0530\n"
|
||||
"Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"
|
||||
"Language-Team: Kannada <en@li.org>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "ಗೊತ್ತಿರದ PAM ದೋಷ"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "ಹೊಸ %s%sಗುಪ್ತಪದ: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "ಹೊಸ %s%sಗುಪ್ತಪದವನ್ನು ಪುನರ್ ಟೈಪಿಸಿ: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "ಕ್ಷಮಿಸಿ, ಗುಪ್ತಪದಗಳು ತಾಳೆಯಾಗುತ್ತಿಲ್ಲ."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "ಗುಪ್ತಪದ ಬದಲಾಗಿಲ್ಲ"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ಕೆಟ್ಟ ಗುಪ್ತಪದ: %s"
|
||||
@ -353,13 +353,13 @@ msgstr "ಕೋಶ '%s' ಅನ್ನು ರಚಿಸಲಾಗುತ್ತಿದ
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "ಕೋಶ '%s' ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "ಗುಪ್ತಪದ ಬದಲಾವಣೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "ಗುಪ್ತಪದವು ಈಗಾಗಲೆ ಬಳಸಲ್ಪಟ್ಟಿದೆ. ಬೇರೊಂದನ್ನು ಬಳಸಿ."
|
||||
@ -424,20 +424,20 @@ msgstr "pam_set_item() ಮಾಡುವಲ್ಲಿ ವಿಫಲತೆ\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "ಲಾಗಿನ್: ಫೋರ್ಕಿಂಗ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲತೆ:%m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s ಗಾಗಿ STRESS ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "ಹೊಸ STRESS ಗುಪ್ತಪದವನ್ನು ಟೈಪಿಸಿ: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "ಹೊಸ STRESS ಗುಪ್ತಪದವನ್ನು ಪುನಃ ಟೈಪಿಸಿ: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "ತಪಾಸಣೆಗೆ ಟೈಪಿಸಿದ್ದು ತಪ್ಪಾಗಿದೆ; ಗುಪ್ತಪದ ಬದಲಾಗಿಲ್ಲ"
|
||||
|
||||
@ -446,7 +446,7 @@ msgstr "ತಪಾಸಣೆಗೆ ಟೈಪಿಸಿದ್ದು ತಪ್ಪಾ
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "ಖಾತೆಯನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ (%ld ಸೆಕೆಂಡುಗಳು ಉಳಿದಿವೆ)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "ವಿಫಲಗೊಂಡ %u ಪ್ರವೇಶಗಳಿಂದಾಗಿ ಖಾತೆಯನ್ನು ಲಾಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ"
|
||||
@ -489,11 +489,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಶೂನ್ಯವಲ್ಲದುದಕ್ಕೆ ಪುನರ್ ಸಂಯೋಜಿಸಲು ಆಗುವುದಿಲ್ಲ\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "ವಿಫಲಗೊಂಡ %u ಪ್ರವೇಶಗಳಿಂದಾಗಿ ಖಾತೆಯನ್ನು ಲಾಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -508,6 +503,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "ನಿಮ್ಮ ಖಾತೆಯ ಅವಧಿ ಅಂತ್ಯಗೊಂಡಿದೆ; ದಯವಿಟ್ಟು ನಿಮ್ಮ ಗಣಕ ವ್ಯವಸ್ಥಾಪಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"
|
||||
@ -562,3 +562,7 @@ msgstr "ಹೊಸ UNIX ಗುಪ್ತಪದವನ್ನು ದಾಖಲಿಸ
|
||||
#: modules/pam_unix/pam_unix_passwd.c:678
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "ಹೊಸ UNIX ಗುಪ್ತಪದವನ್ನು ಪುನಃ ಟೈಪಿಸಿ: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "ವಿಫಲಗೊಂಡ %u ಪ್ರವೇಶಗಳಿಂದಾಗಿ ಖಾತೆಯನ್ನು ಲಾಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ"
|
||||
|
38
po/ko.po
38
po/ko.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ko\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2007-06-22 10:02+1000\n"
|
||||
"Last-Translator: Eunju Kim <eukim@redhat.com>\n"
|
||||
"Language-Team: Korean <ko@li.org>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "알 수 없는 PAM 오류"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "새 %s%s 암호:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "새 %s%s 암호 재입력:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "죄송합니다. 암호가 일치하지 않습니다."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "암호가 변경되지 않음"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "잘못된 암호: %s"
|
||||
@ -352,14 +352,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "암호가 변경되지 않음"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "이미 사용되고 있는 암호입니다. 다른 암호를 선택해 주십시오."
|
||||
@ -428,20 +428,20 @@ msgstr "pam_set_item() 실패\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "로그인: 포크 작업(forking) 실패: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "STRESS 암호 변경"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "새 STRESS 암호 입력:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "새 STRESS 암호를 재입력:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "암호 확인에서 잘못 입력됨; 암호가 변경되지 않음"
|
||||
|
||||
@ -450,7 +450,7 @@ msgstr "암호 확인에서 잘못 입력됨; 암호가 변경되지 않음"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -493,11 +493,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: 모든 사용자를 영이 아닌 값으로 설정할 수 없음\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -512,6 +507,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "계정이 만료되었습니다: 시스템 관리자에게 알려 주십시오"
|
||||
|
42
po/ml.po
42
po/ml.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip.ml\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-20 12:50+0530\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: <en@li.org>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "അപരിചിതമായ PAM പിശക്"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "പുതിയ %s%s പാസ്വേറ്ഡ്: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "വീണ്ടും %s%s പാസ്വേറ്ഡ് ടൈപ്പ് ചെയ്യുക: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "ക്ഷമിക്കണം, പാസ്വേറ്ഡുകള് തമ്മില് ചേരുന്നില്ല."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "പാസ്വേറ്ഡ് മാറ്റിയിട്ടില്ല"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "BAD PASSWORD: %s"
|
||||
@ -353,13 +353,13 @@ msgstr "'%s' ഡയറക്ടറി ഉണ്ടാക്കുന്നു."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "%s ഡയറക്ടറി ഉണ്ടാക്കുവാന് സാധ്യമായില്ല: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "അടയാളവാക്ക് മാറ്റം വരുത്തുന്നതു് നിര്ത്തിയിരിക്കുന്നു."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "പാസ്വേറ്ഡ് നിലവില് ഉപയോഗിത്തിലുള്ളതാണ്. മറ്റൊന്ന് നല്കുക."
|
||||
@ -424,20 +424,20 @@ msgstr "pam_set_item() ചെയ്യുന്നതില് പരാജ
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "login: ഫോറ്ക്ക് ചെയ്യുന്നതില് പരാജയം: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s-നുളള STRESS അടയാളവാക്ക് മാറ്റുന്നു."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "പുതിയ STRESS പാസ്വേറ്ഡ് നല്കുക: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "പുതിയ STRESS പാസ്വേറ്ഡ് വീണ്ടും ടൈപ്പ് ചെയ്യുക: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "പാസ്വേറ്ഡ് ഉറപ്പാക്കുന്നതിനായി ടൈപ്പ് ചെയ്തത് തെറ്റാണ്; പാസ്വേറ്ഡ് മാറ്റിയിട്ടില്ല"
|
||||
|
||||
@ -446,7 +446,7 @@ msgstr "പാസ്വേറ്ഡ് ഉറപ്പാക്കുന
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "അക്കൌണ്ട് താല്ക്കാലികമായി പൂട്ടിയിരിക്കുന്നു (%ld നിമിഷങ്ങള് ബാക്കി)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "%u പരാജയപ്പെട്ട ലോഗിനുകള് കാരണം അക്കൌണ്ട് താല്ക്കാലികമായി പൂട്ടിയിരിക്കുന്നു"
|
||||
@ -489,11 +489,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: എല്ലാ യൂസറുകളും പൂജ്യം അല്ലാതെ ക്റമികരിക്കുവാന് സാധ്യമല്ല\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "%u പരാജയപ്പെട്ട ലോഗിനുകള് കാരണം അക്കൌണ്ട് താല്ക്കാലികമായി പൂട്ടിയിരിക്കുന്നു"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -508,6 +503,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
@ -563,3 +563,7 @@ msgstr "പുതിയ UNIX പാസ്വേറ്ഡ് നല്
|
||||
#: modules/pam_unix/pam_unix_passwd.c:678
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "പുതിയ UNIX പാസ്വേറ്ഡ് വീണ്ടും ടൈപ്പ് ചെയ്യുക: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "%u പരാജയപ്പെട്ട ലോഗിനുകള് കാരണം അക്കൌണ്ട് താല്ക്കാലികമായി പൂട്ടിയിരിക്കുന്നു"
|
||||
|
38
po/mr.po
38
po/mr.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-10 07:07+0530\n"
|
||||
"Last-Translator: Sandeep Shedmake <sandeep.shedmake@gmail.com>\n"
|
||||
"Language-Team: marathi\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "अपरिचीत PAM त्रुटी"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "नविन गुप्तशब्द %s%sp: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "नविन गुप्तशब्द %s%sp पुन्हा टाइप करा: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "माफ करा, गुप्तशब्द जुळत नाही."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "गुप्तशब्द बदलविला नाही"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "अयोग्य गुप्तशब्द: %s"
|
||||
@ -353,14 +353,14 @@ msgstr "संचयीका '%s' बनवित आहे."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "संचयीका %s बनवू शकत नाही: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "गुप्तशब्द बदलविला नाही"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "ह्या गुप्तशब्दचा आधीच वापर झाला आहे. दुसरा निवडा."
|
||||
@ -425,20 +425,20 @@ msgstr "pam_set_item() कार्यान्वीत करण्यास
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "दाखलन: विभाजन अपयशी: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s करीता STRESS गुप्तशब्द बदलवित आहे."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "नविन STRESS गुप्तशब्द प्रविष्ट करा: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "नविन STRESS गुप्तशब्द पुन्हा प्रविष्ट करा: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "तपासणी पूर्ण झाली नाही; गुप्तशब्द बदलविले नाही"
|
||||
|
||||
@ -447,7 +447,7 @@ msgstr "तपासणी पूर्ण झाली नाही; गुप
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -490,11 +490,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: सर्व वापरकर्ता विना-शून्य असे पुन्हस्थापन करू शकत नाही\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -509,6 +504,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file रूटेड-फाइलनाव] [--user वापरकर्त्याचे नाव] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "तुमचे खाते बंद झाले आहे, कृपया तुमच्या संगणक व्यवस्थापकाकडे जा"
|
||||
|
38
po/ms.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-09-25 23:52+0800\n"
|
||||
"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
|
||||
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
|
||||
@ -182,19 +182,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Ralat sistem tidak diketahui"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, fuzzy, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "&Tetingkap Baru"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, fuzzy, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Baru me&nggunakan Template"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
#, fuzzy
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Sijil dan kekunci diberi tidak sepadan."
|
||||
@ -254,7 +254,7 @@ msgid "Password unchanged"
|
||||
msgstr "Biarkan tanpa diubah"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, fuzzy, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "Katalaluan Tidak Betul"
|
||||
@ -382,14 +382,14 @@ msgstr "Menbuat direktori initrd"
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "gagal untuk mencipta direktori %s: %s\n"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Biarkan tanpa diubah"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr ""
|
||||
@ -458,21 +458,21 @@ msgstr ""
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "Ben_arkan logmasuk luartalian"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Greek 'astator' untuk 'menukar'"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
#, fuzzy
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Masukkkan Katalaluan Pemuat But"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr ""
|
||||
|
||||
@ -481,7 +481,7 @@ msgstr ""
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -527,11 +527,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -545,6 +540,11 @@ msgid ""
|
||||
" [-r] [--reset[=n]] [--quiet]\n"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
38
po/nb.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-04-30 12:59+0200\n"
|
||||
"Last-Translator: Olav Pettershagen <olav.pet@online.no>\n"
|
||||
"Language-Team: <nb@li.org>\n"
|
||||
@ -166,19 +166,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Ukjent PAM-feil"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nytt %s%spassord: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Bekreft nytt %s%s-passord: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Beklager, ikke samsvar mellom passord."
|
||||
|
||||
@ -229,7 +229,7 @@ msgid "Password unchanged"
|
||||
msgstr "Passord uendret"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "SVAKT PASSORD: %s"
|
||||
@ -352,14 +352,14 @@ msgstr "Oppretter katalog «%s»."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Kan ikke opprette katalog %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Passord uendret"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Passordet er allerede benyttet. Velg et annet."
|
||||
@ -424,20 +424,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Endrer STRESS-passord for %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Angi nytt STRESS-passord: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Bekreft nytt STRESS-passord: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Bekreftelse feil skrevet; passord uendret"
|
||||
|
||||
@ -446,7 +446,7 @@ msgstr "Bekreftelse feil skrevet; passord uendret"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -489,11 +489,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Kan ikke tilbakestille alle brukere til non-zero\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -508,6 +503,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filnavn] [--user brukernavn] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Din konto er utløpt; kontakt systemadministratoren"
|
||||
|
42
po/nl.po
42
po/nl.po
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-20 23:45+0200\n"
|
||||
"Last-Translator: Peter van Egdom <p.van.egdom@gmail.com>\n"
|
||||
"Language-Team: Dutch <fedora-trans-list@redhat.com>\n"
|
||||
@ -168,19 +168,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Onbekende PAM-fout"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nieuw %s%swachtwoord: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Nieuw %s%swachtwoord herhalen: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Sorry, wachtwoorden komen niet overeen."
|
||||
|
||||
@ -231,7 +231,7 @@ msgid "Password unchanged"
|
||||
msgstr "Wachtwoord is niet gewijzigd"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "SLECHT WACHTWOORD: %s"
|
||||
@ -359,13 +359,13 @@ msgstr "Aanmaken van map '%s'."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Niet in staat om map %s aan te maken: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "Wachtwoord wijzigen afgebroken."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Wachtwoord is al gebruikt. Kies een ander wachtwoord."
|
||||
@ -430,20 +430,20 @@ msgstr "pam_set_item() is mislukt\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "login: beginnen van nieuw proces mislukt: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Veranderen van STRESS-wachtwoord voor %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Nieuw STRESS-wachtwoord invoeren: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Nieuw STRESS-wachtwoord herhalen: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Verificatie onjuist getypt; wachtwoord blijft ongewijzigd"
|
||||
|
||||
@ -452,7 +452,7 @@ msgstr "Verificatie onjuist getypt; wachtwoord blijft ongewijzigd"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Account tijdelijk vergrendeld (%ld seconden resterend)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Account vergrendeld wegens %u mislukte aanmeldingen"
|
||||
@ -496,11 +496,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: kan niet alle gebruikers terugzetten naar non-zero\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Account vergrendeld wegens %u mislukte aanmeldingen"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -516,6 +511,11 @@ msgstr ""
|
||||
"%s [--file rooted-bestandsnaam] [--user gebruikersnaam] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Uw account is verlopen; neem contact op met uw systeembeheerder"
|
||||
@ -572,6 +572,10 @@ msgstr "Nieuw UNIX-wachtwoord invoeren: "
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Nieuw UNIX-wachtwoord herhalen: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "Account vergrendeld wegens %u mislukte aanmeldingen"
|
||||
|
||||
#~ msgid "has been already used"
|
||||
#~ msgstr "is al gebruikt"
|
||||
|
||||
|
38
po/or.po
38
po/or.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip.or\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-09-30 11:42+0530\n"
|
||||
"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
|
||||
"Language-Team: Oriya\n"
|
||||
@ -171,19 +171,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "ଅଜଣା PAM ତୃଟି"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "ନୂତନ %s%s ପ୍ରବେଶ ସଙ୍କେତ: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "ନୂତନ %s%s ପ୍ରବେଶ ସଙ୍କେତକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "କ୍ଷମା କରିବେ, ପ୍ରବେଶ ସଙ୍କେତ ମିଶୁ ନାହିଁ।"
|
||||
|
||||
@ -234,7 +234,7 @@ msgid "Password unchanged"
|
||||
msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଅପରିବର୍ତ୍ତିତ ଅଛି"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ଖରାପ ପ୍ରବେଶ ସଙ୍କେତ: %s"
|
||||
@ -357,14 +357,14 @@ msgstr "ଡ଼ିରେକ୍ଟୋରୀ '%s' ନିର୍ମାଣ କରୁ
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "ଡ଼ିରେକ୍ଟୋରୀ '%s' ନିର୍ମାଣ କରିବାରେ ଅସମର୍ଥ: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଅପରିବର୍ତ୍ତିତ ଅଛି"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "ପ୍ରବେଶ ସଙ୍କେତଟି ପୂର୍ବରୁ ବ୍ଯବହୃତ ହେଉଛି। ଅନ୍ଯ ଗୋଟିଏ ପ୍ରବେଶ ସଙ୍କେତ ଚୟନ କରନ୍ତୁ।"
|
||||
@ -429,20 +429,20 @@ msgstr "pam_set_item() କରିବାରେ ବିଫଳ\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "ଲଗଇନ: fork କରିବାରେ ବିଫଳ: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "%s ପାଇଁ STRESS ପ୍ରବେଶ ସଙ୍କେତକୁ ବଦଳାଉଛି."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "ନୂତନ STRESS ପ୍ରବେଶ ସଙ୍କେତ ଭରଣ କରନ୍ତୁ: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "ନୂତନ STRESS ପ୍ରବେଶ ସଙ୍କେତକୁ ପୁନର୍ବାର ଟାଇପ କରନ୍ତୁ: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "ଯାଞ୍ଚକରଣ ସମୟରେ ଭୂଲ ଟାଇପ କରିଛନ୍ତି, ପ୍ରବେଶ ସଙ୍କେତଟି ବଦଳି ନାହିଁ"
|
||||
|
||||
@ -451,7 +451,7 @@ msgstr "ଯାଞ୍ଚକରଣ ସମୟରେ ଭୂଲ ଟାଇପ କର
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -494,11 +494,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: ସମସ୍ତ ଚାଳକ ମାନଙ୍କୁ ଶୂନ୍ଯ ବିହୀନ ଭାବରେ ପୁନର୍ବାର ବିନ୍ଯାସ କରିପାରିବ ନାହିଁ\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -513,6 +508,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "ଆପଣଙ୍କର ଖାତା ଅଚଳ ହୋଇଯାଇଛି; ଦୟାକରି ଆପଣଙ୍କ ତନ୍ତ୍ର ପ୍ରଶାସକଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ"
|
||||
|
38
po/pa.po
38
po/pa.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.pa\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2005-08-06 08:34+0530\n"
|
||||
"Last-Translator: Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>\n"
|
||||
"Language-Team: Panjabi <pa@li.org>\n"
|
||||
@ -169,19 +169,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "ਅਣਜਾਣ PAM ਗਲਤੀ"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, fuzzy, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "ਗੁਪਤ-ਕੋਡ ਨਾ-ਤਬਦੀਲ ਹੈ"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, fuzzy, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "ਨਵਾਂ STRESS ਗੁਪਤ-ਕੋਡ ਮੁੜ-ਲਿਖੋ: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
#, fuzzy
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "NIS ਗੁਪਤ-ਕੋਡ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ ਹੈ।"
|
||||
@ -233,7 +233,7 @@ msgid "Password unchanged"
|
||||
msgstr "ਗੁਪਤ-ਕੋਡ ਨਾ-ਤਬਦੀਲ ਹੈ"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr ""
|
||||
@ -357,14 +357,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "ਗੁਪਤ-ਕੋਡ ਨਾ-ਤਬਦੀਲ ਹੈ"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "ਗੁਪਤ-ਕੋਡ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ ਹੈ। ਵੱਖਰਾ ਚੁਣੋ।"
|
||||
@ -433,20 +433,20 @@ msgstr "pam_set_item() ਲਈ ਫੇਲ\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "ਨਵਾਂ STRESS ਗੁਪਤ-ਕੋਡ ਦਿਓ: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "ਨਵਾਂ STRESS ਗੁਪਤ-ਕੋਡ ਦਿਓ: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "ਨਵਾਂ STRESS ਗੁਪਤ-ਕੋਡ ਮੁੜ-ਲਿਖੋ: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr ""
|
||||
|
||||
@ -455,7 +455,7 @@ msgstr ""
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -498,11 +498,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -517,6 +512,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
42
po/pl.po
42
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-14 23:49+0200\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <pl@li.org>\n"
|
||||
@ -168,19 +168,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Nieznany błąd PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nowe hasło %s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Ponownie podaj nowe hasło %s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Podane hasła nie są zgodne."
|
||||
|
||||
@ -231,7 +231,7 @@ msgid "Password unchanged"
|
||||
msgstr "Hasło nie zostało zmienione"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "BŁĘDNE HASŁO: %s"
|
||||
@ -359,13 +359,13 @@ msgstr "Tworzenie katalogu \"%s\"."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Nie można utworzyć katalogu %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "Przerwano zmianę hasła."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Hasło było już używane. Wybierz inne."
|
||||
@ -430,20 +430,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Zmienianie hasła STRESS dla %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Podaj nowe hasło STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Ponownie podaj hasła STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Sprawdzenie nie powiodło się; hasło nie zostało zmienione"
|
||||
|
||||
@ -452,7 +452,7 @@ msgstr "Sprawdzenie nie powiodło się; hasło nie zostało zmienione"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Konto zostało tymczasowo zablokowane (pozostało %ld sekund)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Konto zostało zablokowane z powodu %u nieudanych logowań"
|
||||
@ -496,11 +496,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: nie można przywrócić wszystkich użytkowników\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Konto zostało zablokowane z powodu %u nieudanych logowań"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -516,6 +511,11 @@ msgstr ""
|
||||
"%s: [--file nazwa-pliku-root] [--user nazwa-użytkownika] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Konto wygasło; skontaktuj się z administratorem systemu"
|
||||
@ -570,3 +570,7 @@ msgstr "Podaj nowe hasło UNIX: "
|
||||
#: modules/pam_unix/pam_unix_passwd.c:678
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Ponownie podaj hasło UNIX: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "Konto zostało zablokowane z powodu %u nieudanych logowań"
|
||||
|
38
po/pt.po
38
po/pt.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.pt\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2006-05-03 21:54+0200\n"
|
||||
"Last-Translator: Antonio Cardoso Martins <digiplan@netvisao.pt>\n"
|
||||
"Language-Team: portuguese\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Erro PAM desconhecido"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nova %s%spalavra passe: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Digite novamente a nova %s%spalavra passe: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Lamento, as palavras passe não coincidem."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "Palavra passe inalterada"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "MÁ PALAVRA PASSE: %s"
|
||||
@ -353,14 +353,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Palavra passe inalterada"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "A palavra passe já foi anteriormente utilizada. Escolha outra."
|
||||
@ -429,20 +429,20 @@ msgstr "falha em pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "sessão: falha ao executar o forking: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "A alterar a palavra passe de STRESS para "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Digite a nova palavra passe de STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Digite novamente a nova palavra passe de STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "A verificação não coincide; palavra passe inalterada"
|
||||
|
||||
@ -451,7 +451,7 @@ msgstr "A verificação não coincide; palavra passe inalterada"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -494,11 +494,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Não foi possível reiniciar todos os utilizadores para não zero\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -513,6 +508,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file ficheiro-raiz] [--user nome-utilizador] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
42
po/pt_BR.po
42
po/pt_BR.po
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-22 17:25-0300\n"
|
||||
"Last-Translator: Taylon <taylonsilva@gmail.com>\n"
|
||||
"Language-Team: Brazilian Portuguese <fedora-trans-pt_br@redhat.com>\n"
|
||||
@ -169,19 +169,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Erro desconhecido no PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nova %s%ssenha:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Redigite a nova %s%ssenha:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "As senhas não são iguais."
|
||||
|
||||
@ -232,7 +232,7 @@ msgid "Password unchanged"
|
||||
msgstr "Senha inalterada"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "SENHA INCORRETA: %s"
|
||||
@ -355,13 +355,13 @@ msgstr "Criando o diretório '%s'."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Impossível criar o diretório %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "A alteração de senha foi abortada."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "A senha já foi usada. Escolha outra."
|
||||
@ -426,20 +426,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Mudando senha STRESS para %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Digite a nova senha STRESS:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Digite novamente a nova senha STRESS:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Verificação digitada incorretamente; senha inalterada"
|
||||
|
||||
@ -448,7 +448,7 @@ msgstr "Verificação digitada incorretamente; senha inalterada"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Conta temporariamente bloqueada (restam %ld segundos)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Conta bloqueada devido a %u falhas de login"
|
||||
@ -491,11 +491,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Impossível redefinir todos os usuários para não-zero\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Conta bloqueada devido a %u falhas de login"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -510,6 +505,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Sua conta expirou; entre em contato com o administrador do sistema"
|
||||
@ -564,6 +564,10 @@ msgstr "Digite a nova senha UNIX:"
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Redigite a nova senha UNIX:"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "Conta bloqueada devido a %u falhas de login"
|
||||
|
||||
#~ msgid "has been already used"
|
||||
#~ msgstr "já foi usada"
|
||||
|
||||
|
38
po/ru.po
38
po/ru.po
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-02-23 20:11+0300\n"
|
||||
"Last-Translator: Andrew Martynov <andrewm@inventa.ru>\n"
|
||||
"Language-Team: Russian <fedora-trans-ru@redhat,com>\n"
|
||||
@ -175,20 +175,20 @@ msgid "Unknown PAM error"
|
||||
msgstr "Неизвестная ошибка PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Новый пароль %s%s: "
|
||||
|
||||
# Keep the newlines and spaces after ':'!
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Повторите ввод нового пароля %s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Извините, но пароли не совпадают."
|
||||
|
||||
@ -240,7 +240,7 @@ msgid "Password unchanged"
|
||||
msgstr "Пароль не изменен"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "НЕВЕРНЫЙ ПАРОЛЬ: %s"
|
||||
@ -365,14 +365,14 @@ msgid "Unable to create directory %s: %m"
|
||||
msgstr "Невозможно создать каталог %s: %m"
|
||||
|
||||
# password dialog title
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Пароль не изменен"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Этот пароль уже был использован. Выберите другой."
|
||||
@ -439,21 +439,21 @@ msgstr "не удалось выполнить pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "регистрация: сбой при создании нового процесса: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Смена пароля STRESS для %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Введите новый пароль STRESS: "
|
||||
|
||||
# Keep the newlines and spaces after ':'!
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Повторите ввод нового пароля STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Подтверждение введено неправильно; пароль не изменен"
|
||||
|
||||
@ -462,7 +462,7 @@ msgstr "Подтверждение введено неправильно; пар
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -507,11 +507,6 @@ msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
"%s: не удается выполнить сброс всех пользователей в ненулевое значение\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -527,6 +522,11 @@ msgstr ""
|
||||
"%s: [--file имя_корневого_файла] [--user имя_пользователя] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
38
po/si.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2007-06-22 12:24+0530\n"
|
||||
"Last-Translator: Danishka Navin <snavin@redhat.com>\n"
|
||||
"Language-Team: Sinhala <en@li.org>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "නොදන්නා PAM දෝෂය"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "නව %s%sරහස්පදය: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "නව %s%sරහස්පදය නැවත ඇතුළත් කරන්න: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "සමාවෙන්න, රහස්පද ගැලපෙන්නේ නැත."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "රහස්පදය වෙනස් නොවිනි"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "BAD PASSWORD: %s"
|
||||
@ -353,14 +353,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "රහස්පදය වෙනස් නොවිනි"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "රහස්පදය දැනටමත් භාවිතා වේ. වෙනත් එකක් තෝරාගන්න."
|
||||
@ -429,20 +429,20 @@ msgstr "pam_set_item() අසමත් විය\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "පිවිසුම: ෆොර්කින් බිදවැටීමක්: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "STRESS රහස්පදය වෙනස් කරමින්"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "නව STRESS රහස්පදය ඇතුළත් කරන්න:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "නව STRESS රහස්පදය නැවත ඇතුළත් කරන්න:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "ස්ථිරකර ගැනීම සඳහා වැරදි ඇතුලත් කිරීමක්; රහස්පදය වෙනස් කළ නොහැක"
|
||||
|
||||
@ -451,7 +451,7 @@ msgstr "ස්ථිරකර ගැනීම සඳහා වැරදි ඇ
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -494,11 +494,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: ශුන්ය නොවන අගයට සියළුම පරිශීලකයින් නැවත සැකසිය නොහැක\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -513,6 +508,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "ඔබගේ ගිණුම කල්ඉකුත් වී ඇත; කරුණාකර ඔබගේ පද්ධති කළමණාකරු හමුවන්න"
|
||||
|
42
po/sk.po
42
po/sk.po
@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-21 09:13+0200\n"
|
||||
"Last-Translator: Ondrej Šulek <feonsu@gmail.com>\n"
|
||||
"Language-Team: Slovak <fedora-trans-sk@redhat.com>\n"
|
||||
@ -166,19 +166,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Neznáme chyba PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nové %s%sheslo: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Opakujte nové %s%sheslo: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Heslá sa nezhodujú."
|
||||
|
||||
@ -229,7 +229,7 @@ msgid "Password unchanged"
|
||||
msgstr "Heslo nebolo zmenené"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "NESPRÁVNE HESLO: %s"
|
||||
@ -361,13 +361,13 @@ msgstr "Vytváranie priečinka '%s'."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Nedá sa vytvoriť priečinok %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "Zmena hesla prerušená."
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Heslo už bolo použité. Vyberte iné."
|
||||
@ -432,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Zmena STRESS hesla pre %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Zadajte nové STRESS heslo: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Znovu zadajte nové STRESS heslo: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Chybné potvrdenie; heslo nezmenené"
|
||||
|
||||
@ -454,7 +454,7 @@ msgstr "Chybné potvrdenie; heslo nezmenené"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "Účet dočasne uzamknutý (zostáva %ld sekúnd)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "Účet uzamknutý z dôvodu %u neúspešných prihlásení"
|
||||
@ -498,11 +498,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Nedá sa resetovať všetkých používateľov nenulovo\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "Účet uzamknutý z dôvodu %u neúspešných prihlásení"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -518,6 +513,11 @@ msgstr ""
|
||||
"%s: [--file meno_suboru] [--user pouzivatelske_meno] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
@ -574,6 +574,10 @@ msgstr "Zadajte nové UNIX heslo: "
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "Opakujte nové UNIX heslo: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "Účet uzamknutý z dôvodu %u neúspešných prihlásení"
|
||||
|
||||
#~ msgid "has been already used"
|
||||
#~ msgstr "už bolo použité"
|
||||
|
||||
|
38
po/sr.po
38
po/sr.po
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-04-05 10:48+0100\n"
|
||||
"Last-Translator: Miloš Komarčević <kmilos@gmail.com>\n"
|
||||
"Language-Team: Serbian (sr) <fedora-trans-sr@redhat.com>\n"
|
||||
@ -171,19 +171,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Непозната PAM грешка"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Нова %s%sлозинка: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Поновите нову %s%sлозинку: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Извините, лозинке се не подударају."
|
||||
|
||||
@ -234,7 +234,7 @@ msgid "Password unchanged"
|
||||
msgstr "Лозинка непромењена"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ЛОША ЛОЗИНКА: %s"
|
||||
@ -358,14 +358,14 @@ msgstr "Правим директоријум „%s“."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Не могу да направим директоријум %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Лозинка непромењена"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Лозинка је већ у употреби. Изаберите другу."
|
||||
@ -430,20 +430,20 @@ msgstr "неуспешно покретање функције pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "пријава: грешка при гранању: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Промена STRESS лозинке за %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Унесите нову STRESS лозинку: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Поново унесите нову STRESS лозинку: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Провера неуспешна; лозинка непромењена"
|
||||
|
||||
@ -452,7 +452,7 @@ msgstr "Провера неуспешна; лозинка непромењена
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -496,11 +496,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: не могу да поништим све кориснике на не-нулту вредност\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -516,6 +511,11 @@ msgstr ""
|
||||
"%s: [--file коренски-називдатотеке] [--user корисничкоиме] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Ваш налог је истекао; молим контактирајте администратора система"
|
||||
|
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-04-05 10:48+0100\n"
|
||||
"Last-Translator: Miloš Komarčević <kmilos@gmail.com>\n"
|
||||
"Language-Team: Serbian (sr) <fedora-trans-sr@redhat.com>\n"
|
||||
@ -171,19 +171,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Nepoznata PAM greška"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nova %s%slozinka: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Ponovite novu %s%slozinku: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Izvinite, lozinke se ne podudaraju."
|
||||
|
||||
@ -234,7 +234,7 @@ msgid "Password unchanged"
|
||||
msgstr "Lozinka nepromenjena"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "LOŠA LOZINKA: %s"
|
||||
@ -358,14 +358,14 @@ msgstr "Pravim direktorijum „%s“."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Ne mogu da napravim direktorijum %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Lozinka nepromenjena"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Lozinka je već u upotrebi. Izaberite drugu."
|
||||
@ -430,20 +430,20 @@ msgstr "neuspešno pokretanje funkcije pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "prijava: greška pri grananju: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Promena STRESS lozinke za %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Unesite novu STRESS lozinku: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Ponovo unesite novu STRESS lozinku: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Provera neuspešna; lozinka nepromenjena"
|
||||
|
||||
@ -452,7 +452,7 @@ msgstr "Provera neuspešna; lozinka nepromenjena"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -496,11 +496,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: ne mogu da poništim sve korisnike na ne-nultu vrednost\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -516,6 +511,11 @@ msgstr ""
|
||||
"%s: [--file korenski-nazivdatoteke] [--user korisničkoime] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Vaš nalog je istekao; molim kontaktirajte administratora sistema"
|
||||
|
38
po/sv.po
38
po/sv.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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2007-12-24 13:39+0100\n"
|
||||
"Last-Translator: Christer Andersson <klamm@comhem.se>\n"
|
||||
"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
|
||||
@ -166,19 +166,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Okänt PAM-fel"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Nytt %s%slösenord: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Ange nytt %s%slösenord igen: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Ledsen, lösenorden stämmer inte överens."
|
||||
|
||||
@ -229,7 +229,7 @@ msgid "Password unchanged"
|
||||
msgstr "Oförändrat lösenord"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "DÅLIGT LÖSENORD: %s"
|
||||
@ -352,14 +352,14 @@ msgstr "Skapar katalogen \"%s\"."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "Kan inte skapa katalogen %s: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Oförändrat lösenord"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Lösenordet har redan används. Välj ett annat."
|
||||
@ -424,20 +424,20 @@ msgstr "pam_set_item() misslyckades\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "inloggning: fel vid grening: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Ändrar STRESS-lösenord för %s."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Ange nytt STRESS-lösenord: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Ange nytt STRESS-lösenord igen: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Felskriven verifikation, lösenord oförändrat"
|
||||
|
||||
@ -446,7 +446,7 @@ msgstr "Felskriven verifikation, l
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -489,11 +489,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Kan inte ställa om alla användare till nollskilt värde\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -508,6 +503,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file absolut-filnamn] [--user användarnamn] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Ditt konto har gått ut. Kontakta din systemadministratör"
|
||||
|
38
po/ta.po
38
po/ta.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ta\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2007-06-21 15:33+0530\n"
|
||||
"Last-Translator: I felix <ifelix@redhat.com>\n"
|
||||
"Language-Team: Tamil <fedora-trans-ta@redhat.com>\n"
|
||||
@ -169,19 +169,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "தெரியாத PAM பிழை"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "புதிய %s%spassword: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "புதிய %s%spassword மீண்டும் உள்ளிடவும்: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "கடவுச்சொல் பொருந்தவில்லை."
|
||||
|
||||
@ -232,7 +232,7 @@ msgid "Password unchanged"
|
||||
msgstr "கடவுச்சொல் மாற்றப்படவில்லை"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "தவறான கடவுச்சொல்: %s"
|
||||
@ -355,14 +355,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "கடவுச்சொல் மாற்றப்படவில்லை"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "கடவுச்சொல் ஏற்கனவே பயன்படுத்தப்பட்டது. வேறொன்றை பயன்படுத்தவும்."
|
||||
@ -431,20 +431,20 @@ msgstr "pam_set_item() செயலிழக்கப்பட்டது\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "login: failure forking: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "STRESS கடவுச்சொல்லை மாற்றுகிறது"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "புதிய STRESS கடவுச்சொல்லை உள்ளிடவும்: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "புதிய STRESS கடவுச்சொல்லை மீண்டும் உள்ளிடவும்: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "உறுதிப்படுத்தல் முரண்பாடு; கடவுச்சொல் மாற்றப்படவில்லை"
|
||||
|
||||
@ -453,7 +453,7 @@ msgstr "உறுதிப்படுத்தல் முரண்பாட
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -496,11 +496,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: பூஜ்ஜியமில்லாததற்கு அனைத்து பயனர்களையும் மறு அமைக்க முடியவில்லை\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -515,6 +510,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "உங்கள் கணக்கு முடிவுற்றது, உங்கள் கணினி நிர்வாகியை அணுகவும்"
|
||||
|
42
po/te.po
42
po/te.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: te\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-22 16:24+0530\n"
|
||||
"Last-Translator: Krishna Babu K <kkrothap@redhat.com>\n"
|
||||
"Language-Team: Telugu <en@li.org>\n"
|
||||
@ -170,19 +170,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "తెలియని PAM దోషము"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "కొత్త %s%sసంకేతపదము: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "కొత్త %s%sసంకేతపదమును మరలాటైపుచేయుము: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "క్షమించాలి, సంకేతపదము సరిపోలలేదు."
|
||||
|
||||
@ -233,7 +233,7 @@ msgid "Password unchanged"
|
||||
msgstr "సంకేతపదము మార్చలేదు"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "చెడ్డ సంకేతపదము: %s"
|
||||
@ -356,13 +356,13 @@ msgstr "డెరెక్టరీ '%s' సృష్టించుట."
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "డైరెక్టరీ %sను సృష్టించలేక పోయింది: %m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "సంకేతపదము మార్పు తప్పించబడింది"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "సంకేతపదము యిప్పటికే వుపయోగించబడింది. మరియొకదానిని యెంచుకొనుము."
|
||||
@ -427,20 +427,20 @@ msgstr "pam_set_item() విఫలమైంది\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "login: failure forking: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "STRESS సంకేతపదమును %sకొరకు మార్చబడింది."
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "కొత్త STRESS సంకేతపదమును ప్రవేశపెట్టుము: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "కొత్త STRESS సంకేతపదమును తిరిగిటైపుచేయుము: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "తప్పుగా-చేసినటైపు నిర్ధారణ; సంకేతపదము మార్చబడలేదు"
|
||||
|
||||
@ -449,7 +449,7 @@ msgstr "తప్పుగా-చేసినటైపు నిర్ధార
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "ఖాతా తాత్కాలికంగా లాక్చేయబడింది (%ld సెకనులు మిగిలినవి)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "%u లాగిన్ల వైఫల్యం కారణంగా ఖాతా లాక్అయింది"
|
||||
@ -492,11 +492,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: వినియోగదారులనందరిని సున్నా-కానిదానికి తిరిగివుంచలేము\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "%u లాగిన్ల వైఫల్యం కారణంగా ఖాతా లాక్అయింది"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -511,6 +506,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "మీ ఖాతా కాలముతీరినది; దయచేసి మీ సిస్టమ్ నిర్వాహకుడిని సంప్రదించండి"
|
||||
@ -564,3 +564,7 @@ msgstr "కొత్త UNIX సంకేతపదమును ప్రవే
|
||||
#: modules/pam_unix/pam_unix_passwd.c:678
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "కొత్త UNIX సంకేతపదమును తిరిగిటైపు చేయుము: "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "%u లాగిన్ల వైఫల్యం కారణంగా ఖాతా లాక్అయింది"
|
||||
|
38
po/tr.po
38
po/tr.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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2006-05-03 19:00+0200\n"
|
||||
"Last-Translator: Koray Löker <loker@pardus.org.tr>\n"
|
||||
"Language-Team: Türkçe <tr@li.org>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Bilinmeyen PAM hatası"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Yeni %s%sparolası: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Yeni %s%sparolasını tekrar girin: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Üzgünüm, parolalar birbirine uymuyor."
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "Parola değiştirilmedi"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "YANLIŞ PAROLA: %s"
|
||||
@ -352,14 +352,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Parola değiştirilmedi"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Parola kullanımda. Lütfen başka bir parola seçin."
|
||||
@ -428,20 +428,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "STRESS parolası değiştiriliyor "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Yeni STRESS parolası girin: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Yeni STRESS parolasını tekrar girin: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Doğrulama hatalı: parola değiştirilmedi"
|
||||
|
||||
@ -450,7 +450,7 @@ msgstr "Doğrulama hatalı: parola değiştirilmedi"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -493,11 +493,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -512,6 +507,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file DosyanınTamYolu] [--user KullanıcıAdı] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "Hesabınızın süresi doldu; lütfen sistem yöneticinizle bağlantıya geçin"
|
||||
|
38
po/uk.po
38
po/uk.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.uk\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2006-05-03 18:59+0200\n"
|
||||
"Last-Translator: Ivan Petrouchtchak <ivanpetrouchtchak@yahoo.com>\n"
|
||||
"Language-Team: Ukrainian <translation@linux.org.ua>\n"
|
||||
@ -168,19 +168,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Невідома помилка PAM"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "Новий пароль %s%s:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Повторіть новий пароль %s%s: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Ваші нові паролі не співпадають."
|
||||
|
||||
@ -231,7 +231,7 @@ msgid "Password unchanged"
|
||||
msgstr "Пароль не змінено"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "ПОГАНИЙ ПАРОЛЬ: %s"
|
||||
@ -355,14 +355,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Пароль не змінено"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Пароль вже вживається. Виберіть інший."
|
||||
@ -431,20 +431,20 @@ msgstr "помилка pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "вхід: помилка розгалуження: %m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Зміна пароля STRESS для "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Введіть новий пароль STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Повторіть новий пароль STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Перевірку не пройдено; пароль не змінено"
|
||||
|
||||
@ -453,7 +453,7 @@ msgstr "Перевірку не пройдено; пароль не змінен
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -497,11 +497,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: Не вдається скинути всіх користувачів до не-нуль\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -517,6 +512,11 @@ msgstr ""
|
||||
"%s: [--file rooted-filename] [--user ім'я користувача] [--reset[=n]] [--"
|
||||
"quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
42
po/zh_CN.po
42
po/zh_CN.po
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-20 15:43+1000\n"
|
||||
"Last-Translator: Leah Liu <lliu@redhat.com>\n"
|
||||
"Language-Team: Simplified Chinese <zh@li.org>\n"
|
||||
@ -169,19 +169,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "未知的 PAM 错误"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "新的 %s%s密码:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "重新输入新的 %s%s密码:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "抱歉,密码不匹配。"
|
||||
|
||||
@ -232,7 +232,7 @@ msgid "Password unchanged"
|
||||
msgstr "密码未更改"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "无效的密码: %s"
|
||||
@ -354,13 +354,13 @@ msgstr "创建目录 '%s'。"
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "无法创建目录 %s:%m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
msgid "Password change aborted."
|
||||
msgstr "密码更改取消。"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "密码已使用。请选择其他密码。"
|
||||
@ -425,20 +425,20 @@ msgstr "未能 pam_set_item()\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "登录:故障派生:%m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "为 %s 更改 STRESS 密码。"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "输入新的 STRESS 密码:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "重新输入新的 STRESS 密码:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "校验类型错误;密码未更改"
|
||||
|
||||
@ -447,7 +447,7 @@ msgstr "校验类型错误;密码未更改"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr "帐户暂时锁住(还有 %ld 秒)"
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr "因为 %u 失败登录而锁定帐户"
|
||||
@ -489,11 +489,6 @@ msgstr "%s: [--文件 根文件名] [--用户 用户名] [--重设置[=n]] [--
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: 无法将所有用户重设置为非零\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, fuzzy, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr "因为 %u 失败登录而锁定帐户"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -507,6 +502,11 @@ msgid ""
|
||||
" [-r] [--reset[=n]] [--quiet]\n"
|
||||
msgstr "%s: [--文件 根文件名] [--用户 用户名] [--重设置[=n]] [--安静]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "您的帐户已失效;请与系统管理员取得联系"
|
||||
@ -559,3 +559,7 @@ msgstr "输入新的 UNIX 密码:"
|
||||
#: modules/pam_unix/pam_unix_passwd.c:678
|
||||
msgid "Retype new UNIX password: "
|
||||
msgstr "重新输入新的 UNIX 密码:"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account locked due to %hu failed logins"
|
||||
#~ msgstr "因为 %u 失败登录而锁定帐户"
|
||||
|
38
po/zh_TW.po
38
po/zh_TW.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Linux-PAM.tip\n"
|
||||
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
|
||||
"POT-Creation-Date: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2008-10-21 15:51+1000\n"
|
||||
"Last-Translator: Terry Chuang <tchuang@redhat.com>\n"
|
||||
"Language-Team: <zh@li.org>\n"
|
||||
@ -167,19 +167,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "未知的 PAM 錯誤"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "新 %s%s密碼:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "再次輸入新的 %s%s密碼:"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "抱歉,密碼不符合。"
|
||||
|
||||
@ -230,7 +230,7 @@ msgid "Password unchanged"
|
||||
msgstr "密碼未變更"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "不良的密碼: %s"
|
||||
@ -353,14 +353,14 @@ msgstr "建立目錄「%s」。"
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr "無法建立 %s 目錄:%m"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "密碼未變更"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "密碼已經由其他使用者使用。請選擇其他密碼。"
|
||||
@ -425,20 +425,20 @@ msgstr "pam_set_item() 失敗\n"
|
||||
msgid "login: failure forking: %m"
|
||||
msgstr "登入:失敗的分叉:%m"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "正在更改 %s 的 STRESS 密碼。"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "輸入新的 STRESS 密碼:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "再次輸入新的 STRESS 密碼:"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "確認錯誤輸入;密碼未變更"
|
||||
|
||||
@ -447,7 +447,7 @@ msgstr "確認錯誤輸入;密碼未變更"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -490,11 +490,6 @@ msgstr ""
|
||||
msgid "%s: Can't reset all users to non-zero\n"
|
||||
msgstr "%s: 無法將所有使用者重新設定為非零\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -509,6 +504,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr "您的帳戶已經逾期,請洽詢您的系統管理員"
|
||||
|
38
po/zu.po
38
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: 2008-10-22 20:01+0200\n"
|
||||
"POT-Creation-Date: 2008-11-28 15:16+0100\n"
|
||||
"PO-Revision-Date: 2006-11-03 12:03\n"
|
||||
"Last-Translator: Novell Language <language@novell.com>\n"
|
||||
"Language-Team: Novell Language <language@novell.com>\n"
|
||||
@ -163,19 +163,19 @@ msgid "Unknown PAM error"
|
||||
msgstr "Iphutha le-PAM elingaziwa"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:64
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:61
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#, c-format
|
||||
msgid "New %s%spassword: "
|
||||
msgstr "%s%siphasiwedi entsha: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:66
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:62
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:64
|
||||
#, c-format
|
||||
msgid "Retype new %s%spassword: "
|
||||
msgstr "Thayipha kabusha %s%siphasiwedi entsha: "
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:67
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:63
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:65
|
||||
msgid "Sorry, passwords do not match."
|
||||
msgstr "Uxolo, amaphasiwedi awahambelani."
|
||||
|
||||
@ -226,7 +226,7 @@ msgid "Password unchanged"
|
||||
msgstr "Iphasiwedi ayishintshwanga"
|
||||
|
||||
#: modules/pam_cracklib/pam_cracklib.c:584
|
||||
#: modules/pam_cracklib/pam_cracklib.c:709
|
||||
#: modules/pam_cracklib/pam_cracklib.c:710
|
||||
#, c-format
|
||||
msgid "BAD PASSWORD: %s"
|
||||
msgstr "IPHASIWEDI ENGASEBENZI: %s"
|
||||
@ -349,14 +349,14 @@ msgstr ""
|
||||
msgid "Unable to create directory %s: %m"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:224
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:258
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:231
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:267
|
||||
#, fuzzy
|
||||
msgid "Password change aborted."
|
||||
msgstr "Iphasiwedi ayishintshwanga"
|
||||
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:235
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:295
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:242
|
||||
#: modules/pam_pwhistory/pam_pwhistory.c:304
|
||||
#: modules/pam_unix/pam_unix_passwd.c:470
|
||||
msgid "Password has been already used. Choose another."
|
||||
msgstr "Le phasiwedi isetshenziswa ngothile. Khetha enye."
|
||||
@ -425,20 +425,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:476
|
||||
#: modules/pam_stress/pam_stress.c:475
|
||||
#, fuzzy, c-format
|
||||
msgid "Changing STRESS password for %s."
|
||||
msgstr "Ukushintsha iphasiwedi ye-STRESS ye-"
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:490
|
||||
#: modules/pam_stress/pam_stress.c:489
|
||||
msgid "Enter new STRESS password: "
|
||||
msgstr "Faka iphasiwedi entsha ye-STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:493
|
||||
#: modules/pam_stress/pam_stress.c:492
|
||||
msgid "Retype new STRESS password: "
|
||||
msgstr "Thayipha iphasiwedi entsha ye-STRESS: "
|
||||
|
||||
#: modules/pam_stress/pam_stress.c:522
|
||||
#: modules/pam_stress/pam_stress.c:521
|
||||
msgid "Verification mis-typed; password unchanged"
|
||||
msgstr "Ukufakazela akuthayiphiwanga kahle; iphasiwedi ayishintshwanga"
|
||||
|
||||
@ -447,7 +447,7 @@ msgstr "Ukufakazela akuthayiphiwanga kahle; iphasiwedi ayishintshwanga"
|
||||
msgid "Account temporary locked (%ld seconds left)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally/pam_tally.c:566
|
||||
#: modules/pam_tally/pam_tally.c:566 modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %u failed logins"
|
||||
msgstr ""
|
||||
@ -492,11 +492,6 @@ msgstr ""
|
||||
"%s: Ayikwazi ukusetha kabusha bonke abasebenzisi ibase enombolweni ongelona "
|
||||
"iqanda\n"
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:520
|
||||
#, c-format
|
||||
msgid "Account locked due to %hu failed logins"
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_tally2/pam_tally2.c:865
|
||||
#, c-format
|
||||
msgid "Login Failures Latest failure From\n"
|
||||
@ -511,6 +506,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
|
||||
|
||||
#: modules/pam_timestamp/pam_timestamp.c:339
|
||||
#, c-format
|
||||
msgid "Access granted (last access was %ld seconds ago)."
|
||||
msgstr ""
|
||||
|
||||
#: modules/pam_unix/pam_unix_acct.c:228 modules/pam_unix/pam_unix_acct.c:250
|
||||
msgid "Your account has expired; please contact your system administrator"
|
||||
msgstr ""
|
||||
|
Loading…
Reference in New Issue
Block a user