From 1464914e12a8911999c41339c8e93dba4f20a044 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 29 2019 10:39:02 +0000 Subject: import passwd-0.79-6.el7 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e6c865e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/passwd-0.79.tar.bz2 diff --git a/.passwd.metadata b/.passwd.metadata new file mode 100644 index 0000000..108135d --- /dev/null +++ b/.passwd.metadata @@ -0,0 +1 @@ +1e556a8635f86cce7c5caaad586c2e50bd6cf7e9 SOURCES/passwd-0.79.tar.bz2 diff --git a/SOURCES/passwd-0.79-auditing.patch b/SOURCES/passwd-0.79-auditing.patch new file mode 100644 index 0000000..b387115 --- /dev/null +++ b/SOURCES/passwd-0.79-auditing.patch @@ -0,0 +1,157 @@ +diff --git a/passwd.c b/passwd.c +index 45acf02..27ad6fe 100644 +--- a/passwd.c ++++ b/passwd.c +@@ -63,7 +63,6 @@ + #ifdef WITH_AUDIT + #include + #else +-#define audit_log_user_message(d,ty,m,h,a,t,r) do { ; } while(0) + #define audit_log_acct_message(d,ty,p,o,n,i,h,a,t,r) do { ; } while(0) + static int audit_open(void) { errno = EPROTONOSUPPORT; return -1; } + #endif +@@ -274,13 +273,10 @@ parse_args(int argc, const char **argv, + /* The only flag which unprivileged users get to use is -k. */ + if ((passwd_flags & ~PASSWD_KEEP) && + (getuid() != 0)) { +- if (passwd_flags & PASSWD_STATUS) { ++ /* Auditing is not needed for displaying status */ ++ if (passwd_flags != PASSWD_STATUS) { + audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "password status display", +- NULL, getuid(), NULL, NULL, NULL, 0); +- } else { +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "password attribute change", ++ NULL, "attempted-to-change-password-attribute", + NULL, getuid(), NULL, NULL, NULL, 0); + } + fprintf(stderr, _("Only root can do that.\n")); +@@ -293,8 +289,8 @@ parse_args(int argc, const char **argv, + if (getuid() != 0) { + /* The invoking user was not root. */ + audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "password change", extraArgs[0], +- getuid(), NULL, NULL, NULL, 0); ++ NULL, "attempted-to-change-password", ++ extraArgs[0], getuid(), NULL, NULL, NULL, 0); + fprintf(stderr, + _("%s: Only root can specify a user name.\n"), + progname); +@@ -392,7 +388,7 @@ main(int argc, const char **argv) + fprintf(stderr, _("%s: SELinux denying access due to security policy.\n"), progname); + + audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "change password", NULL, pwd->pw_uid, ++ NULL, "attempted-to-change-password", NULL, pwd->pw_uid, + NULL, NULL, NULL, 0); + exit(1); + } +@@ -404,8 +400,8 @@ main(int argc, const char **argv) + printf("%s: %s\n", progname, + retval == + 0 ? _("Success") : _("Error (password not set?)")); +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "lock password", NULL, pwd->pw_uid, ++ audit_log_acct_message(audit_fd, AUDIT_ACCT_LOCK, ++ NULL, "locked-password", NULL, pwd->pw_uid, + NULL, NULL, NULL, retval == 0); + return retval; + } +@@ -419,8 +415,8 @@ main(int argc, const char **argv) + retval == + -2 ? _("Unsafe operation (use -f to force)") : + _("Error (password not set?)")); +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "unlock password", NULL, pwd->pw_uid, ++ audit_log_acct_message(audit_fd, AUDIT_ACCT_UNLOCK, ++ NULL, "unlocked-password", NULL, pwd->pw_uid, + NULL, NULL, NULL, retval == 0); + return retval; + } +@@ -431,8 +427,8 @@ main(int argc, const char **argv) + printf("%s: %s\n", progname, + retval == + 0 ? _("Success") : _("Error")); +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "expire password", NULL, pwd->pw_uid, ++ audit_log_acct_message(audit_fd, AUDIT_USER_MGMT, ++ NULL, "expired-password", NULL, pwd->pw_uid, + NULL, NULL, NULL, retval == 0); + return retval; + } +@@ -443,16 +439,14 @@ main(int argc, const char **argv) + printf("%s: %s\n", progname, + (retval == 0) ? _("Success") : _("Error")); + audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "delete password", NULL, pwd->pw_uid, ++ NULL, "deleted-password", NULL, pwd->pw_uid, + NULL, NULL, NULL, retval == 0); + return retval; + } + /* Display account status. */ + if (passwd_flags & PASSWD_STATUS) { ++ /* Auditing is not needed for displaying status */ + retval = pwdb_display_status(username); +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "password status displayed for user", +- NULL, pwd->pw_uid, NULL, NULL, NULL, retval == 0); + return retval; + } + /* Adjust aging parameters. */ +@@ -462,12 +456,12 @@ main(int argc, const char **argv) + retval = pwdb_update_aging(username, min, max, warn, inact, -2); + printf("%s: %s\n", progname, + (retval == 0) ? _("Success") : _("Error")); +- snprintf(aubuf, sizeof(aubuf), "password aging data updated " +- "- acct=%s, uid=%u, min=%li, max=%li," +- " warn=%li, inact=%li", username, +- pwd->pw_uid, min, max, warn, inact); +- audit_log_user_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- aubuf, NULL, NULL, NULL, retval == 0); ++ snprintf(aubuf, sizeof(aubuf), "changed-password-aging" ++ " min=%li max=%li warn=%li inact=%li", ++ min, max, warn, inact); ++ audit_log_acct_message(audit_fd, AUDIT_USER_MGMT, ++ NULL, aubuf, NULL, pwd->pw_uid, ++ NULL, NULL, NULL, retval == 0); + return retval; + } + +@@ -548,33 +542,22 @@ main(int argc, const char **argv) + } + #endif + +- /* Go for it. */ ++ /* Go for it. Note: pam will send audit event. */ + retval = pam_chauthtok(pamh, + (passwd_flags & PASSWD_KEEP) ? + PAM_CHANGE_EXPIRED_AUTHTOK : 0); + if (retval == PAM_SUCCESS) { + /* We're done. Tell the invoking user that it worked. */ + retval = pam_end(pamh, PAM_SUCCESS); +- if (passwd_flags & PASSWD_KEEP) { +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "change expired password", NULL, +- pwd->pw_uid, NULL, NULL, NULL, +- retval == PAM_SUCCESS); ++ if (passwd_flags & PASSWD_KEEP) + printf(_("%s: expired authentication tokens updated successfully.\n"), + progname); +- } else { +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "change password", NULL, pwd->pw_uid, +- NULL, NULL, NULL, retval == PAM_SUCCESS); ++ else + printf(_("%s: all authentication tokens updated successfully.\n"), + progname); +- } + retval = 0; + } else { + /* Horrors! It failed. Relay the bad news. */ +- audit_log_acct_message(audit_fd, AUDIT_USER_CHAUTHTOK, +- NULL, "change password", NULL, pwd->pw_uid, +- NULL, NULL, NULL, retval == PAM_SUCCESS); + fprintf(stderr, "%s: %s\n", progname, + pam_strerror(pamh, retval)); + pam_end(pamh, retval); diff --git a/SOURCES/passwd-0.79-document-S-option.patch b/SOURCES/passwd-0.79-document-S-option.patch new file mode 100644 index 0000000..602319b --- /dev/null +++ b/SOURCES/passwd-0.79-document-S-option.patch @@ -0,0 +1,93 @@ +From 02d4478318297d24799b03fa53312da5e3f14a40 Mon Sep 17 00:00:00 2001 +From: Jiri Kucera +Date: Mar 28 2018 14:26:48 +0000 +Subject: Updated man page + + +Added more info about -S option: +* described status information fields +* added note about displaying the last password change date value +Added exit codes description. + +--- + +diff --git a/man/passwd.1 b/man/passwd.1 +index b72ffb9..a962c77 100644 +--- a/man/passwd.1 ++++ b/man/passwd.1 +@@ -153,7 +153,23 @@ root only. + .TP + \fB\-S\fR, \fB\-\-status\fR + This will output a short information about the status of the password +-for a given account. Available to root user only. ++for a given account. The status information consists of 7 fields. The ++first field is the user's login name. The second field indicates if the ++user account has a locked password (LK), has no password (NP), or has a ++usable password (PS). The third field gives the date of the last password ++change. The next four fields are the minimum age, maximum age, warning ++period, and inactivity period for the password. These ages are expressed ++in days. ++.sp ++\fBNotes:\fR ++The date of the last password change is stored as a number of days ++since epoch. Depending on the current time zone, the ++\fBpasswd \-S\fR ++\fIusername\fR ++may show the date of the last password change that is different ++from the real date of the last password change by ±1 day. ++.sp ++This option is available to root only. + + .SH "Remember the following two principles" + +@@ -195,10 +211,46 @@ Vigilance on your part will make the system much more secure. + + .SH "EXIT CODE" + +-On successful completion of its task, ++The + .B passwd +-will complete with exit code 0. An exit code of 1 indicates an error +-occurred. Textual errors are written to the standard error stream. ++command exits with the following codes: ++.PP ++\fI0\fR ++.RS 4 ++success ++.RE ++.PP ++\fI1\fR ++.RS 4 ++passwd/libuser operation failed ++.RE ++.PP ++\fI2\fR ++.RS 4 ++unknown user ++.RE ++.PP ++\fI252\fR ++.RS 4 ++unknown user name ++.RE ++.PP ++\fI253\fR ++.RS 4 ++bad arguments or passwordless account ++.RE ++.PP ++\fI254\fR ++.RS 4 ++invalid application of arguments ++.RE ++.PP ++\fI255\fR ++.RS 4 ++libuser operation failed ++.RE ++.PP ++Error messages are written to the standard error stream. + + .SH "CONFORMING TO" + .br + diff --git a/SOURCES/passwd-0.79-incorrect-S-report.patch b/SOURCES/passwd-0.79-incorrect-S-report.patch new file mode 100644 index 0000000..22c2109 --- /dev/null +++ b/SOURCES/passwd-0.79-incorrect-S-report.patch @@ -0,0 +1,48 @@ +diff --git a/libuser.c b/libuser.c +index 7a36520..06c6200 100644 +--- a/libuser.c ++++ b/libuser.c +@@ -233,6 +233,7 @@ pwdb_display_status(const char *username) + struct lu_ent *ent; + struct lu_error *error = NULL; + char *current; ++ char *current_user; + char *realname; + const char *msg; + int shadow = 1; +@@ -256,9 +257,10 @@ pwdb_display_status(const char *username) + goto bail; + } + current = lu_ent_get_first_value_strdup(ent, LU_SHADOWPASSWORD); ++ current_user = lu_ent_get_first_value_strdup(ent, LU_USERPASSWORD); + if (current == NULL) { + shadow = 0; +- current = lu_ent_get_first_value_strdup(ent, LU_USERPASSWORD); ++ current = current_user; + } else { + sp_lstchg = (time_t) ent_value_int64(ent, LU_SHADOWLASTCHANGE); + sp_min = ent_value_int64(ent, LU_SHADOWMIN); +@@ -298,6 +300,13 @@ pwdb_display_status(const char *username) + msg = _("Password set, DES crypt."); + } + if (shadow) { ++ if (status[0] != 'N' && current_user && strlen(current_user) == 0) { ++ fprintf(stderr, "%s: %s\n", progname, ++ _("There is a password information set in /etc/shadow," ++ " but the password field in /etc/passwd is empty.")); ++ msg = _("Empty password."); ++ status = "NP"; ++ } + sp_lstchg = sp_lstchg * 24L * 3600L; + localtime_r(&sp_lstchg, &tm); + strftime(date, sizeof(date), "%Y-%m-%d", &tm); +@@ -307,6 +316,9 @@ pwdb_display_status(const char *username) + printf("%s %s (%s)\n", realname, status, msg); + } + g_free(current); ++ if (shadow && current_user) { ++ g_free(current_user); ++ } + } else { + printf(_("No password set.\n")); + } diff --git a/SOURCES/passwd-0.79-no-length-limit-stdin-passwords.patch b/SOURCES/passwd-0.79-no-length-limit-stdin-passwords.patch new file mode 100644 index 0000000..0069973 --- /dev/null +++ b/SOURCES/passwd-0.79-no-length-limit-stdin-passwords.patch @@ -0,0 +1,48 @@ +From ca46cac76757082322d19f736a88cbf81bd70063 Mon Sep 17 00:00:00 2001 +From: Miloslav Trmač +Date: Nov 02 2015 18:20:24 +0000 +Subject: Support passwords up to PAM_MAX_RESP_SIZE - 1 with --stdin + + +--- + +diff --git a/passwd.c b/passwd.c +index b1dd114..45acf02 100644 +--- a/passwd.c ++++ b/passwd.c +@@ -479,17 +479,32 @@ main(int argc, const char **argv) + /* If we need to read the new password from stdin, read it and switch + * to the really-quiet stdin conversation function. */ + if (passwd_flags & PASSWD_STDIN) { +- char *ptr, newPassword[80]; ++ /* PAM's documentation says that PAM_MAX_RESP_SIZE is the ++ * maximum supported length of the password, but in practice ++ * the code (including examples in the OSF RFC) often truncates ++ * data at PAM_MAX_RESP_SIZE - 1. So, refuse to use anything ++ * longer than PAM_MAX_RESP_SIZE - 1, to prevent users from ++ * setting a password they won't be able to use to log in. */ ++ char *ptr, newPassword[PAM_MAX_RESP_SIZE]; + int i; + + i = read(STDIN_FILENO, newPassword, +- sizeof(newPassword) - 1); ++ sizeof(newPassword)); + if (i < 0) { + fprintf(stderr, + _("%s: error reading from stdin: %s\n"), progname, + strerror(errno)); + exit(1); + } ++ if (i == sizeof(newPassword)) { ++ if (newPassword[i - 1] != '\n') { ++ fprintf(stderr, ++ _("%s: password too long, maximum is %zu"), ++ progname, sizeof(newPassword) - 1); ++ exit(1); ++ } ++ i--; ++ } + + newPassword[i] = '\0'; + ptr = strchr(newPassword, '\n'); + diff --git a/SOURCES/passwd-0.79-translation-updates.patch b/SOURCES/passwd-0.79-translation-updates.patch new file mode 100644 index 0000000..d234ece --- /dev/null +++ b/SOURCES/passwd-0.79-translation-updates.patch @@ -0,0 +1,1307 @@ +diff -urN a/passwd-0.79/po/de.po b/passwd-0.79/po/de.po +--- a/passwd-0.79/po/de.po 2014-01-18 17:04:45.978161695 +0530 ++++ b/passwd-0.79/po/de.po 2014-01-18 17:06:34.919047054 +0530 +@@ -1,27 +1,29 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Roman Spirgi , 2012 ++# rgromans , 2014. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-03-06 10:20+0000\n" +-"Last-Translator: Roman Spirgi \n" +-"Language-Team: German \n" +-"Language: de\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2014-01-05 10:33-0500\n" ++"Last-Translator: rgromans \n" ++"Language-Team: German \n" ++"Language: de\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format + msgid "%s: libuser initialization error:" +-msgstr "%s: libuser-Initialisierungsfehler:" ++msgstr "%s: libuser Initialisierungs-Fehler:" + + #: libuser.c:157 + msgid "Warning: unlocked password would be empty." +@@ -29,11 +31,11 @@ + + #: libuser.c:255 + msgid "Corrupted passwd entry." +-msgstr "beschädigter Passwort-Eintrag" ++msgstr "Beschädigte Passwort-Eintragung." + + #: libuser.c:272 + msgid "Empty password." +-msgstr "leeres Passwort" ++msgstr "Leeres Passwort." + + #: libuser.c:275 + msgid "Password locked." +@@ -61,21 +63,21 @@ + + #: libuser.c:293 + msgid "Alternate authentication scheme in use." +-msgstr "alternatives Autentifizierungsmuster wird verwendet" ++msgstr "Alternatives Autentifizierungs-Muster wird verwendet" + + #: libuser.c:298 + msgid "Password set, DES crypt." +-msgstr "Passwort mit DES-Verschlüsselung gesetzt" ++msgstr "Passwort mit DES-Verschlüsselung gesetzt." + + #: libuser.c:311 + #, c-format + msgid "No password set.\n" +-msgstr "kein Passwort gesetzt.\n" ++msgstr "Kein Passwort gesetzt.\n" + + #: libuser.c:316 + #, c-format + msgid "Unknown user.\n" +-msgstr "unbekannter Benutzer.\n" ++msgstr "Unbekannter Benutzer.\n" + + #: libuser.c:391 + #, c-format +@@ -85,23 +87,23 @@ + + #: passwd.c:158 + msgid "keep non-expired authentication tokens" +-msgstr "behalte nicht-verfallende Authentifizierungsmerkmale" ++msgstr "behalte nicht-verfallende Authentifizierungs-Merkmale" + + #: passwd.c:160 + msgid "delete the password for the named account (root only)" +-msgstr "lösche das Passwort für das genannten Konto (nur als root möglich)" ++msgstr "lösche das Passwort für das angegebene Konto (nur als root möglich)" + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "Das Kennwort für das entsprechende Konto sperren (nur root)" ++msgstr "Das Kennwort für das angegebene Konto sperren (nur root)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "Das Kennwort für das entsprechende Konto entsperren (nur root)" ++msgstr "Das Kennwort für das angegebene Konto entsperren (nur root)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +-msgstr "Das Kennwort für das entsprechende Konto verfallen lassen (nur root)" ++msgstr "Das Kennwort für das angegebene Konto verfallen lassen (nur root)" + + #: passwd.c:172 + msgid "force operation" +@@ -120,7 +122,7 @@ + "number of days warning users receives before password expiration (root only)" + msgstr "" + "Anzahl der Tage die Benutzer vor dem Ablauf des Passwortes gewarnt werden " +-"solle (nur als root möglich)" ++"soll (nur als root möglich)" + + #: passwd.c:181 + msgid "" +@@ -132,7 +134,7 @@ + + #: passwd.c:184 + msgid "report password status on the named account (root only)" +-msgstr "melde Passwortstatus des genannten Accounts (nur als root möglich)" ++msgstr "melde Passwort Status des angegebenen Accounts (nur als root möglich)" + + #: passwd.c:187 + msgid "read new tokens from stdin (root only)" +@@ -156,7 +158,7 @@ + #, c-format + msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n" + msgstr "" +-"%s: Die Patameter -l, -u, -d, -S und -i, -n, -w, -x können nicht kombiniert " ++"%s: Die Parameter -l, -u, -d, -S und -i, -n, -w, -x können nicht kombiniert " + "werden.\n" + + #: passwd.c:286 +@@ -187,7 +189,7 @@ + #: passwd.c:339 + #, c-format + msgid "%s: Can not identify you!\n" +-msgstr "%s: kann Sie nicht identifizieren!\n" ++msgstr "%s: Kann Sie nicht identifizieren!\n" + + #: passwd.c:348 passwd.c:383 + #, c-format +@@ -199,16 +201,15 @@ + msgid "%s: SELinux denying access due to security policy.\n" + msgstr "" + "%s: SELinux verweigert den Zugriff aufgrund der Sicherheitsrichtlinien.\n" +-"\n" + + #: passwd.c:402 + #, c-format + msgid "Locking password for user %s.\n" +-msgstr "Sperre Passwort für Benutzer %s.\n" ++msgstr "Sperren Passwort für Benutzer %s.\n" + + #: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Success" +-msgstr "erfolgreich" ++msgstr "Erfolgreich" + + #: passwd.c:406 passwd.c:421 + msgid "Error (password not set?)" +@@ -217,16 +218,16 @@ + #: passwd.c:414 + #, c-format + msgid "Unlocking password for user %s.\n" +-msgstr "Entsperre Passwort für Benutzer %s.\n" ++msgstr "Entsperren Passwort für Benutzer %s.\n" + + #: passwd.c:420 + msgid "Unsafe operation (use -f to force)" +-msgstr "unsichere Operation (benutzen Sie -f zum Erzwingen)" ++msgstr "Unsichere Operation (benutzen Sie -f zum Erzwingen)" + + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "Kennwort für Benutzer %s verfallen lassen.\n" ++msgstr "Passwort für Benutzer %s verfallen lassen.\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" +@@ -235,17 +236,17 @@ + #: passwd.c:441 + #, c-format + msgid "Removing password for user %s.\n" +-msgstr "entferne Passwort für Benutzer %s.\n" ++msgstr "Entfernen Passwort für Benutzer %s.\n" + + #: passwd.c:461 + #, c-format + msgid "Adjusting aging data for user %s.\n" +-msgstr "justiere Verfallsdaten für Benutzer %s.\n" ++msgstr "justieren Verfallsdaten für Benutzer %s.\n" + + #: passwd.c:477 + #, c-format + msgid "Changing password for user %s.\n" +-msgstr "ändere Passwort für Benutzer %s.\n" ++msgstr "Ändern Passwort für Benutzer %s.\n" + + #: passwd.c:489 + #, c-format +@@ -270,9 +271,10 @@ + #: passwd.c:548 + #, c-format + msgid "%s: expired authentication tokens updated successfully.\n" +-msgstr "%s: abgelaufene Authentifizierungsmerkmale erfolgreich aktualisiert.\n" ++msgstr "" ++"%s: abgelaufene Authentifizierungs-Merkmale erfolgreich aktualisiert.\n" + + #: passwd.c:554 + #, c-format + msgid "%s: all authentication tokens updated successfully.\n" +-msgstr "%s: alle Authentifizierungsmerkmale erfolgreich aktualisiert.\n" ++msgstr "%s: alle Authentifizierungs-Merkmale erfolgreich aktualisiert.\n" +diff -urN a/passwd-0.79/po/es.po b/passwd-0.79/po/es.po +--- a/passwd-0.79/po/es.po 2014-01-18 17:04:45.987161768 +0530 ++++ b/passwd-0.79/po/es.po 2014-01-18 17:06:34.919047054 +0530 +@@ -1,23 +1,25 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Automatically generated, 2006 + # Claudio Rodrigo Pereyra Diaz , 2012 ++# gguerrer , 2014. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-02-02 13:16+0000\n" +-"Last-Translator: Claudio Rodrigo Pereyra Diaz \n" +-"Language-Team: Spanish \n" +-"Language: es\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2014-01-09 08:32-0500\n" ++"Last-Translator: gguerrer \n" ++"Language-Team: Spanish \n" ++"Language: es\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -54,7 +56,7 @@ + + #: libuser.c:288 + msgid "Password set, SHA512 crypt." +-msgstr "Contraseñaestablecida, cifrado SHA512." ++msgstr "Contraseña establecida, cifrado SHA512." + + #: libuser.c:290 + msgid "Password set, unknown crypt variant." +@@ -82,12 +84,12 @@ + #, c-format + msgid "%s: user account has no support for password aging.\n" + msgstr "" +-"%s: la cuenta del usuario no tiene soporte para envejecimiento de " +-"contraseña.\n" ++"%s: la cuenta del usuario no tiene soporte para envejecimiento de contraseña." ++"\n" + + #: passwd.c:158 + msgid "keep non-expired authentication tokens" +-msgstr "mantener los tokens de autenticación no expirados" ++msgstr "mantener las marcas de autenticación no vencidos" + + #: passwd.c:160 + msgid "delete the password for the named account (root only)" +@@ -99,7 +101,7 @@ + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "desbloquear la constraseña para la cuenta indicada (solo root)" ++msgstr "desbloquear la contraseña para la cuenta indicada (solo root)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +@@ -138,11 +140,11 @@ + + #: passwd.c:187 + msgid "read new tokens from stdin (root only)" +-msgstr "leer tokens nuevos desde stdin (solo root)" ++msgstr "leer símbolos nuevos desde stdin (solo root)" + + #: passwd.c:194 + msgid "[OPTION...] " +-msgstr "[OPCION...] " ++msgstr "[OPCIÓN...] " + + #: passwd.c:197 + #, c-format +@@ -265,14 +267,14 @@ + #: passwd.c:530 + #, c-format + msgid "%s: unable to set failure delay: %s\n" +-msgstr "%s: no se pudo poner la espera máxima para fallo: %s\n" ++msgstr "%s: no se pudo establecer la espera máxima para fallo: %s\n" + + #: passwd.c:548 + #, c-format + msgid "%s: expired authentication tokens updated successfully.\n" +-msgstr "%s: tokens de autenticación expirados actualizados con éxito.\n" ++msgstr "%s: símbolos de autenticación vencidos actualizados con éxito.\n" + + #: passwd.c:554 + #, c-format + msgid "%s: all authentication tokens updated successfully.\n" +-msgstr "%s: todos los tokens de autenticación se actualizaron exitosamente.\n" ++msgstr "%s: todos los símbolos de autenticación se actualizaron con éxito.\n" +diff -urN a/passwd-0.79/po/gu.po b/passwd-0.79/po/gu.po +--- a/passwd-0.79/po/gu.po 2014-01-18 17:04:45.981161719 +0530 ++++ b/passwd-0.79/po/gu.po 2014-01-18 17:05:26.207488348 +0530 +@@ -1,24 +1,26 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Ankit Patel , 2006 + # Automatically generated, 2006 + # sweta , 2009 ++# Ankit Patel , 2013. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-01-26 17:16+0000\n" +-"Last-Translator: Tomáš Mráz \n" +-"Language-Team: Gujarati \n" +-"Language: gu\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2013-12-20 07:19-0500\n" ++"Last-Translator: Ankit Patel \n" ++"Language-Team: Gujarati \n" ++"Language: gu\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -94,15 +96,15 @@ + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "" ++msgstr "નામવાળા ખાતા માટે પાસવર્ડને તાળું મારો (માત્ર રુટ)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "" ++msgstr "નામવાળા ખાતા માટે પાસવર્ડનું તાળું ખોલો (માત્ર રુટ)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +-msgstr "" ++msgstr "નામવાળા ખાતા માટે પાસવર્ડ નિવૃત્ત (માત્ર રુટ)" + + #: passwd.c:172 + msgid "force operation" +@@ -119,14 +121,17 @@ + #: passwd.c:178 + msgid "" + "number of days warning users receives before password expiration (root only)" +-msgstr "પાસવર્ડ સમયસમાપ્તિ પહેલાં વપરાશકર્તાઓ ચેતવણી મેળવે તે દિવસોની સંખ્યા (માત્ર રુટ)" ++msgstr "" ++"પાસવર્ડ સમયસમાપ્તિ પહેલાં વપરાશકર્તાઓ ચેતવણી મેળવે તે દિવસોની સંખ્યા (માત્ર " ++"રુટ)" + + #: passwd.c:181 + msgid "" + "number of days after password expiration when an account becomes disabled " + "(root only)" + msgstr "" +-"પાસવર્ડ સમયસમાપ્ત થાય પછી જ્યારે ખાતું નિષ્ક્રિય બની જાય તે દિવસોની સંખ્યા (માત્ર રુટ)" ++"પાસવર્ડ સમયસમાપ્ત થાય પછી જ્યારે ખાતું નિષ્ક્રિય બની જાય તે દિવસોની સંખ્યા " ++"(માત્ર રુટ)" + + #: passwd.c:184 + msgid "report password status on the named account (root only)" +@@ -193,7 +198,7 @@ + #: passwd.c:392 + #, c-format + msgid "%s: SELinux denying access due to security policy.\n" +-msgstr "" ++msgstr "%s: સુરક્ષા પૉલીસિના કારણે SELinux વપરાશ નામંજૂર કરી રહ્યું છે.\n" + + #: passwd.c:402 + #, c-format +@@ -220,7 +225,7 @@ + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "" ++msgstr "વપરાશકર્તા %s માટે પાસવર્ડ નિવૃત્ત થઇ રહ્યો છે.\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" +diff -urN a/passwd-0.79/po/hi.po b/passwd-0.79/po/hi.po +--- a/passwd-0.79/po/hi.po 2014-01-18 17:04:45.988161776 +0530 ++++ b/passwd-0.79/po/hi.po 2014-01-18 17:05:26.207488348 +0530 +@@ -1,24 +1,28 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Automatically generated, 2006 + # Rajesh Ranjan , 2007 + # Rajesh Ranjan , 2009 ++# Automatically generated, 2006. ++# Rajesh Ranjan , 2007. ++# Rajesh Ranjan , 2009, 2014. + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-01-26 17:17+0000\n" +-"Last-Translator: Tomáš Mráz \n" +-"Language-Team: Hindi \n" +-"Language: hi\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2014-01-02 06:39-0500\n" ++"Last-Translator: s \n" ++"Language-Team: Hindi \n" ++"Language: hi\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -82,7 +86,8 @@ + #: libuser.c:391 + #, c-format + msgid "%s: user account has no support for password aging.\n" +-msgstr "%s: उपयोक्ता खाता के खाते में शब्दकूट एजिंग के लिये कोई समर्थन नहीं है.\n" ++msgstr "" ++"%s: उपयोक्ता खाता के खाते में शब्दकूट एजिंग के लिये कोई समर्थन नहीं है.\n" + + #: passwd.c:158 + msgid "keep non-expired authentication tokens" +@@ -94,15 +99,15 @@ + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "" ++msgstr "नामित खाता के लिये कूटशब्द लॉक करें (सिर्फ रूट)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "" ++msgstr "नामित खाता के लिये कूटशब्द अनलॉक करें (सिर्फ रूट)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +-msgstr "" ++msgstr "नामित खाता के लिये कूटशब्द समय समाप्त करें (सिर्फ रूट)" + + #: passwd.c:172 + msgid "force operation" +@@ -120,14 +125,16 @@ + msgid "" + "number of days warning users receives before password expiration (root only)" + msgstr "" +-"शब्दकूट के समय समाप्त होने के लिये पहले उपयोक्ता प्राप्त करता है दिनों की संख्या (रूट सिर्फ)" ++"शब्दकूट के समय समाप्त होने के लिये पहले उपयोक्ता प्राप्त करता है दिनों की " ++"संख्या (रूट सिर्फ)" + + #: passwd.c:181 + msgid "" + "number of days after password expiration when an account becomes disabled " + "(root only)" + msgstr "" +-"शब्दकूट समय समाप्ति के बाद दिनों की संख्या जब एक खाता निष्क्रिय हो जाता है (सिर्फ रूट)" ++"शब्दकूट समय समाप्ति के बाद दिनों की संख्या जब एक खाता निष्क्रिय हो जाता है " ++"(सिर्फ रूट)" + + #: passwd.c:184 + msgid "report password status on the named account (root only)" +@@ -194,7 +201,7 @@ + #: passwd.c:392 + #, c-format + msgid "%s: SELinux denying access due to security policy.\n" +-msgstr "" ++msgstr "%s: SELinux सुरक्षा नीति के कारण पहुँच को मना कर रहा है.\n" + + #: passwd.c:402 + #, c-format +@@ -221,7 +228,7 @@ + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "" ++msgstr "%s उपयोक्ता के लिए कूटशब्द समाप्त हो रहा है.\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" +diff -urN a/passwd-0.79/po/ml.po b/passwd-0.79/po/ml.po +--- a/passwd-0.79/po/ml.po 2014-01-18 17:04:45.984161743 +0530 ++++ b/passwd-0.79/po/ml.po 2014-01-18 17:05:26.208488358 +0530 +@@ -1,23 +1,25 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Ani Peter , 2006 + # Automatically generated, 2006 ++# apeter , 2013. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-01-26 17:17+0000\n" +-"Last-Translator: Tomáš Mráz \n" +-"Language-Team: Malayalam \n" +-"Language: ml\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2013-12-30 01:52-0500\n" ++"Last-Translator: apeter \n" ++"Language-Team: Malayalam \n" ++"Language: ml\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -89,19 +91,23 @@ + + #: passwd.c:160 + msgid "delete the password for the named account (root only)" +-msgstr "പറഞ്ഞിരിക്കുന്ന അക്കൌണ്ടിന് പാസ്‌വേറ്‍ഡ് നീക്കം ചെയ്യുക (root-ന് മാത്റം അധികാരമുള്ളൂ)" ++msgstr "" ++"പറഞ്ഞിരിക്കുന്ന അക്കൌണ്ടിന് പാസ്‌വേറ്‍ഡ് നീക്കം ചെയ്യുക (root-ന് മാത്റം " ++"അധികാരമുള്ളൂ)" + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "" ++msgstr "പറഞ്ഞ അക്കൌണ്ടിനുള്ള രഹസ്യവാക്ക് പൂട്ടൂക (റൂട്ട് മാത്രം)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "" ++msgstr "പറഞ്ഞ അക്കൌണ്ടിനുള്ള രഹസ്യവാക്ക് ലഭ്യമാക്കുക (റൂട്ട് മാത്രം)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" + msgstr "" ++"പറഞ്ഞ അക്കൌണ്ടിനുള്ള രഹസ്യവാക്കിന്റെ കാലാവധി പൂര്‍ത്തിയാക്കുക (റൂട്ട് " ++"മാത്രം)" + + #: passwd.c:172 + msgid "force operation" +@@ -109,7 +115,8 @@ + + #: passwd.c:174 + msgid "maximum password lifetime (root only)" +-msgstr "പാസ്‌വേറ്‍ഡിനുളള ഏറ്റവും കൂടുതല്‍ കാലാവധി (root-ന് മാത്റം അധികാരമുള്ളൂ)" ++msgstr "" ++"പാസ്‌വേറ്‍ഡിനുളള ഏറ്റവും കൂടുതല്‍ കാലാവധി (root-ന് മാത്റം അധികാരമുള്ളൂ)" + + #: passwd.c:176 + msgid "minimum password lifetime (root only)" +@@ -119,25 +126,28 @@ + msgid "" + "number of days warning users receives before password expiration (root only)" + msgstr "" +-"പാസ്‌വേറ്‍ഡിന്‍റെ കാലാവധി അവസാനിക്കുന്നതിന് മുന്പ് യൂസറുകള്‍ക്ക് എത്റ ദിവസം മുന്നറിയിപ്പ് ലഭിക്കുന്നു " +-"(root-ന് മാത്റം അധികാരമുള്ളൂ)" ++"പാസ്‌വേറ്‍ഡിന്‍റെ കാലാവധി അവസാനിക്കുന്നതിന് മുന്പ് യൂസറുകള്‍ക്ക് എത്റ ദിവസം " ++"മുന്നറിയിപ്പ് ലഭിക്കുന്നു (root-ന് മാത്റം അധികാരമുള്ളൂ)" + + #: passwd.c:181 + msgid "" + "number of days after password expiration when an account becomes disabled " + "(root only)" + msgstr "" +-"പാസ്‌വേറ്‍ഡിന്‍റെ കാലാവധി അവസാനിച്ച ശേഷം യൂസറിന്‍റെ അക്കൌണ്ട് എത്റ ദിവസത്തിന് ശേഷംപ്റവറ്‍ത്തന " +-"രഹിതമാകുന്നു (root-ന് മാത്റം അധികാരമുള്ളൂ)" ++"പാസ്‌വേറ്‍ഡിന്‍റെ കാലാവധി അവസാനിച്ച ശേഷം യൂസറിന്‍റെ അക്കൌണ്ട് എത്റ " ++"ദിവസത്തിന് ശേഷംപ്റവറ്‍ത്തന രഹിതമാകുന്നു (root-ന് മാത്റം അധികാരമുള്ളൂ)" + + #: passwd.c:184 + msgid "report password status on the named account (root only)" + msgstr "" +-"പറഞ്ഞിരിക്കുന്ന അക്കൌണ്ടില്‍ പാസ്‌വേറ്‍ഡിന്‍റെ നിലവാരം വ്യക്തമാക്കുക (root-ന് മാത്റം അധികാരമുള്ളൂ)" ++"പറഞ്ഞിരിക്കുന്ന അക്കൌണ്ടില്‍ പാസ്‌വേറ്‍ഡിന്‍റെ നിലവാരം വ്യക്തമാക്കുക (root-" ++"ന് മാത്റം അധികാരമുള്ളൂ)" + + #: passwd.c:187 + msgid "read new tokens from stdin (root only)" +-msgstr "stdin-ല്‍ നിന്നും പുതിയ ടോക്കനുകള്‍ ലഭ്യമാക്കുക (root-ന് മാത്റം അധികാരമുള്ളൂ)" ++msgstr "" ++"stdin-ല്‍ നിന്നും പുതിയ ടോക്കനുകള്‍ ലഭ്യമാക്കുക (root-ന് മാത്റം " ++"അധികാരമുള്ളൂ)" + + #: passwd.c:194 + msgid "[OPTION...] " +@@ -157,8 +167,8 @@ + #, c-format + msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n" + msgstr "" +-"%s: -l, -u, -d, -S എന്നിവയില്‍ ഒന്ന് -i, -n, -w, -x എന്നിവയായി ചേറ്‍ത്ത് നല്‍കുവാന്‍ " +-"സാധ്യമല്ല.\n" ++"%s: -l, -u, -d, -S എന്നിവയില്‍ ഒന്ന് -i, -n, -w, -x എന്നിവയായി ചേറ്‍ത്ത് " ++"നല്‍കുവാന്‍ സാധ്യമല്ല.\n" + + #: passwd.c:286 + #, c-format +@@ -198,7 +208,7 @@ + #: passwd.c:392 + #, c-format + msgid "%s: SELinux denying access due to security policy.\n" +-msgstr "" ++msgstr "%s: സുരക്ഷ സംവിധാനം കാരണം SELinux പ്രവേശനം നിഷേധിയ്ക്കുന്നു.\n" + + #: passwd.c:402 + #, c-format +@@ -220,12 +230,13 @@ + + #: passwd.c:420 + msgid "Unsafe operation (use -f to force)" +-msgstr "പാടില്ലാത്ത പ്റക്റിയ (നിറ്‍ബന്ധപൂറ്‍വ്വം ചെയ്യുന്നതിന് -f ഉപയോഗിക്കുക)" ++msgstr "" ++"പാടില്ലാത്ത പ്റക്റിയ (നിറ്‍ബന്ധപൂറ്‍വ്വം ചെയ്യുന്നതിന് -f ഉപയോഗിക്കുക)" + + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "" ++msgstr "%s ഉപയോക്താവിനുള്ള രഹസ്യവാക്കിന്റെ കാലാവധി അവസാനിയ്ക്കുന്നു.\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" +@@ -269,9 +280,12 @@ + #: passwd.c:548 + #, c-format + msgid "%s: expired authentication tokens updated successfully.\n" +-msgstr "%s: കാലാവധി കഴിഞ്ഞ ഓഥന്‍റിക്കേഷന്‍ ടോക്കനുകള്‍ വിജയകരമായി പുതുക്കിയിരിക്കുന്നു.\n" ++msgstr "" ++"%s: കാലാവധി കഴിഞ്ഞ ഓഥന്‍റിക്കേഷന്‍ ടോക്കനുകള്‍ വിജയകരമായി " ++"പുതുക്കിയിരിക്കുന്നു.\n" + + #: passwd.c:554 + #, c-format + msgid "%s: all authentication tokens updated successfully.\n" +-msgstr "%s: എല്ലാ ഓഥന്‍റിക്കേഷന്‍ ടോക്കനുകളും വിജയകരമായി പുതുക്കിയിരിക്കുന്നു.\n" ++msgstr "" ++"%s: എല്ലാ ഓഥന്‍റിക്കേഷന്‍ ടോക്കനുകളും വിജയകരമായി പുതുക്കിയിരിക്കുന്നു.\n" +diff -urN a/passwd-0.79/po/mr.po b/passwd-0.79/po/mr.po +--- a/passwd-0.79/po/mr.po 2014-01-18 17:04:45.987161768 +0530 ++++ b/passwd-0.79/po/mr.po 2014-01-18 17:05:26.208488358 +0530 +@@ -1,25 +1,28 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Automatically generated, 2006 + # sandeep shedmake , 2007 + # Sandeep Shedmake , 2009 ++# Automatically generated, 2006. ++# sandeep shedmake , 2007. ++# Sandeep Shedmake , 2009, 2013. + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-01-26 17:16+0000\n" +-"Last-Translator: Tomáš Mráz \n" +-"Language-Team: Marathi (http://www.transifex.com/projects/p/fedora/language/" +-"mr/)\n" +-"Language: mr\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"PO-Revision-Date: 2013-12-24 01:58-0500\n" ++"Last-Translator: Sandeep Shedmake \n" ++"Language-Team: Marathi \n" ++"Language: mr\n" ++"Plural-Forms: nplurals=2; plural=(n!=1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -95,15 +98,15 @@ + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "" ++msgstr "नाव दिलेल्या खात्याकरिता पासवर्ड कुलूपबंद करा (फक्त रूट)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "" ++msgstr "नाव दिलेल्या खात्याकरिता पासवर्ड खुले करा (फक्त रूट)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +-msgstr "" ++msgstr "नाव दिलेल्या खात्याकरिता पासवर्डची वेळ समाप्ति करा (फक्त रूट)" + + #: passwd.c:172 + msgid "force operation" +@@ -121,7 +124,8 @@ + msgid "" + "number of days warning users receives before password expiration (root only)" + msgstr "" +-"गुप्तशब्द मुदत समाप्तीच्या पहिले वापरकर्त्यांना काहिक दिवसांची सावधानता मिळते (फक्त रूट)" ++"गुप्तशब्द मुदत समाप्तीच्या पहिले वापरकर्त्यांना काहिक दिवसांची सावधानता " ++"मिळते (फक्त रूट)" + + #: passwd.c:181 + msgid "" +@@ -194,7 +198,7 @@ + #: passwd.c:392 + #, c-format + msgid "%s: SELinux denying access due to security policy.\n" +-msgstr "" ++msgstr "%s: सुरक्षा करारमुळे SELinux प्रवेश नकारत आहे.\n" + + #: passwd.c:402 + #, c-format +@@ -221,7 +225,7 @@ + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "" ++msgstr "वापरकर्ता %s करिता पासवर्डची वेळसमाप्ति झाली.\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" +diff -urN a/passwd-0.79/po/or.po b/passwd-0.79/po/or.po +--- a/passwd-0.79/po/or.po 2014-01-18 17:04:45.986161760 +0530 ++++ b/passwd-0.79/po/or.po 2014-01-18 17:05:26.208488358 +0530 +@@ -1,25 +1,26 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Automatically generated, 2006 + # Manoj Kumar Giri , 2009 + # Subhransu Behera , 2006 + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-01-26 17:17+0000\n" +-"Last-Translator: Tomáš Mráz \n" +-"Language-Team: Oriya (http://www.transifex.com/projects/p/fedora/language/" +-"or/)\n" +-"Language: or\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2012-01-26 12:17-0500\n" ++"Last-Translator: Tomáš Mráz \n" ++"Language-Team: Oriya (http://www.transifex.com/projects/p/fedora/language/or/" ++")\n" ++"Language: or\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -95,15 +96,15 @@ + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "" ++msgstr "ଏହି ନାମର ଖାତା ପାଇଁ ପ୍ରବେଶ ସଂକେତକୁ ଅପରିବର୍ତ୍ତନୀୟ କରନ୍ତୁ (କେବଳ ରୁଟ)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "" ++msgstr "ଏହି ନାମର ଖାତା ପାଇଁ ପ୍ରବେଶ ସଂକେତକୁ ଖୋଲନ୍ତୁ (କେବଳ ରୁଟ)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +-msgstr "" ++msgstr "ଏହି ନାମର ଖାତା ପାଇଁ ପ୍ରବେଶ ସଂକେତର ସମୟ ସମାପ୍ତି ହୋଇଛି (କେବଳ ରୁଟ)" + + #: passwd.c:172 + msgid "force operation" +@@ -121,13 +122,15 @@ + msgid "" + "number of days warning users receives before password expiration (root only)" + msgstr "" +-"ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପୂର୍ବରୁ କେତେ ଦିନ ପର୍ଯ୍ଯନ୍ତ ଚାଳକ ଚେତାବନୀ ପ୍ରାପ୍ତ କରିବ (କେବଳ ରୁଟ)" ++"ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପୂର୍ବରୁ କେତେ ଦିନ ପର୍ଯ୍ଯନ୍ତ ଚାଳକ ଚେତାବନୀ ପ୍ରାପ୍ତ " ++"କରିବ (କେବଳ ରୁଟ)" + + #: passwd.c:181 + msgid "" + "number of days after password expiration when an account becomes disabled " + "(root only)" +-msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପରେ କେତେ ଦିନ ପରେ ଖାତାଟି ନିଷ୍କ୍ରିୟ ହୋଇଯିବ (କେବଳ ରୁଟ)" ++msgstr "" ++"ପ୍ରବେଶ ସଙ୍କେତ ଅକାମି ହେବା ପରେ କେତେ ଦିନ ପରେ ଖାତାଟି ନିଷ୍କ୍ରିୟ ହୋଇଯିବ (କେବଳ ରୁଟ)" + + #: passwd.c:184 + msgid "report password status on the named account (root only)" +@@ -155,7 +158,8 @@ + #, c-format + msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n" + msgstr "" +-"%s: -l, -u, -d, -S ମଧ୍ଯରୁ ଗୋଟିଏ ଏବଂ -i, -n, -w, -x ମଧ୍ଯରୁ ଗୋଟିଏକୁ ମିଶାଇ ହେବ ନାହିଁ।\n" ++"%s: -l, -u, -d, -S ମଧ୍ଯରୁ ଗୋଟିଏ ଏବଂ -i, -n, -w, -x ମଧ୍ଯରୁ ଗୋଟିଏକୁ ମିଶାଇ ହେବ " ++"ନାହିଁ।\n" + + #: passwd.c:286 + #, c-format +@@ -195,7 +199,7 @@ + #: passwd.c:392 + #, c-format + msgid "%s: SELinux denying access due to security policy.\n" +-msgstr "" ++msgstr "%s: SELinux ସୁରକ୍ଷା ଦୃଷ୍ଟିକୋଣରୁ ପ୍ରବେଶ ବାରଣ କରିଛି।\n" + + #: passwd.c:402 + #, c-format +@@ -222,7 +226,7 @@ + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "" ++msgstr "ବ୍ୟବହାରକାରୀ %s ପାଇଁ ପ୍ରବେଶ ସଂକେତର ସମୟ ସମାପ୍ତି ହେଉଛି।\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" +@@ -266,7 +270,8 @@ + #: passwd.c:548 + #, c-format + msgid "%s: expired authentication tokens updated successfully.\n" +-msgstr "%s: ଅକାମ ହୋଇଯାଇଥିବା ବୈଧିକୃତ ଟୋକେନ ମାନଙ୍କୁ ସଫଳତାର ସହିତ ଅଦ୍ଯତିତ କରାଯାଇଛି।\n" ++msgstr "" ++"%s: ଅକାମ ହୋଇଯାଇଥିବା ବୈଧିକୃତ ଟୋକେନ ମାନଙ୍କୁ ସଫଳତାର ସହିତ ଅଦ୍ଯତିତ କରାଯାଇଛି।\n" + + #: passwd.c:554 + #, c-format +diff -urN a/passwd-0.79/po/pa.po b/passwd-0.79/po/pa.po +--- a/passwd-0.79/po/pa.po 2014-01-18 17:04:45.981161719 +0530 ++++ b/passwd-0.79/po/pa.po 2014-01-18 17:05:26.208488358 +0530 +@@ -1,24 +1,26 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # A S Alam , 2009 + # A S Alam , 2006 + # Automatically generated, 2006 ++# asaini , 2013. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-01-26 17:17+0000\n" +-"Last-Translator: Tomáš Mráz \n" +-"Language-Team: Panjabi (Punjabi) \n" +-"Language: pa\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2013-12-20 09:54-0500\n" ++"Last-Translator: asaini \n" ++"Language-Team: Panjabi (Punjabi) \n" ++"Language: pa\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -27,117 +29,120 @@ + + #: libuser.c:157 + msgid "Warning: unlocked password would be empty." +-msgstr "ਚੇਤਾਵਨੀ: ਖੋਲ੍ਹਣ ਪਾਸਵਰਡ ਖਾਲੀ ਹੋਵੇਗਾ।" ++msgstr "ਚੇਤਾਵਨੀ: ਗੈਰ-ਤਾਲਾਬੰਦ ਗੁਪਤ-ਸ਼ਬਦ ਖਾਲੀ ਹੋਵੇਗਾ।" + + #: libuser.c:255 + msgid "Corrupted passwd entry." +-msgstr "ਨਿਕਾਰਾ ਪਾਸਵਰਡ ਐਂਟਰੀ ਹੈ।" ++msgstr "ਨਕਾਰਾ ਗੁਪਤ-ਸ਼ਬਦ ਇੰਦਰਾਜ ਹੈ।" + + #: libuser.c:272 + msgid "Empty password." +-msgstr "ਖਾਲੀ ਪਾਸਵਰਡ" ++msgstr "ਖਾਲੀ ਗੁਪਤ-ਸ਼ਬਦ।" + + #: libuser.c:275 + msgid "Password locked." +-msgstr "ਪਾਸਵਰਡ ਲਾਕ ਹੈ।" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਤਾਲਾਬੰਦ ਹੈ।" + + #: libuser.c:279 + msgid "Password set, MD5 crypt." +-msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ, MD੫ ਇੰਕ੍ਰਿਪਟ" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਦਿੱਤਾ, MD੫ ਕ੍ਰਿਪਟ।" + + #: libuser.c:282 + msgid "Password set, blowfish crypt." +-msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ, blowfish ਇੰਕ੍ਰਿਪਟ" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਦਿੱਤਾ, blowfish ਕ੍ਰਿਪਟ।" + + #: libuser.c:285 + msgid "Password set, SHA256 crypt." +-msgstr "ਪਾਸਵਰਡ ਸੈੱਟ, SHA੨੫੬ ਕ੍ਰਿਪਟ।" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਸੈੱਟ, SHA256 ਕ੍ਰਿਪਟ।" + + #: libuser.c:288 + msgid "Password set, SHA512 crypt." +-msgstr "ਪਾਸਵਰਡ ਸੈੱਟ, SHA੫੧੨ ਕ੍ਰਿਪਟ।" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਸੈੱਟ, SHA256 ਕ੍ਰਿਪਟ।" + + #: libuser.c:290 + msgid "Password set, unknown crypt variant." +-msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ, ਅਣਜਾਣ ਇੰਕ੍ਰਿਪਟ ਗੁਣ ਹੈ।" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਦਿੱਤਾ, ਅਣਜਾਣ ਕ੍ਰਿਪਟ ਗੁਣ ਹੈ।" + + #: libuser.c:293 + msgid "Alternate authentication scheme in use." +-msgstr "ਬਦਲਵਾਂ ਪਰਮਾਣਕਿਤਾ ਸਕੀਮ ਵਰਤੀ ਗਈ ਹੈ।" ++msgstr "ਬਦਲਵੀਂ ਪਰਮਾਣਿਕਤਾ ਤਰਕੀਬ ਵਰਤੋਂ ਵਿੱਚ।" + + #: libuser.c:298 + msgid "Password set, DES crypt." +-msgstr "ਪਾਸਵਰਡ ਦਿੱਤਾ DES ਦਿੱਤਾ" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਦਿੱਤਾ, DES ਕ੍ਰਿਪਟ।" + + #: libuser.c:311 + #, c-format + msgid "No password set.\n" +-msgstr "ਕੋਈ ਪਾਸਵਰਡ ਨਹੀਂ ਦਿੱਤਾ।\n" ++msgstr "ਕੋਈ ਗੁਪਤ-ਸ਼ਬਦ ਨਹੀਂ ਦਿੱਤਾ।\n" + + #: libuser.c:316 + #, c-format + msgid "Unknown user.\n" +-msgstr "ਅਣਜਾਣ ਯੂਜ਼ਰ\n" ++msgstr "ਅਣਪਛਾਤਾ ਯੂਜ਼ਰ\n" + + #: libuser.c:391 + #, c-format + msgid "%s: user account has no support for password aging.\n" +-msgstr "%s ਯੂਜ਼ਰ ਅਕਾਊਂਟ ਪਾਸਵਰਡ ਉਮਰ ਨਾਲ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ।\n" ++msgstr "%s: ਯੂਜ਼ਰ ਖਾਤੇ ਕੋਲ ਗੁਪਤ-ਸ਼ਬਦ ਦੀ ਮਿਆਦ ਲਈ ਕੋਈ ਸਮਰਥਨ ਨਹੀਂ ਹੈ।\n" + + #: passwd.c:158 + msgid "keep non-expired authentication tokens" +-msgstr "ਨਾ-ਮਿਆਦ ਪੱਗੇ ਪਰਮਾਣਿਕਤਾ ਟੋਕਣ ਰੱਖੋ" ++msgstr "ਮਿਆਦ ਨਾ ਪੁੱਗੇ ਪਰਮਾਣਿਕਤਾ ਟੋਕਨ ਰੱਖੋ" + + #: passwd.c:160 + msgid "delete the password for the named account (root only)" +-msgstr "ਨਾਮੀ ਅਕਾਊਂਟ ਲਈ ਪਾਸਵਰਡ ਹਟਾਓ (root ਲਈ)" ++msgstr " ਦਿੱਤੇ ਗਏ ਨਾਂ ਵਾਲੇ ਖਾਤੇ ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਮਿਟਾਉ(ਸਿਰਫ ਰੂਟ)" + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "" ++msgstr "ਦਿੱਤੇ ਗਏ ਨਾਂ ਵਾਲੇ ਵਾਲੇ ਖਾਤੇ ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਨੂੰ ਤਾਲਾਬੰਦ ਕਰੋ (ਸਿਰਫ ਰੂਟ)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "" ++msgstr "ਦਿੱਤੇ ਗਏ ਨਾਂ ਵਾਲੇ ਖਾਤੇ ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਦਾ ਤਾਲਾ ਖੋਲ੍ਹੋ (ਸਿਰਫ ਰੂਟ)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +-msgstr "" ++msgstr "ਦਿੱਤੇ ਗਏ ਨਾਂ ਵਾਲੇ ਖਾਤੇ ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਦੀ ਮਿਆਦ ਪੁਗਾ ਦਿਉ (ਸਿਰਫ ਰੂਟ)" + + #: passwd.c:172 + msgid "force operation" +-msgstr "ਧੱਕੇ ਨਾਲ" ++msgstr "ਧੱਕੇ ਨਾਲ ਕਾਰਵਾਈ ਕਰੋ" + + #: passwd.c:174 + msgid "maximum password lifetime (root only)" +-msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਪਾਸਵਰਡ ਉਮਰ (root ਹੀ)" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਮਿਆਦ (ਸਿਰਫ ਰੂਟ)" + + #: passwd.c:176 + msgid "minimum password lifetime (root only)" +-msgstr "ਘੱਟੋ-ਘੱਟ ਪਾਸਵਰਡ ਉਮਰ (root ਹੀ)" ++msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਦੀ ਘੱਟ ਤੋਂ ਘੱਟ ਮਿਆਦ (ਸਿਰਫ ਰੂਟ)" + + #: passwd.c:178 + msgid "" + "number of days warning users receives before password expiration (root only)" +-msgstr "ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗਣ (root ਲਈ) ਤੋਂ ਪਹਿਲਾਂ ਯੂਜ਼ਰਾਂ ਨੂੰ ਚੇਤਾਵਨੀ ਦੇਣ ਲਈ ਦਿਨ" ++msgstr "" ++"ਗੁਪਤ-ਸ਼ਬਦ ਦੀ ਮਿਆਦ ਪੁੱਗਣ (ਸਿਰਫ ਰੂਟ) ਤੋਂ ਪਹਿਲਾਂ ਯੂਜ਼ਰਾਂ ਨੂੰ ਚੇਤਾਵਨੀ ਦੇਣ ਲਈ " ++"ਦਿਨਾਂ ਦੀ ਗਿਣਤੀ" + + #: passwd.c:181 + msgid "" + "number of days after password expiration when an account becomes disabled " + "(root only)" +-msgstr "ਅਕਾਊਂਟ ਬੰਦ ਕਰਨ (root ਲਈ) ਲਈ ਮਿਆਦ ਪੁੱਗਣ ਬਾਰੇ ਦਿਨ ਬਾਰੇ ਦੱਸ ਜੀ" ++msgstr "" ++"ਗੁਪਤ-ਸ਼ਬਦ ਦੀ ਮਿਆਦ ਪੁੱਗਣ ਤੋਂ ਬਾਅਦ ਖਾਤਾ ਬੰਦ ਕਰਨ (ਸਿਰਫ ਰੂਟ) ਦਿਨਾਂ ਦੀ ਗਿਣਤੀ" + + #: passwd.c:184 + msgid "report password status on the named account (root only)" +-msgstr "ਨਾਮੀ ਅਕਾਊਂਟ (root ਲਈ) ਲਈ ਪਾਸਵਰਡ ਹਾਲਤ ਰਿਪੋਰਟ ਕਰੋ" ++msgstr "ਦਿੱਤੇ ਗਏ ਨਾਂ ਵਾਲੇ ਖਾਤੇ (ਸਿਰਫ ਰੂਟ) ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਦੀ ਹਾਲਤ ਦੀ ਸੂਚਨਾ ਦਿਉ" + + #: passwd.c:187 + msgid "read new tokens from stdin (root only)" +-msgstr "stdin (root only) ਤੋਂ ਨਵੇਂ ਟੋਕਨ ਪੜ੍ਹੋ" ++msgstr "stdin (ਸਿਰਫ ਰੂਟ) ਤੋਂ ਨਵੇਂ ਟੋਕਨ ਪੜ੍ਹੋ" + + #: passwd.c:194 + msgid "[OPTION...] " +-msgstr "[OPTION...] " ++msgstr "[ਚੋਣ...] " + + #: passwd.c:197 + #, c-format +@@ -147,61 +152,63 @@ + #: passwd.c:258 + #, c-format + msgid "%s: Only one of -l, -u, -d, -S may be specified.\n" +-msgstr "%s: Only one of -l, -u, -d, -S may be specified.\n" ++msgstr "%s: -l, -u, -d, -S ਵਿੱਚੋਂ ਸਿਰਫ ਇੱਕ ਦਰਸਾਇਆ ਜਾ ਸਕਦਾ।\n" + + #: passwd.c:267 + #, c-format + msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n" +-msgstr "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n" ++msgstr "" ++"%s: -l, -u, -d, -S ਵਿੱਚੋਂ ਇੱਕ ਅਤੇ -i, -n, -w, -x ਵਿੱਚੋਂ ਇੱਕ ਨੂੰ ਮਿਸ਼ਰਤ ਨਹੀਂ " ++"ਕਰ ਸਕਦਾ।\n" + + #: passwd.c:286 + #, c-format + msgid "Only root can do that.\n" +-msgstr "ਸਿਰਫ root ਹੀ ਕਰ ਸਕਦਾ ਹੈ।\n" ++msgstr "ਸਿਰਫ ਰੂਟ ਹੀ ਉਹ ਕਰ ਸਕਦਾ ਹੈ।\n" + + #: passwd.c:299 + #, c-format + msgid "%s: Only root can specify a user name.\n" +-msgstr "%s: root ਹੀ ਇੱਕ ਯੂਜ਼ਰ ਨਾਂ ਦੇ ਸਕਦਾ ਹੈ।\n" ++msgstr "%s: ਸਿਰਫ ਰੂਟ ਹੀ ਇੱਕ ਯੂਜ਼ਰ ਨਾਂ ਦੇ ਸਕਦਾ ਹੈ।\n" + + #: passwd.c:308 + #, c-format + msgid "%s: The user name supplied is too long.\n" +-msgstr "%s: ਯੂਜ਼ਰ ਨਾਂ ਬਹੁਤ ਲੰਮਾ ਹੈ\n" ++msgstr "%s: ਦਿੱਤਾ ਗਿਆ ਯੂਜ਼ਰ ਨਾਂ ਬਹੁਤ ਲੰਮਾ ਹੈ\n" + + #: passwd.c:318 + #, c-format + msgid "%s: Only one user name may be specified.\n" +-msgstr "%s: ਸਿਰਫ਼ ਇੱਕ ਯੂਜ਼ਰ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ\n" ++msgstr "%s: ਸਿਰਫ਼ ਇੱਕ ਯੂਜ਼ਰ ਨਾਂ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ\n" + + #: passwd.c:328 + #, c-format + msgid "%s: This option requires a user name.\n" +-msgstr "%s: ਯੂਜ਼ਰ ਨਾਂ ਨਾਲ ਇਹ ਚੋਣ ਲੋੜੀਦੀ ਹੈ।\n" ++msgstr "%s: ਇਸ ਚੋਣ ਨੂੰ ਇੱਕ ਯੂਜ਼ਰ ਨਾਂ ਲੋੜੀਂਦਾ ਹੈ।\n" + + #: passwd.c:339 + #, c-format + msgid "%s: Can not identify you!\n" +-msgstr "%s: ਤੁਹਾਨੂੰ ਪਛਾਣ ਨਹੀਂ ਦੇ ਸਕਦਾ!\n" ++msgstr "%s: ਤੁਹਾਨੂੰ ਪਛਾਣ ਨਹੀਂ ਸਕਦਾ!\n" + + #: passwd.c:348 passwd.c:383 + #, c-format + msgid "%s: Unknown user name '%s'.\n" +-msgstr "%s: ਅਣਜਾਣ ਯੂਜ਼ਰ ਨਾਂ '%s'\n" ++msgstr "%s: ਅਣਪਛਾਤਾ ਯੂਜ਼ਰ ਨਾਂ '%s'\n" + + #: passwd.c:392 + #, c-format + msgid "%s: SELinux denying access due to security policy.\n" +-msgstr "" ++msgstr "%s: ਸੁਰੱਖਿਆ ਨੀਤੀ ਦੇ ਕਰ ਕੇ SELinux ਦਖਲ ਤੋਂ ਇਨਕਾਰੀ ਹੈ।\n" + + #: passwd.c:402 + #, c-format + msgid "Locking password for user %s.\n" +-msgstr "ਯੂਜ਼ਰ %s ਲਈ ਪਾਸਵਰਡ ਲਾਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ\n" ++msgstr "ਯੂਜ਼ਰ %s ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਤਾਲਾਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।\n" + + #: passwd.c:406 passwd.c:418 passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Success" +-msgstr "ਸਫ਼ਲ ਹੈ" ++msgstr "ਸਫ਼ਲਤਾ" + + #: passwd.c:406 passwd.c:421 + msgid "Error (password not set?)" +@@ -210,7 +217,7 @@ + #: passwd.c:414 + #, c-format + msgid "Unlocking password for user %s.\n" +-msgstr "%s ਯੂਜ਼ਰ ਲਈ ਲਾਕ ਖੋਲ੍ਹਿਆ ਜਾਂਦਾ ਹੈ\n" ++msgstr "ਯੂਜ਼ਰ %s ਲਈ ਤਾਲ੍ਹਾ ਖੋਲ੍ਹਿਆ ਜਾ ਰਿਹਾ\n" + + #: passwd.c:420 + msgid "Unsafe operation (use -f to force)" +@@ -219,7 +226,7 @@ + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "" ++msgstr "ਯੂਜ਼ਰ %s ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਮਿਆਦ ਪੁਗਾ ਰਿਹਾ\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" +@@ -228,44 +235,44 @@ + #: passwd.c:441 + #, c-format + msgid "Removing password for user %s.\n" +-msgstr "ਯੂਜ਼ਰ %s ਲਈ ਪਾਸਵਰਡ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ\n" ++msgstr "ਯੂਜ਼ਰ %s ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ।\n" + + #: passwd.c:461 + #, c-format + msgid "Adjusting aging data for user %s.\n" +-msgstr "%s ਯੂਜ਼ਰ ਲਈ ਉਮਰ ਡਾਟਾ ਠੀਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ\n" ++msgstr "%s ਯੂਜ਼ਰ ਲਈ ਮਿਆਦ ਡਾਟਾ ਠੀਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।\n" + + #: passwd.c:477 + #, c-format + msgid "Changing password for user %s.\n" +-msgstr "%s ਲਈ ਪਾਸਵਰਡ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ\n" ++msgstr "%s ਲਈ ਗੁਪਤ-ਸ਼ਬਦ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ।\n" + + #: passwd.c:489 + #, c-format + msgid "%s: error reading from stdin: %s\n" +-msgstr "%s: stdin ਤੋਂ ਪੜ੍ਹਨ ਲਈ ਅਸਫ਼ਲ: %s\n" ++msgstr "%s: stdin ਤੋਂ ਪੜ੍ਹਨ ਵਿੱਚ ਅਸਫ਼ਲ: %s\n" + + #: passwd.c:506 + #, c-format + msgid "%s: unable to start pam: %s\n" +-msgstr "%s: ਪੈਮ ਸੁਰੂ ਕਰਨ ਲਈ ਫੇਲ੍ਹ: %s\n" ++msgstr "%s: ਪੈਮ ਸੁਰੂ ਕਰਨ ਤੋਂ ਅਸਮਰੱਥ: %s\n" + + #: passwd.c:519 + #, c-format + msgid "%s: unable to set tty for pam: %s\n" +-msgstr "%s: pam ਲਈ tty ਦੇਣ ਲਈ ਫੇਲ੍ਹ: %s\n" ++msgstr "%s: pam ਲਈ tty ਸੈੱਟ ਕਰਨ ਤੋਂ ਅਸਮਰੱਥ: %s\n" + + #: passwd.c:530 + #, c-format + msgid "%s: unable to set failure delay: %s\n" +-msgstr "%s: ਫੇਲ੍ਹ ਅੰਤਰਾਲ ਦੇਣ ਲਈ ਅਸਫ਼ਲ: %s\n" ++msgstr "%s: ਅਸਫਲਤਾ ਅੰਤਰਾਲ ਸੈੱਟ ਕਰਨ ਤੋਂ ਅਸਮਰੱਥ: %s\n" + + #: passwd.c:548 + #, c-format + msgid "%s: expired authentication tokens updated successfully.\n" +-msgstr "%s ਮਿਆਦ ਪੁੱਗੇ ਪਰਮਾਣਕਿਤਾ ਟੋਕਨ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ।\n" ++msgstr "%s ਮਿਆਦ ਪੁੱਗੇ ਪਰਮਾਣਿਕਤਾ ਸਫਲਤਾਪੂਰਵਕ ਟੋਕਨ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ।\n" + + #: passwd.c:554 + #, c-format + msgid "%s: all authentication tokens updated successfully.\n" +-msgstr "%s: ਸਭ ਪਰਮਾਣਕਿਤਾ ਟੋਕਨ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ ਹਨ\n" ++msgstr "%s: ਸਭ ਪਰਮਾਣਿਕਤਾ ਟੋਕਨ ਸਫਲਤਾਪੂਰਵਕ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ।\n" +diff -urN a/passwd-0.79/po/ta.po b/passwd-0.79/po/ta.po +--- a/passwd-0.79/po/ta.po 2014-01-18 17:04:45.983161735 +0530 ++++ b/passwd-0.79/po/ta.po 2014-01-18 17:05:26.208488358 +0530 +@@ -1,24 +1,26 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Red Hat, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Translators: + # Automatically generated, 2006 + # Felix , 2006 + # I. Felix , 2009 ++# shkumar , 2013. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: passwd\n" ++"Project-Id-Version: passwd 0.79\n" + "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" + "POT-Creation-Date: 2013-06-22 02:09+0200\n" +-"PO-Revision-Date: 2012-01-26 17:17+0000\n" +-"Last-Translator: Tomáš Mráz \n" +-"Language-Team: Tamil \n" +-"Language: ta\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2013-12-24 03:51-0500\n" ++"Last-Translator: shkumar \n" ++"Language-Team: Tamil \n" ++"Language: ta\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.2.1\n" + + #: libuser.c:91 + #, c-format +@@ -94,15 +96,15 @@ + + #: passwd.c:163 + msgid "lock the password for the named account (root only)" +-msgstr "" ++msgstr "பெயரிடப்பட்ட கணக்குக்கான கடவுச்சொல்லை பூட்டு (ரூட் மட்டும்)" + + #: passwd.c:166 + msgid "unlock the password for the named account (root only)" +-msgstr "" ++msgstr "பெயரிடப்பட்ட கணக்குக்கான கடவுச்சொல்லை பூட்டுநீக்கு (ரூட் மட்டும்)" + + #: passwd.c:169 + msgid "expire the password for the named account (root only)" +-msgstr "" ++msgstr "பெயரிடப்பட்ட கணக்குக்கான கடவுச்சொல்லை காலாவதியாக்கு (ரூட் மட்டும்)" + + #: passwd.c:172 + msgid "force operation" +@@ -120,13 +122,16 @@ + msgid "" + "number of days warning users receives before password expiration (root only)" + msgstr "" +-"கடவுச்சொல் முடிவுறுவதற்கு முன் பயனர்கள் பெறும் எச்சரிக்கை நாட்களின் எண்ணிக்கை (ரூட் மட்டும்)" ++"கடவுச்சொல் முடிவுறுவதற்கு முன் பயனர்கள் பெறும் எச்சரிக்கை நாட்களின் " ++"எண்ணிக்கை (ரூட் மட்டும்)" + + #: passwd.c:181 + msgid "" + "number of days after password expiration when an account becomes disabled " + "(root only)" +-msgstr "கடவுச்சொல் முடிந்த பின் கணக்கு செயல்நீக்கப்படும் நாட்களின் எண்ணிக்கை (ரூட் மட்டும்)" ++msgstr "" ++"கடவுச்சொல் முடிந்த பின் கணக்கு செயல்நீக்கப்படும் நாட்களின் எண்ணிக்கை (ரூட் " ++"மட்டும்)" + + #: passwd.c:184 + msgid "report password status on the named account (root only)" +@@ -154,7 +159,8 @@ + #, c-format + msgid "%s: Cannot mix one of -l, -u, -d, -S and one of -i, -n, -w, -x.\n" + msgstr "" +-"%s: -l, -u, -d, -S இல் ஒன்று மற்றும் -i, -n, -w, -x இல் ஒன்றை கலக்க முடியாது.\n" ++"%s: -l, -u, -d, -S இல் ஒன்று மற்றும் -i, -n, -w, -x இல் ஒன்றை கலக்க " ++"முடியாது.\n" + + #: passwd.c:286 + #, c-format +@@ -194,7 +200,7 @@ + #: passwd.c:392 + #, c-format + msgid "%s: SELinux denying access due to security policy.\n" +-msgstr "" ++msgstr "%s: பாதுகாப்பு கொள்கையின் காரணமாக SELinux அணுகலை மறுக்கிறது.\n" + + #: passwd.c:402 + #, c-format +@@ -221,7 +227,7 @@ + #: passwd.c:429 + #, c-format + msgid "Expiring password for user %s.\n" +-msgstr "" ++msgstr "பயனர் %s க்கான கடவுச்சொல்லை காலாவதியாக்குகிறது.\n" + + #: passwd.c:433 passwd.c:444 passwd.c:464 + msgid "Error" diff --git a/SPECS/passwd.spec b/SPECS/passwd.spec new file mode 100644 index 0000000..9b24fcb --- /dev/null +++ b/SPECS/passwd.spec @@ -0,0 +1,324 @@ +%if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} +%define WITH_SELINUX 1 +%endif +%if %{?WITH_AUDIT:0}%{!?WITH_AUDIT:1} +%define WITH_AUDIT 1 +%endif +Summary: An utility for setting or changing passwords using PAM +Name: passwd +Version: 0.79 +Release: 6%{?dist} +License: BSD or GPL+ +Group: System Environment/Base +URL: https://pagure.io/%{name} +Source: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.bz2 +Patch0: passwd-0.79-translation-updates.patch +# Backport ca46cac (rhbz#1276570) +Patch1: passwd-0.79-no-length-limit-stdin-passwords.patch +# Backport Steve Grubb's patches c461efa^..e2a9bdf (rhbz#1489086, rhbz#1638105) +Patch2: passwd-0.79-auditing.patch +# Backport 02d4478 (rhbz#1145256) +Patch3: passwd-0.79-document-S-option.patch +# Fix incorrect -S output when password field in /etc/passwd is empty but the +# password information in /etc/shadow is present (rhbz#1686436) +Patch4: passwd-0.79-incorrect-S-report.patch +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires: pam >= 1.0.90, /etc/pam.d/system-auth +%if %{WITH_SELINUX} +Requires: libselinux >= 2.1.6-3 +BuildRequires: libselinux-devel >= 2.1.6-3 +%endif +BuildRequires: glib2-devel, libuser-devel, pam-devel, libuser >= 0.53-1 +BuildRequires: gettext, popt-devel +%if %{WITH_AUDIT} +BuildRequires: audit-libs-devel >= 1.0.14 +Requires: audit-libs >= 1.0.14 +%endif + +%description +This package contains a system utility (passwd) which sets +or changes passwords, using PAM (Pluggable Authentication +Modules) library. + +%prep +%setup -q -n %{name}-%{version} +# Remove the (make -C po update-gmo) below when removing the patch. +%patch0 -p2 -b .translation-updates +%patch1 -p1 -b .length-limit +%patch2 -p1 -b .auditing +%patch3 -p1 -b .doc-S-opt +%patch4 -p1 -b .S-report + +%build +%configure \ +%if %{WITH_SELINUX} + --with-selinux \ +%else + --without-selinux \ +%endif +%if %{WITH_AUDIT} + --with-audit +%else + --without-audit +%endif +make DEBUG= RPM_OPT_FLAGS="$RPM_OPT_FLAGS" +# (make -C po all) doesn't update the .gmo files for the patched .po, force it. +make -C po update-gmo + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/ +install -m 644 passwd.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/passwd +%find_lang %{name} +for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do + dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||") + lang=$(basename $dir) + echo "%%lang($lang) $dir/man*/*" >> %{name}.lang +done + + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %{name}.lang +%defattr(-,root,root,-) +%doc AUTHORS COPYING ChangeLog NEWS +%config(noreplace) %{_sysconfdir}/pam.d/passwd +%attr(4755,root,root) %{_bindir}/passwd +%{_mandir}/man1/passwd.1* + +%changelog +* Mon Aug 12 2019 Jiri Kucera - 0.79-6 +- Fix incorrect -S output when password field in /etc/passwd is empty but the + password information in /etc/shadow is set + Resolves: #1686436 + +* Fri Mar 22 2019 Jiri Kucera - 0.79-5 +- Backport ca46cac (allow passwords longer than 79 characters) + Backport Steve Grubb's patches + - stop double auditing, use appropriate record types, update op field in + audit events, don't audit status check, fix password aging logging + Backport 02d4478 (better document -S option) + Fix URL and Source tags + Resolves: #1276570, #1489086, #1638105, #1145256, #1472567 + +* Thu Jan 30 2014 Miloslav Trmač - 0.79-4 +- Include updated translations + Resolves: #1044298 + +* Fri Jan 24 2014 Daniel Mach - 0.79-3 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 0.79-2 +- Mass rebuild 2013-12-27 + +* Sat Jun 22 2013 Miloslav Trmač - 0.79-1 +- Update to passwd-0.79 + Resolves: #926312, #948790 + +* Thu Feb 14 2013 Fedora Release Engineering - 0.78.99-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Dec 4 2012 Miloslav Trmač - 0.78.99-3 +- Fix License: + +* Fri Jul 20 2012 Fedora Release Engineering - 0.78.99-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 27 2012 Tomas Mraz 0.78.99-1 +- use better (auditable) libselinux calls for checking + the access to passwd (#518268) +- add support for the -e option as seen on Debian passwd +- make the binary PIE and full RELRO (#784483) + +* Fri Jan 13 2012 Fedora Release Engineering - 0.78-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Tomas Mraz 0.78-3 +- add the postlogin substack to the PAM configuration (#665063) + +* Fri Jul 16 2010 Tomas Mraz 0.78-1 +- added japanese translation of the man page (#611692) +- updated translations + +* Tue Apr 6 2010 Tomas Mraz 0.77-5 +- first part of fix for pam_gnome_keyring prompting (#578624) + needs support for use_authtok to be added to pam_gnome_keyring + +* Thu Jan 28 2010 Tomas Mraz 0.77-4 +- add COPYING and other things to doc +- correct the licence field + +* Mon Sep 14 2009 Tomas Mraz 0.77-1 +- updated translations +- improved manual page + +* Wed Feb 11 2009 Tomas Mraz 0.76-1 +- identify SHA-256 and SHA-512 password hashes (#484994) + +* Tue Apr 8 2008 Tomas Mraz 0.75-2 +- add optional pam_gnome_keyring module to passwd pam + config (#441225) + +* Wed Feb 20 2008 Tomas Mraz 0.75-1 +- fix disabling SELinux and audit in spec (#433284) +- remove obsolete no.po (#332121) +- updated translations + +* Tue Sep 25 2007 Tomas Mraz 0.74-5 +- buildrequires popt-devel + +* Wed Aug 22 2007 Tomas Mraz 0.74-4 +- spec file cleanups + +* Thu Apr 5 2007 Tomas Mraz 0.74-3 +- use std buildroot, add dist tag (#226232) + +* Tue Jan 30 2007 Tomas Mraz 0.74-2 +- do not explicitly strip the binary + +* Tue Dec 12 2006 Tomas Mraz 0.74-1 +- minor fixes in error reporting +- localize messages (#204022) + +* Mon Jul 17 2006 Tomas Mraz 0.73-1 +- fixed broken logic from the last change (#196851) + +* Fri Jul 14 2006 Tomas Mraz 0.72-1 +- merged audit patch to upstream cvs +- improved passwd -S output (#170344) +- make passwd -d work with stripped down proc (#196851) +- corrected link to pam docs (#193084) +- spec file cleanups + +* Wed Jul 12 2006 Jesse Keating - 0.71-3.2.1 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 0.71-3.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 0.71-3.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Tue Jan 31 2006 Steve Grubb 0.71-3 +- Adjust audit patch so it builds without libaudit + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Oct 25 2005 Steve Grubb 0.71-2 +- adjust audit communication to use common logging functions + +* Fri Oct 7 2005 Tomas Mraz 0.71-1 +- use include instead of pam_stack in pam config + +* Fri Jun 17 2005 Tomas Mraz 0.70-1 +- replace laus with audit +- auto* build changes + +* Fri Jan 28 2005 Jindrich Novy 0.69-1 +- spec file fixes +- add libuser >= 0.53-1 BuildPrereq (#139331) + +* Tue Jan 25 2005 Dan Walsh +- improve SELinux priv checking + +* Mon Aug 23 2004 Jindrich Novy +- applied cleanup patch from Steve Grubb #120060 +- fixed man page #115380 +- added libselinux-devel to BuildPrereq #123750, #119416 + +* Thu Aug 19 2004 Jindrich Novy 0.68-10 +- moved to 0.68-10 to fix problem with RHEL4-Alpha4 #129548 +- updated GNU build scripts and file structure to recent style + +* Wed Feb 4 2004 Dan Walsh 0.68-8 +- add check for enforcing mode + +* Mon Jan 26 2004 Dan Walsh 0.68-7 +- fix is_selinux_enabled + +* Fri Sep 5 2003 Dan Walsh 0.68-6 +- turn off selinux + +* Fri Sep 5 2003 Dan Walsh 0.68-5.sel +- Add SELinux support + +* Mon Jul 28 2003 Dan Walsh 0.68-4 +- Add SELinux support + +* Thu Feb 13 2003 Nalin Dahyabhai 0.68-3 +- add aging adjustment flags to passwd(1)'s synopsis, were just in the + reference section before + +* Mon Jan 27 2003 Nalin Dahyabhai 0.68-2 +- rebuild + +* Mon Dec 9 2002 Nalin Dahyabhai 0.68-1 +- implement aging adjustments for pwdb + +* Mon Nov 11 2002 Nalin Dahyabhai 0.67-4 +- modify default PAM configuration file to not specify directories, so that + the same configuration can be used for all arches on multilib systems +- fix BuildPrereq on glib-devel to specify glib2-devel instead +- remove unpackaged files in %%install phase + +* Tue May 28 2002 Nalin Dahyabhai 0.67-3 +- rebuild + +* Mon May 20 2002 Nalin Dahyabhai 0.67-2 +- rebuild in new environment + +* Wed Mar 13 2002 Nalin Dahyabhai 0.67-1 +- add the -i, -n, -w, and -x options to passwd + +* Mon Mar 11 2002 Nalin Dahyabhai 0.65-5 +- rebuild + +* Mon Feb 25 2002 Nalin Dahyabhai 0.65-4 +- rebuild + +* Fri Feb 22 2002 Nalin Dahyabhai 0.65-3 +- rebuild + +* Thu Jan 31 2002 Nalin Dahyabhai 0.65-2 +- rebuild to get dependencies right + +* Tue Jan 29 2002 Nalin Dahyabhai 0.65-1 +- change dependency from pwdb to libuser + +* Fri Jan 25 2002 Nalin Dahyabhai 0.64.1-9 +- rebuild + +* Thu Aug 30 2001 Nalin Dahyabhai 0.64.1-8 +- man page fix (-r is the opposite of -l, not --stdin, which precedes it) + from Felipe Gustavo de Almeida + +* Mon Aug 6 2001 Nalin Dahyabhai 0.64.1-7 +- fix unguarded printf() (noted by Chris Evans) +- add missing build dependency on pwdb and pam-devel (#49550) + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jun 5 2000 Nalin Dahyabhai +- move man pages to _mandir + +* Thu Jun 1 2000 Nalin Dahyabhai +- modify PAM setup to use system-auth +- modify for building as non-root users + +* Mon Feb 7 2000 Bill Nottingham +- fix manpage links + +* Fri Feb 04 2000 Nalin Dahyabhai +- document --stdin in man page +- fix for gzipped man pages + +* Sat Apr 10 1999 Cristian Gafton +- first build from the new source code base.