From 5f1d933b2c14d9408d91f2843c29222a71e1564f Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Tue, 20 Apr 2010 15:16:49 +0000 Subject: [PATCH 01/85] - update to 2.8.16 --- .cvsignore | 1 + cracklib-2.8.15-suffix.patch | 24 ------------------------ cracklib.spec | 9 +++++---- sources | 2 +- 4 files changed, 7 insertions(+), 29 deletions(-) delete mode 100644 cracklib-2.8.15-suffix.patch diff --git a/.cvsignore b/.cvsignore index 4bccca1..f6dfe98 100644 --- a/.cvsignore +++ b/.cvsignore @@ -40,3 +40,4 @@ cracklib-2.8.12.tar.gz cracklib-2.8.13.tar.gz cracklib-2.8.15.tar.gz cracklib-words-20080507.gz +cracklib-2.8.16.tar.gz diff --git a/cracklib-2.8.15-suffix.patch b/cracklib-2.8.15-suffix.patch deleted file mode 100644 index 3b3c50f..0000000 --- a/cracklib-2.8.15-suffix.patch +++ /dev/null @@ -1,24 +0,0 @@ -Where possible, actually use the name of the file that we couldn't find. -SF#2907104. - -diff -up cracklib-2.8.15/python/_cracklibmodule.c cracklib-2.8.15/python/_cracklibmodule.c ---- cracklib-2.8.15/python/_cracklibmodule.c 2009-11-18 18:58:20.000000000 -0500 -+++ cracklib-2.8.15/python/_cracklibmodule.c 2009-12-01 15:14:21.000000000 -0500 -@@ -101,7 +101,7 @@ _cracklib_FascistCheck(PyObject *self, P - sprintf(dictfile, "%s" DICT_SUFFIX, dict); - if (lstat(dictfile, &st) == -1) - { -- PyErr_SetFromErrnoWithFilename(PyExc_OSError, dict); -+ PyErr_SetFromErrnoWithFilename(PyExc_OSError, dictfile); - free(dictfile); - return NULL; - } -@@ -123,7 +123,7 @@ _cracklib_FascistCheck(PyObject *self, P - sprintf(dictfile, "%s" DICT_SUFFIX, defaultdict); - if (lstat(dictfile, &st) == -1) - { -- PyErr_SetFromErrnoWithFilename(PyExc_OSError, defaultdict); -+ PyErr_SetFromErrnoWithFilename(PyExc_OSError, dictfile); - free(defaultdict); - free(dictfile); - return NULL; diff --git a/cracklib.spec b/cracklib.spec index dbafc61..96b35ce 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,8 +4,8 @@ Summary: A password-checking library Name: cracklib -Version: 2.8.15 -Release: 3%{?dist} +Version: 2.8.16 +Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -45,7 +45,6 @@ Source37: pass_file.gz # https://bugzilla.redhat.com/show_bug.cgi?id=557592 # https://bugzilla.redhat.com/attachment.cgi?id=386022 Source38: ry-threshold10.txt -Patch0: cracklib-2.8.15-suffix.patch Patch1: cracklib-2.8.15-inttypes.patch Patch2: cracklib-2.8.12-gettext.patch Patch3: cracklib-2.8.15-init.patch @@ -111,7 +110,6 @@ If you are installing CrackLib, you should also install cracklib-dicts. %prep %setup -q -%patch0 -p1 -b .suffix cp lib/packer.h lib/packer.h.in %patch1 -p1 -b .inttypes %patch2 -p1 -b .gettext @@ -229,6 +227,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Tue Apr 20 2010 Nalin Dahyabhai - 2.8.16-1 +- update to 2.8.16 + * Fri Jan 22 2010 Nalin Dahyabhai - 2.8.15-3 - add passwords derived from rockyou breach data to the dictionaries (Matthew Miller, #557592) diff --git a/sources b/sources index 75275b8..9edb6a3 100644 --- a/sources +++ b/sources @@ -26,5 +26,5 @@ a2bd31ce25a3057b61d2e5a1182d93a9 sf.gz 15ec61296de799eaa8111cfabbcbb44f shakespeare.gz c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 6e76a087a646ede5eba05e9259fd84d4 pass_file.gz -dd745f3daad5d4efa9b0c89d32042c33 cracklib-2.8.15.tar.gz +3bfb22db8fcffd019463ee415a1b25b7 cracklib-2.8.16.tar.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz From 6530d55766b6f4ef7f3ebc72c10dcf3fa986a453 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Thu, 20 May 2010 18:09:22 +0000 Subject: [PATCH 02/85] - pull in changes to the Hindi translation (#589188) --- cracklib-2.8.16-hi_update.patch | 39 +++++++++++++++++++++++++++++++++ cracklib.spec | 7 +++++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 cracklib-2.8.16-hi_update.patch diff --git a/cracklib-2.8.16-hi_update.patch b/cracklib-2.8.16-hi_update.patch new file mode 100644 index 0000000..c8b7f38 --- /dev/null +++ b/cracklib-2.8.16-hi_update.patch @@ -0,0 +1,39 @@ +Among as, bn_IN, de, es, fr, gu, hi, it, ja, kn, ko, ml, mr, or, pa, pt_BR, ru, +ta, te, zh_CN, zh_TW,, this is the only translation changed between 2.8.16 and +transifex as of 20 May 2010. + +--- cracklib/po/hi.po 2010-03-02 22:00:08.000000000 -0500 ++++ cracklib/po/hi.po 2010-05-20 14:00:30.000000000 -0400 +@@ -1,16 +1,17 @@ + # translation of cracklib.default.cracklib.po to Hindi +-# Copyright (C) 2009 Free Software Foundation, Inc. +-# This file is distributed under the same license as the PACKAGE package. ++# Hindi translations for cracklib package. ++# Copyright (C) 2009, 2010 Free Software Foundation, Inc. ++# This file is distributed under the same license as the cracklib package. + # +-# Rajesh Ranjan , 2009. ++# Rajesh Ranjan , 2010. + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default.cracklib\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2010-03-02 21:00-0600\n" +-"PO-Revision-Date: 2009-11-23 01:39+0530\n" +-"Last-Translator: Rajesh Ranjan \n" +-"Language-Team: Hindi \n" ++"PO-Revision-Date: 2010-04-06 12:21+0530\n" ++"Last-Translator: Rajesh Ranjan \n" ++"Language-Team: Hindi \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +@@ -56,7 +57,7 @@ + + #: lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" +-msgstr "इसमें पर्याप्त मात्रा में भिन्न वर्ण नहीं समाहित हैं" ++msgstr "इसमें पर्याप्त मात्रा में भिन्न वर्ण समाहित नहीं हैं" + + #: lib/fascist.c:762 + msgid "it is all whitespace" diff --git a/cracklib.spec b/cracklib.spec index 96b35ce..47ff6b9 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.16 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -48,6 +48,7 @@ Source38: ry-threshold10.txt Patch1: cracklib-2.8.15-inttypes.patch Patch2: cracklib-2.8.12-gettext.patch Patch3: cracklib-2.8.15-init.patch +Patch4: cracklib-2.8.16-hi_update.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -114,6 +115,7 @@ cp lib/packer.h lib/packer.h.in %patch1 -p1 -b .inttypes %patch2 -p1 -b .gettext %patch3 -p1 -b .init +%patch4 -p1 -b .hi_update autoreconf -f -i mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ @@ -227,6 +229,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Thu May 20 2010 Nalin Dahyabhai - 2.8.16-2 +- pull in changes to the Hindi translation (#589188) + * Tue Apr 20 2010 Nalin Dahyabhai - 2.8.16-1 - update to 2.8.16 From 3c20d618c40c3f61e5476047c7f38f0f97dbbe5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Sat, 3 Jul 2010 12:41:26 +0000 Subject: [PATCH 03/85] - added gettext-autopoint as BR: --- cracklib.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 47ff6b9..5372c12 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.16 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -53,8 +53,7 @@ URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root BuildRequires: python-devel, words, autoconf, automake, gettext, libtool -# This one's for gettext's sake. -BuildRequires: cvs +BuildRequires: gettext-autopoint Conflicts: cracklib-dicts < 2.8 # The cracklib-format script calls gzip, but without a specific path. Requires: gzip @@ -229,6 +228,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Sat Jul 3 2010 Dan Horák - 2.8.16-3 +- added gettext-autopoint as BR: + * Thu May 20 2010 Nalin Dahyabhai - 2.8.16-2 - pull in changes to the Hindi translation (#589188) From 41aa895af10a68f7b40a729af5c09bb87108583b Mon Sep 17 00:00:00 2001 From: dmalcolm Date: Thu, 22 Jul 2010 00:59:22 +0000 Subject: [PATCH 04/85] - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 5372c12..4bcf45d 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.16 -Release: 3%{?dist} +Release: 4%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -228,6 +228,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Wed Jul 21 2010 David Malcolm - 2.8.16-4 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + * Sat Jul 3 2010 Dan Horák - 2.8.16-3 - added gettext-autopoint as BR: From 11bdd7bde4ac0a85ffd130e9a714b82ec4b9e7ba Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 12:17:29 +0000 Subject: [PATCH 05/85] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 957cd5d..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: cracklib -# $Id$ -NAME := cracklib -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From 1ba0c062d384d037193883121bf798898e8058ad Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Thu, 27 Jan 2011 11:32:23 -0500 Subject: [PATCH 06/85] - update to 2.8.18 - add man pages from Debian (#583932) - replace zh_CN translation (related to #627449) --- .gitignore | 2 ++ cracklib-2.8.15-init.patch | 13 ----------- cracklib-2.8.16-hi_update.patch | 39 --------------------------------- cracklib.spec | 30 +++++++++++++++++++------ sources | 3 ++- 5 files changed, 27 insertions(+), 60 deletions(-) delete mode 100644 cracklib-2.8.15-init.patch delete mode 100644 cracklib-2.8.16-hi_update.patch diff --git a/.gitignore b/.gitignore index f6dfe98..6cb8713 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ cracklib-2.8.13.tar.gz cracklib-2.8.15.tar.gz cracklib-words-20080507.gz cracklib-2.8.16.tar.gz +/cracklib2_2.8.18-1.debian.tar.gz +/cracklib-2.8.18.tar.gz diff --git a/cracklib-2.8.15-init.patch b/cracklib-2.8.15-init.patch deleted file mode 100644 index 3c056f1..0000000 --- a/cracklib-2.8.15-init.patch +++ /dev/null @@ -1,13 +0,0 @@ -Don't free an uninitialized pointer. SF#2907102 - -diff -up cracklib-2.8.15/python/_cracklibmodule.c cracklib-2.8.15/python/_cracklibmodule.c ---- cracklib-2.8.15/python/_cracklibmodule.c 2009-12-01 15:39:57.000000000 -0500 -+++ cracklib-2.8.15/python/_cracklibmodule.c 2009-12-01 15:39:59.000000000 -0500 -@@ -106,6 +106,7 @@ _cracklib_FascistCheck(PyObject *self, P - return NULL; - } - free(dictfile); -+ defaultdict = NULL; - } else - { - defaultdict = strdup(GetDefaultCracklibDict()); diff --git a/cracklib-2.8.16-hi_update.patch b/cracklib-2.8.16-hi_update.patch deleted file mode 100644 index c8b7f38..0000000 --- a/cracklib-2.8.16-hi_update.patch +++ /dev/null @@ -1,39 +0,0 @@ -Among as, bn_IN, de, es, fr, gu, hi, it, ja, kn, ko, ml, mr, or, pa, pt_BR, ru, -ta, te, zh_CN, zh_TW,, this is the only translation changed between 2.8.16 and -transifex as of 20 May 2010. - ---- cracklib/po/hi.po 2010-03-02 22:00:08.000000000 -0500 -+++ cracklib/po/hi.po 2010-05-20 14:00:30.000000000 -0400 -@@ -1,16 +1,17 @@ - # translation of cracklib.default.cracklib.po to Hindi --# Copyright (C) 2009 Free Software Foundation, Inc. --# This file is distributed under the same license as the PACKAGE package. -+# Hindi translations for cracklib package. -+# Copyright (C) 2009, 2010 Free Software Foundation, Inc. -+# This file is distributed under the same license as the cracklib package. - # --# Rajesh Ranjan , 2009. -+# Rajesh Ranjan , 2010. - msgid "" - msgstr "" - "Project-Id-Version: cracklib.default.cracklib\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2010-03-02 21:00-0600\n" --"PO-Revision-Date: 2009-11-23 01:39+0530\n" --"Last-Translator: Rajesh Ranjan \n" --"Language-Team: Hindi \n" -+"PO-Revision-Date: 2010-04-06 12:21+0530\n" -+"Last-Translator: Rajesh Ranjan \n" -+"Language-Team: Hindi \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -@@ -56,7 +57,7 @@ - - #: lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" --msgstr "इसमें पर्याप्त मात्रा में भिन्न वर्ण नहीं समाहित हैं" -+msgstr "इसमें पर्याप्त मात्रा में भिन्न वर्ण समाहित नहीं हैं" - - #: lib/fascist.c:762 - msgid "it is all whitespace" diff --git a/cracklib.spec b/cracklib.spec index 4bcf45d..8a75d5a 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,14 +4,20 @@ Summary: A password-checking library Name: cracklib -Version: 2.8.16 -Release: 4%{?dist} +Version: 2.8.18 +Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz # Retrieved at 20091201191719Z. Source1: http://iweb.dl.sourceforge.net/project/cracklib/cracklib-words/2008-05-07/cracklib-words-20080507.gz +# For man pages. +Source2: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.18-1.debian.tar.gz + +# From attachment to https://bugzilla.redhat.com/show_bug.cgi?id=627449 +Source3: cracklib.default.zh_CN.po + Source10: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Domains.gz Source11: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Dosref.gz Source12: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Ftpsites.gz @@ -47,8 +53,6 @@ Source37: pass_file.gz Source38: ry-threshold10.txt Patch1: cracklib-2.8.15-inttypes.patch Patch2: cracklib-2.8.12-gettext.patch -Patch3: cracklib-2.8.15-init.patch -Patch4: cracklib-2.8.16-hi_update.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -109,12 +113,13 @@ contains the utilities necessary for the creation of new dictionaries. If you are installing CrackLib, you should also install cracklib-dicts. %prep -%setup -q +%setup -q -a 2 cp lib/packer.h lib/packer.h.in +# Replace zn_CN.po with one that wasn't mis-transcoded at some point. +grep '????????????????' po/zh_CN.po +install -p -m 644 %{SOURCE3} po/zh_CN.po %patch1 -p1 -b .inttypes %patch2 -p1 -b .gettext -%patch3 -p1 -b .init -%patch4 -p1 -b .hi_update autoreconf -f -i mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ @@ -160,6 +165,10 @@ fi rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/_cracklibmodule.*a rm -f $RPM_BUILD_ROOT/%{_libdir}/libcrack.la +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man{3,8} +install -p -m644 debian/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3/ +install -p -m644 debian/*.8 $RPM_BUILD_ROOT/%{_mandir}/man8/ + %find_lang %{name} %check @@ -207,11 +216,13 @@ EOF %dir %{_datadir}/cracklib %{_datadir}/cracklib/cracklib.magic %{_sbindir}/*cracklib* +%{_mandir}/man8/* %files devel %defattr(-,root,root) %{_includedir}/* %{_libdir}/libcrack.so +%{_mandir}/man3/* %files dicts %defattr(-,root,root) @@ -228,6 +239,11 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Thu Jan 27 2011 Nalin Dahyabhai - 2.8.18-1 +- update to 2.8.18 +- add man pages from Debian (#583932) +- replace zh_CN translation (related to #627449) + * Wed Jul 21 2010 David Malcolm - 2.8.16-4 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild diff --git a/sources b/sources index 9edb6a3..87e9582 100644 --- a/sources +++ b/sources @@ -26,5 +26,6 @@ a2bd31ce25a3057b61d2e5a1182d93a9 sf.gz 15ec61296de799eaa8111cfabbcbb44f shakespeare.gz c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 6e76a087a646ede5eba05e9259fd84d4 pass_file.gz -3bfb22db8fcffd019463ee415a1b25b7 cracklib-2.8.16.tar.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz +79053ad8bc714a44cd660cb12116211b cracklib-2.8.18.tar.gz +1e33cdc76486e89a11a230f098ef651c cracklib2_2.8.18-1.debian.tar.gz From c3bac2cc191884e9f4d85c801ec364952c790d80 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Thu, 27 Jan 2011 11:38:27 -0500 Subject: [PATCH 07/85] - need to import this translation for now --- cracklib.default.zh_CN.po | 78 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 cracklib.default.zh_CN.po diff --git a/cracklib.default.zh_CN.po b/cracklib.default.zh_CN.po new file mode 100644 index 0000000..e080d6c --- /dev/null +++ b/cracklib.default.zh_CN.po @@ -0,0 +1,78 @@ +# translation of cracklib.default.po to Wei Liu +# Copyright (C) 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Leah Liu , 2010. +msgid "" +msgstr "" +"Project-Id-Version: cracklib.default\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-02 21:00-0600\n" +"PO-Revision-Date: 2010-09-07 23:42+1000\n" +"Last-Translator: Leah Liu \n" +"Language-Team: Wei Liu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: lib/fascist.c:550 +msgid "you are not registered in the password file" +msgstr "尚未在口令文件中注册" + +#: lib/fascist.c:564 +msgid "it is based on your username" +msgstr "它基于用户名" + +#: lib/fascist.c:629 +msgid "it is based upon your password entry" +msgstr "它基于输入的口令" + +#: lib/fascist.c:649 +msgid "it is derived from your password entry" +msgstr "它派生自输入的口令" + +#: lib/fascist.c:662 +msgid "it's derived from your password entry" +msgstr "它派生自输入的口令" + +#: lib/fascist.c:676 +msgid "it is derivable from your password entry" +msgstr "可从输入的口令推断" + +#: lib/fascist.c:690 +msgid "it's derivable from your password entry" +msgstr "可从输入的口令推断" + +#: lib/fascist.c:726 +msgid "it is WAY too short" +msgstr "WAY 过短" + +#: lib/fascist.c:731 +msgid "it is too short" +msgstr "过短" + +#: lib/fascist.c:748 +msgid "it does not contain enough DIFFERENT characters" +msgstr "它没有包含足够的不同字符" + +#: lib/fascist.c:762 +msgid "it is all whitespace" +msgstr "全是空格" + +#: lib/fascist.c:781 +msgid "it is too simplistic/systematic" +msgstr "过于简单化/系统化" + +#: lib/fascist.c:786 +msgid "it looks like a National Insurance number." +msgstr "看起来像国家保险号码。" + +#: lib/fascist.c:813 +msgid "it is based on a dictionary word" +msgstr "它基于字典单词" + +#: lib/fascist.c:832 +msgid "it is based on a (reversed) dictionary word" +msgstr "它基于(颠倒的)字典单词" + From ebb6c40aa0ae9892644f7de71cae6e5d3c6c5c0b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 05:48:21 -0600 Subject: [PATCH 08/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 8a75d5a..16a395d 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.18 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -239,6 +239,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 2.8.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Thu Jan 27 2011 Nalin Dahyabhai - 2.8.18-1 - update to 2.8.18 - add man pages from Debian (#583932) From 374711c72a1ba57c74b3a4dd1ec20dfcd29679e3 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 12 Jan 2012 17:59:31 -0600 Subject: [PATCH 09/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 16a395d..246d53a 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.18 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -239,6 +239,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Thu Jan 12 2012 Fedora Release Engineering - 2.8.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Tue Feb 08 2011 Fedora Release Engineering - 2.8.18-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 4b491a159a9baa417b0305a6505f8795229e2faa Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Fri, 18 May 2012 15:12:33 -0400 Subject: [PATCH 10/85] update to 2.8.19 --- .gitignore | 1 + cracklib-2.8.12-gettext.patch | 13 ------------- sources | 1 + 3 files changed, 2 insertions(+), 13 deletions(-) delete mode 100644 cracklib-2.8.12-gettext.patch diff --git a/.gitignore b/.gitignore index 6cb8713..e3f4afb 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ cracklib-words-20080507.gz cracklib-2.8.16.tar.gz /cracklib2_2.8.18-1.debian.tar.gz /cracklib-2.8.18.tar.gz +/cracklib-2.8.19.tar.gz diff --git a/cracklib-2.8.12-gettext.patch b/cracklib-2.8.12-gettext.patch deleted file mode 100644 index 8608187..0000000 --- a/cracklib-2.8.12-gettext.patch +++ /dev/null @@ -1,13 +0,0 @@ -Newer autopoint chokes if we don't explicitly list a version here. -diff -up cracklib-2.8.12/configure.in cracklib-2.8.12/configure.in ---- cracklib-2.8.12/configure.in 2008-10-28 13:27:06.000000000 -0400 -+++ cracklib-2.8.12/configure.in 2008-10-28 13:27:07.000000000 -0400 -@@ -58,7 +58,7 @@ AC_CHECK_FUNCS(strdup) - AC_CHECK_FUNCS(getpwuid_r) - - dnl internationalization macros --AM_GNU_GETTEXT_VERSION -+AM_GNU_GETTEXT_VERSION(0.14) - AM_GNU_GETTEXT([external]) - - dnl Control default dictname diff --git a/sources b/sources index 87e9582..f14a3b3 100644 --- a/sources +++ b/sources @@ -29,3 +29,4 @@ c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz 79053ad8bc714a44cd660cb12116211b cracklib-2.8.18.tar.gz 1e33cdc76486e89a11a230f098ef651c cracklib2_2.8.18-1.debian.tar.gz +ca0ec168d9c6466612204e8dfb2df8a9 cracklib-2.8.19.tar.gz From 3e92cf695c6bd76c95f79c00c294fff5cb06cff8 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Fri, 18 May 2012 15:15:10 -0400 Subject: [PATCH 11/85] - update to 2.8.19 --- cracklib.spec | 9 +++++---- sources | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 246d53a..048279e 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,8 +4,8 @@ Summary: A password-checking library Name: cracklib -Version: 2.8.18 -Release: 3%{?dist} +Version: 2.8.19 +Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -52,7 +52,6 @@ Source37: pass_file.gz # https://bugzilla.redhat.com/attachment.cgi?id=386022 Source38: ry-threshold10.txt Patch1: cracklib-2.8.15-inttypes.patch -Patch2: cracklib-2.8.12-gettext.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -119,7 +118,6 @@ cp lib/packer.h lib/packer.h.in grep '????????????????' po/zh_CN.po install -p -m 644 %{SOURCE3} po/zh_CN.po %patch1 -p1 -b .inttypes -%patch2 -p1 -b .gettext autoreconf -f -i mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ @@ -239,6 +237,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Fri May 18 2012 Nalin Dahyabhai - 2.8.19-1 +- update to 2.8.19 + * Thu Jan 12 2012 Fedora Release Engineering - 2.8.18-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild diff --git a/sources b/sources index f14a3b3..70db5e3 100644 --- a/sources +++ b/sources @@ -27,6 +27,5 @@ a2bd31ce25a3057b61d2e5a1182d93a9 sf.gz c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 6e76a087a646ede5eba05e9259fd84d4 pass_file.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz -79053ad8bc714a44cd660cb12116211b cracklib-2.8.18.tar.gz 1e33cdc76486e89a11a230f098ef651c cracklib2_2.8.18-1.debian.tar.gz ca0ec168d9c6466612204e8dfb2df8a9 cracklib-2.8.19.tar.gz From 04fe0dfd7eac2517604c1826e5a7cd98210dfa85 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 18 Jul 2012 14:49:50 -0500 Subject: [PATCH 12/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 048279e..71b344d 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.19 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -237,6 +237,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Wed Jul 18 2012 Fedora Release Engineering - 2.8.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Fri May 18 2012 Nalin Dahyabhai - 2.8.19-1 - update to 2.8.19 From e8a82a9297ee6fc6ae323e1fe3c6b1b232dc16e1 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Tue, 20 Nov 2012 13:21:09 -0500 Subject: [PATCH 13/85] freshen the debian source archive - update the copy of the debian source package to one that can still be retrieved using the URL we list for it --- .gitignore | 2 ++ cracklib.spec | 9 +++++++-- sources | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e3f4afb..ca2b46e 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,5 @@ cracklib-2.8.16.tar.gz /cracklib2_2.8.18-1.debian.tar.gz /cracklib-2.8.18.tar.gz /cracklib-2.8.19.tar.gz +/cracklib2_2.8.19-1.debian.tar.gz +/cracklib2_2.8.19-1.dsc diff --git a/cracklib.spec b/cracklib.spec index 71b344d..2374998 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.19 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -13,7 +13,8 @@ Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz Source1: http://iweb.dl.sourceforge.net/project/cracklib/cracklib-words/2008-05-07/cracklib-words-20080507.gz # For man pages. -Source2: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.18-1.debian.tar.gz +Source2: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.19-1.debian.tar.gz +Source40: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.19-1.dsc # From attachment to https://bugzilla.redhat.com/show_bug.cgi?id=627449 Source3: cracklib.default.zh_CN.po @@ -237,6 +238,10 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Tue Nov 20 2012 Nalin Dahyabhai - 2.8.19-3 +- update the copy of the debian source package to one that can currently be + retrieved using the URL we list for it + * Wed Jul 18 2012 Fedora Release Engineering - 2.8.19-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild diff --git a/sources b/sources index 70db5e3..84fc02a 100644 --- a/sources +++ b/sources @@ -27,5 +27,6 @@ a2bd31ce25a3057b61d2e5a1182d93a9 sf.gz c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 6e76a087a646ede5eba05e9259fd84d4 pass_file.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz -1e33cdc76486e89a11a230f098ef651c cracklib2_2.8.18-1.debian.tar.gz ca0ec168d9c6466612204e8dfb2df8a9 cracklib-2.8.19.tar.gz +12936e97cc34a28f2efec62e115a60e1 cracklib2_2.8.19-1.debian.tar.gz +bf8714368e0a485472b6ad7c4dba06a3 cracklib2_2.8.19-1.dsc From 17bfc7742f9a4f8f5621727394f9121e632fc9d2 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 10 Dec 2012 12:55:56 -0500 Subject: [PATCH 14/85] update to 2.8.20 update to 2.8.20: - python module renamed from _cracklibmodule.so to _cracklib.so --- .gitignore | 1 + cracklib.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ca2b46e..001bacc 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ cracklib-2.8.16.tar.gz /cracklib-2.8.19.tar.gz /cracklib2_2.8.19-1.debian.tar.gz /cracklib2_2.8.19-1.dsc +/cracklib-2.8.20.tar.gz diff --git a/cracklib.spec b/cracklib.spec index 2374998..91f57c7 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,8 +4,8 @@ Summary: A password-checking library Name: cracklib -Version: 2.8.19 -Release: 3%{?dist} +Version: 2.8.20 +Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -161,7 +161,7 @@ ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.hwm ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwi fi -rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/_cracklibmodule.*a +rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/_cracklib*.*a rm -f $RPM_BUILD_ROOT/%{_libdir}/libcrack.la mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man{3,8} @@ -234,10 +234,13 @@ EOF %files python %defattr(-,root,root) -%{_libdir}/python*/site-packages/_cracklibmodule.so +%{_libdir}/python*/site-packages/_cracklib*.so %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Mon Dec 10 2012 Nalin Dahyabhai - 2.8.20-1 +- update to 2.8.20 + * Tue Nov 20 2012 Nalin Dahyabhai - 2.8.19-3 - update the copy of the debian source package to one that can currently be retrieved using the URL we list for it diff --git a/sources b/sources index 84fc02a..aaac3ad 100644 --- a/sources +++ b/sources @@ -27,6 +27,6 @@ a2bd31ce25a3057b61d2e5a1182d93a9 sf.gz c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 6e76a087a646ede5eba05e9259fd84d4 pass_file.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz -ca0ec168d9c6466612204e8dfb2df8a9 cracklib-2.8.19.tar.gz +1db83dcd5641b72a0656f6923a1cd0a4 cracklib-2.8.20.tar.gz 12936e97cc34a28f2efec62e115a60e1 cracklib2_2.8.19-1.debian.tar.gz bf8714368e0a485472b6ad7c4dba06a3 cracklib2_2.8.19-1.dsc From c10697f9d11f367e5370afb64a4e5f9531de6ed1 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 10 Dec 2012 12:59:43 -0500 Subject: [PATCH 15/85] whoops, log the bug number for that --- cracklib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 91f57c7..64152e0 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -239,7 +239,7 @@ EOF %changelog * Mon Dec 10 2012 Nalin Dahyabhai - 2.8.20-1 -- update to 2.8.20 +- update to 2.8.20 (#885439) * Tue Nov 20 2012 Nalin Dahyabhai - 2.8.19-3 - update the copy of the debian source package to one that can currently be From 54a8b87df0ccf11ab86cf41223c727c90225179e Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Thu, 13 Dec 2012 12:57:02 -0500 Subject: [PATCH 16/85] update to 2.8.21 --- .gitignore | 1 + cracklib.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 001bacc..2273fbe 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ cracklib-2.8.16.tar.gz /cracklib2_2.8.19-1.debian.tar.gz /cracklib2_2.8.19-1.dsc /cracklib-2.8.20.tar.gz +/cracklib-2.8.21.tar.gz diff --git a/cracklib.spec b/cracklib.spec index 64152e0..f1323e7 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,7 +4,7 @@ Summary: A password-checking library Name: cracklib -Version: 2.8.20 +Version: 2.8.21 Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -238,6 +238,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Thu Dec 13 2012 Nalin Dahyabhai - 2.8.21 +- update to 2.8.21 + * Mon Dec 10 2012 Nalin Dahyabhai - 2.8.20-1 - update to 2.8.20 (#885439) diff --git a/sources b/sources index aaac3ad..0e579f7 100644 --- a/sources +++ b/sources @@ -27,6 +27,6 @@ a2bd31ce25a3057b61d2e5a1182d93a9 sf.gz c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 6e76a087a646ede5eba05e9259fd84d4 pass_file.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz -1db83dcd5641b72a0656f6923a1cd0a4 cracklib-2.8.20.tar.gz 12936e97cc34a28f2efec62e115a60e1 cracklib2_2.8.19-1.debian.tar.gz bf8714368e0a485472b6ad7c4dba06a3 cracklib2_2.8.19-1.dsc +b123288973520f6869e14ae4ba956ad6 cracklib-2.8.21.tar.gz From 0f1834b35c2172d1c08e9b3ad2843071f315b3f1 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 17 Dec 2012 10:37:46 -0500 Subject: [PATCH 17/85] update to 2.8.22 - update to 2.8.22 (#887461), which now returns an error instead of exiting when there's a failure opening the dictionary in FascistCheck() --- .gitignore | 1 + cracklib.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2273fbe..089361d 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ cracklib-2.8.16.tar.gz /cracklib2_2.8.19-1.dsc /cracklib-2.8.20.tar.gz /cracklib-2.8.21.tar.gz +/cracklib-2.8.22.tar.gz diff --git a/cracklib.spec b/cracklib.spec index f1323e7..d90e0cf 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,7 +4,7 @@ Summary: A password-checking library Name: cracklib -Version: 2.8.21 +Version: 2.8.22 Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -238,6 +238,10 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Mon Dec 17 2012 Nalin Dahyabhai - 2.8.22 +- update to 2.8.22 (#887461), which now returns an error instead of exiting + when there's a failure opening the dictionary in FascistCheck() + * Thu Dec 13 2012 Nalin Dahyabhai - 2.8.21 - update to 2.8.21 diff --git a/sources b/sources index 0e579f7..a10debe 100644 --- a/sources +++ b/sources @@ -29,4 +29,4 @@ c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz 12936e97cc34a28f2efec62e115a60e1 cracklib2_2.8.19-1.debian.tar.gz bf8714368e0a485472b6ad7c4dba06a3 cracklib2_2.8.19-1.dsc -b123288973520f6869e14ae4ba956ad6 cracklib-2.8.21.tar.gz +463177b5c29c7a598c991e12a4898e06 cracklib-2.8.22.tar.gz From c3650d7fc5ced192626fd8cadb49eba293e1e4f2 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Wed, 19 Dec 2012 12:34:18 -0500 Subject: [PATCH 18/85] add missing buildrequires: on zlib-devel (#888876) --- cracklib.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index d90e0cf..e5a9133 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.22 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -58,6 +58,7 @@ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root BuildRequires: python-devel, words, autoconf, automake, gettext, libtool BuildRequires: gettext-autopoint +BuildRequires: zlib-devel Conflicts: cracklib-dicts < 2.8 # The cracklib-format script calls gzip, but without a specific path. Requires: gzip @@ -238,11 +239,14 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog -* Mon Dec 17 2012 Nalin Dahyabhai - 2.8.22 +* Wed Dec 19 2012 Nalin Dahyabhai - 2.8.22-2 +- add missing buildrequires: on zlib-devel (#888876) + +* Mon Dec 17 2012 Nalin Dahyabhai - 2.8.22-1 - update to 2.8.22 (#887461), which now returns an error instead of exiting when there's a failure opening the dictionary in FascistCheck() -* Thu Dec 13 2012 Nalin Dahyabhai - 2.8.21 +* Thu Dec 13 2012 Nalin Dahyabhai - 2.8.21-1 - update to 2.8.21 * Mon Dec 10 2012 Nalin Dahyabhai - 2.8.20-1 From 8f75c6f5cf126cada26733a7b3fb2faadd823e92 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Tue, 29 Jan 2013 11:17:10 -0500 Subject: [PATCH 19/85] add man page pointers for cracklib-packer/unpacker - point cracklib-packer and cracklib-unpacker man pages to cracklib-format (internal tooling) --- cracklib.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index e5a9133..8ad7021 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.8.22 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -168,6 +168,12 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/libcrack.la mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man{3,8} install -p -m644 debian/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3/ install -p -m644 debian/*.8 $RPM_BUILD_ROOT/%{_mandir}/man8/ +if ! test -s $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-packer.8 ; then + echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-packer.8 +fi +if ! test -s $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 ; then + echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 +fi %find_lang %{name} @@ -239,6 +245,10 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Tue Jan 29 2013 Nalin Dahyabhai - 2.8.22-3 +- point cracklib-packer and cracklib-unpacker man pages to cracklib-format + (internal tooling) + * Wed Dec 19 2012 Nalin Dahyabhai - 2.8.22-2 - add missing buildrequires: on zlib-devel (#888876) From af780d829bc3b7345a5d471c2b5f68acf3b8fb8b Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 3 Jun 2013 17:33:05 -0400 Subject: [PATCH 20/85] update to 2.9.0 (#970065) - update to 2.9.0 (#970065) - adds FascistCheckUser() - go ahead and compress the main dictionary, since we're linking with zlib anyway --- .gitignore | 1 + cracklib.spec | 13 ++++++++++--- sources | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 089361d..9dc597c 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ cracklib-2.8.16.tar.gz /cracklib-2.8.20.tar.gz /cracklib-2.8.21.tar.gz /cracklib-2.8.22.tar.gz +/cracklib-2.9.0.tar.gz diff --git a/cracklib.spec b/cracklib.spec index 8ad7021..8d5b784 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,8 +4,8 @@ Summary: A password-checking library Name: cracklib -Version: 2.8.22 -Release: 3%{?dist} +Version: 2.9.0 +Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -159,7 +159,7 @@ done rm -f $RPM_BUILD_ROOT/top if test %{dictpath} != %{_libdir}/cracklib_dict ; then ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.hwm -ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd +ln -s $toprelpath%{dictpath}.pwd.gz $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd.gz ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwi fi rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/_cracklib*.*a @@ -174,6 +174,7 @@ fi if ! test -s $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 ; then echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 fi +gzip -9v $RPM_BUILD_ROOT/%{_datadir}/cracklib/*.pwd %find_lang %{name} @@ -245,6 +246,12 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Mon Jun 3 2013 Nalin Dahyabhai - 2.9.0-1 +- update to 2.9.0 (#970065) + - adds FascistCheckUser() +- go ahead and compress the main dictionary, since we're linking with zlib + anyway + * Tue Jan 29 2013 Nalin Dahyabhai - 2.8.22-3 - point cracklib-packer and cracklib-unpacker man pages to cracklib-format (internal tooling) diff --git a/sources b/sources index a10debe..d062273 100644 --- a/sources +++ b/sources @@ -29,4 +29,4 @@ c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz 12936e97cc34a28f2efec62e115a60e1 cracklib2_2.8.19-1.debian.tar.gz bf8714368e0a485472b6ad7c4dba06a3 cracklib2_2.8.19-1.dsc -463177b5c29c7a598c991e12a4898e06 cracklib-2.8.22.tar.gz +e0f94ac2138fd33c7e77b19c1e9a9390 cracklib-2.9.0.tar.gz From 93277b06b1853a3ad96f9e544c606db477b8f7f2 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 01:04:10 -0500 Subject: [PATCH 21/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 8d5b784..18c3a20 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -246,6 +246,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 2.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Mon Jun 3 2013 Nalin Dahyabhai - 2.9.0-1 - update to 2.9.0 (#970065) - adds FascistCheckUser() From a483b3bf78a0430b819ee17033e97e481eb57731 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 21 Aug 2013 15:36:05 +0200 Subject: [PATCH 22/85] fix the python module to work with compressed dictionaries (#972542) - fix various dictionary lookup errors (#986400, #986401) - make the library reentrant and fix compilation warnings --- cracklib-2.9.0-packlib-gztype.patch | 24 + cracklib-2.9.0-packlib-lookup.patch | 101 ++++ cracklib-2.9.0-packlib-reentrant.patch | 677 +++++++++++++++++++++++++ cracklib-2.9.0-python-gzdicts.patch | 104 ++++ cracklib.spec | 20 +- 5 files changed, 924 insertions(+), 2 deletions(-) create mode 100644 cracklib-2.9.0-packlib-gztype.patch create mode 100644 cracklib-2.9.0-packlib-lookup.patch create mode 100644 cracklib-2.9.0-packlib-reentrant.patch create mode 100644 cracklib-2.9.0-python-gzdicts.patch diff --git a/cracklib-2.9.0-packlib-gztype.patch b/cracklib-2.9.0-packlib-gztype.patch new file mode 100644 index 0000000..a65390f --- /dev/null +++ b/cracklib-2.9.0-packlib-gztype.patch @@ -0,0 +1,24 @@ +diff -up cracklib-2.9.0/lib/packer.h.in.gztype cracklib-2.9.0/lib/packer.h.in +--- cracklib-2.9.0/lib/packer.h.in.gztype 2013-08-21 11:48:47.341631450 +0200 ++++ cracklib-2.9.0/lib/packer.h.in 2013-08-21 11:47:52.948471397 +0200 +@@ -44,7 +44,7 @@ struct pi_header + typedef struct + { + FILE *ifp; +- FILE *dfp; ++ void *dfp; + FILE *wfp; + + uint32_t flags; +diff -up cracklib-2.9.0/lib/packlib.c.gztype cracklib-2.9.0/lib/packlib.c +--- cracklib-2.9.0/lib/packlib.c.gztype 2013-08-21 11:27:12.000000000 +0200 ++++ cracklib-2.9.0/lib/packlib.c 2013-08-21 11:49:32.787600685 +0200 +@@ -72,7 +72,7 @@ PWOpen(prefix, mode) + char iname[STRINGSIZE]; + char dname[STRINGSIZE]; + char wname[STRINGSIZE]; +- FILE *dfp; ++ void *dfp; + FILE *ifp; + FILE *wfp; + diff --git a/cracklib-2.9.0-packlib-lookup.patch b/cracklib-2.9.0-packlib-lookup.patch new file mode 100644 index 0000000..5748326 --- /dev/null +++ b/cracklib-2.9.0-packlib-lookup.patch @@ -0,0 +1,101 @@ +diff -up cracklib-2.9.0/lib/packer.h.in.lookup cracklib-2.9.0/lib/packer.h.in +--- cracklib-2.9.0/lib/packer.h.in.lookup 2013-08-21 14:43:16.832990712 +0200 ++++ cracklib-2.9.0/lib/packer.h.in 2013-08-21 14:43:16.835990775 +0200 +@@ -60,6 +60,7 @@ typedef struct + int count; + char data_put[NUMWORDS][MAXWORDLEN]; + char data_get[NUMWORDS][MAXWORDLEN]; ++ uint32_t prevblock; + } PWDICT; + + #define PW_WORDS(x) ((x)->header.pih_numwords) +diff -up cracklib-2.9.0/lib/packlib.c.lookup cracklib-2.9.0/lib/packlib.c +--- cracklib-2.9.0/lib/packlib.c.lookup 2013-06-01 16:47:13.000000000 +0200 ++++ cracklib-2.9.0/lib/packlib.c 2013-08-21 14:44:12.325177107 +0200 +@@ -84,6 +84,7 @@ PWOpen(prefix, mode) + + memset(&pdesc, '\0', sizeof(pdesc)); + memset(&pdesc64, '\0', sizeof(pdesc64)); ++ pdesc.prevblock = 0xffffffff; + + snprintf(iname, STRINGSIZE, "%s.pwi", prefix); + snprintf(dname, STRINGSIZE, "%s.pwd", prefix); +@@ -446,12 +447,11 @@ GetPW(pwp, number) + register char *nstr; + register char *bptr; + char buffer[NUMWORDS * MAXWORDLEN]; +- static uint32_t prevblock = 0xffffffff; + uint32_t thisblock; + + thisblock = number / NUMWORDS; + +- if (prevblock == thisblock) ++ if (pwp->prevblock == thisblock) + { + #if DEBUG + fprintf(stderr, "returning (%s)\n", pwp->data_get[number % NUMWORDS]); +@@ -528,13 +528,16 @@ GetPW(pwp, number) + return ((char *) 0); + } + +- prevblock = thisblock; ++ pwp->prevblock = thisblock; + + bptr = buffer; + + for (ostr = pwp->data_get[0]; (*(ostr++) = *(bptr++)); /* nothing */ ); + + ostr = pwp->data_get[0]; ++#if DEBUG ++ fprintf(stderr, "data_get[0]: %s\n", ostr); ++#endif + + for (i = 1; i < NUMWORDS; i++) + { +@@ -545,6 +548,9 @@ GetPW(pwp, number) + while ((*(ostr++) = *(bptr++))); + + ostr = nstr; ++#if DEBUG ++ fprintf(stderr, "data_get[%d]: %s\n", i, ostr); ++#endif + } + + return (pwp->data_get[number % NUMWORDS]); +@@ -623,21 +629,27 @@ fprintf(stderr, "look for (%s)\n", strin + return(middle); + } + +- if (middle == hwm) +- { ++ if (cmp < 0) ++ { ++ if (middle == lwm) ++ { + #if DEBUG +- fprintf(stderr, "at terminal subdivision, stopping search\n"); ++ fprintf(stderr, "at terminal subdivision from right, stopping search\n"); + #endif + break; +- } +- +- if (cmp < 0) +- { +- hwm = middle; ++ } ++ hwm = middle - 1; + } + else if (cmp > 0) + { +- lwm = middle; ++ if (middle == hwm) ++ { ++#if DEBUG ++ fprintf(stderr, "at terminal subdivision from left, stopping search\n"); ++#endif ++ break; ++ } ++ lwm = middle + 1; + } + } + diff --git a/cracklib-2.9.0-packlib-reentrant.patch b/cracklib-2.9.0-packlib-reentrant.patch new file mode 100644 index 0000000..ba13c09 --- /dev/null +++ b/cracklib-2.9.0-packlib-reentrant.patch @@ -0,0 +1,677 @@ +diff -up cracklib-2.9.0/lib/fascist.c.reentrant cracklib-2.9.0/lib/fascist.c +--- cracklib-2.9.0/lib/fascist.c.reentrant 2013-06-01 16:52:33.000000000 +0200 ++++ cracklib-2.9.0/lib/fascist.c 2013-08-21 15:31:18.700090735 +0200 +@@ -36,8 +36,8 @@ typedef unsigned short uint16_t; + #undef DEBUG + #undef DEBUG2 + +-extern char *Reverse(char *buf); +-extern char *Lowercase(char *buf); ++extern char *Reverse(char *buf, char *area); ++extern char *Lowercase(char *buf, char *area); + + static char *r_destructors[] = { + ":", /* noop - must do this to test raw word. */ +@@ -439,6 +439,8 @@ GTry(rawtext, password) + int i; + int len; + char *mp; ++ char area[STRINGSIZE]; ++ char revarea[STRINGSIZE]; + + /* use destructors to turn password into rawtext */ + /* note use of Reverse() to save duplicating all rules */ +@@ -447,7 +449,7 @@ GTry(rawtext, password) + + for (i = 0; r_destructors[i]; i++) + { +- if (!(mp = Mangle(password, r_destructors[i]))) ++ if (!(mp = Mangle(password, r_destructors[i], area))) + { + continue; + } +@@ -462,10 +464,10 @@ GTry(rawtext, password) + } + + #ifdef DEBUG +- printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp), rawtext, r_destructors[i]); ++ printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp, revarea), rawtext, r_destructors[i]); + #endif + +- if (!strncmp(Reverse(mp), rawtext, len)) ++ if (!strncmp(Reverse(mp, revarea), rawtext, len)) + { + return (1); + } +@@ -473,7 +475,7 @@ GTry(rawtext, password) + + for (i = 0; r_constructors[i]; i++) + { +- if (!(mp = Mangle(rawtext, r_constructors[i]))) ++ if (!(mp = Mangle(rawtext, r_constructors[i], area))) + { + continue; + } +@@ -520,7 +522,7 @@ FascistGecosUser(char *password, const c + + strncpy(tbuffer, gecos, STRINGSIZE); + tbuffer[STRINGSIZE-1] = '\0'; +- strcpy(gbuffer, Lowercase(tbuffer)); ++ Lowercase(tbuffer, gbuffer); + + wc = 0; + ptr = gbuffer; +@@ -695,6 +697,7 @@ FascistLookUser(PWDICT *pwp, char *instr + char junk[STRINGSIZE]; + char *password; + char rpassword[STRINGSIZE]; ++ char area[STRINGSIZE]; + uint32_t notfound; + + notfound = PW_WORDS(pwp); +@@ -731,7 +734,7 @@ FascistLookUser(PWDICT *pwp, char *instr + return _("it does not contain enough DIFFERENT characters"); + } + +- strcpy(password, (char *)Lowercase(password)); ++ strcpy(password, (char *)Lowercase(password, area)); + + Trim(password); + +@@ -787,7 +790,7 @@ FascistLookUser(PWDICT *pwp, char *instr + { + char *a; + +- if (!(a = Mangle(password, r_destructors[i]))) ++ if (!(a = Mangle(password, r_destructors[i], area))) + { + continue; + } +@@ -802,13 +805,13 @@ FascistLookUser(PWDICT *pwp, char *instr + } + } + +- strcpy(password, (char *)Reverse(password)); ++ strcpy(password, (char *)Reverse(password, area)); + + for (i = 0; r_destructors[i]; i++) + { + char *a; + +- if (!(a = Mangle(password, r_destructors[i]))) ++ if (!(a = Mangle(password, r_destructors[i], area))) + { + continue; + } +diff -up cracklib-2.9.0/lib/packer.h.in.reentrant cracklib-2.9.0/lib/packer.h.in +--- cracklib-2.9.0/lib/packer.h.in.reentrant 2013-08-21 15:29:24.245641356 +0200 ++++ cracklib-2.9.0/lib/packer.h.in 2013-08-21 15:29:24.247641399 +0200 +@@ -86,7 +86,7 @@ extern int PWClose(PWDICT *pwp); + extern unsigned int FindPW(PWDICT *pwp, char *string); + extern int PutPW(PWDICT *pwp, char *string); + extern int PMatch(char *control, char *string); +-extern char *Mangle(char *input, char *control); ++extern char *Mangle(char *input, char *control, char *area); + extern char Chop(char *string); + extern char *Trim(char *string); + extern char *FascistLook(PWDICT *pwp, char *instring); +diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c +--- cracklib-2.9.0/lib/packlib.c.reentrant 2013-08-21 15:29:24.245641356 +0200 ++++ cracklib-2.9.0/lib/packlib.c 2013-08-21 15:29:24.247641399 +0200 +@@ -67,8 +67,8 @@ PWOpen(prefix, mode) + char *mode; + { + int use64 = 0; +- static PWDICT pdesc; +- static PWDICT64 pdesc64; ++ PWDICT *pdesc; ++ PWDICT64 pdesc64; + char iname[STRINGSIZE]; + char dname[STRINGSIZE]; + char wname[STRINGSIZE]; +@@ -76,15 +76,13 @@ PWOpen(prefix, mode) + FILE *ifp; + FILE *wfp; + +- if (pdesc.header.pih_magic == PIH_MAGIC) +- { +- fprintf(stderr, "%s: another dictionary already open\n", prefix); +- return ((PWDICT *) 0); +- } ++ pdesc = malloc(sizeof(*pdesc)); ++ if (pdesc == NULL) ++ return NULL; + +- memset(&pdesc, '\0', sizeof(pdesc)); ++ memset(pdesc, '\0', sizeof(*pdesc)); + memset(&pdesc64, '\0', sizeof(pdesc64)); +- pdesc.prevblock = 0xffffffff; ++ pdesc->prevblock = 0xffffffff; + + snprintf(iname, STRINGSIZE, "%s.pwi", prefix); + snprintf(dname, STRINGSIZE, "%s.pwd", prefix); +@@ -92,77 +90,80 @@ PWOpen(prefix, mode) + + if (mode[0] == 'r') + { +- pdesc.flags &= ~PFOR_USEZLIB; ++ pdesc->flags &= ~PFOR_USEZLIB; + /* first try the normal db file */ +- if (!(pdesc.dfp = fopen(dname, mode))) ++ if (!(pdesc->dfp = fopen(dname, mode))) + { + #ifdef HAVE_ZLIB_H +- pdesc.flags |= PFOR_USEZLIB; ++ pdesc->flags |= PFOR_USEZLIB; + /* try extension .gz */ + snprintf(dname, STRINGSIZE, "%s.pwd.gz", prefix); +- if (!(pdesc.dfp = gzopen(dname, mode))) ++ if (!(pdesc->dfp = gzopen(dname, mode))) + { + perror(dname); ++ free(pdesc); + return ((PWDICT *) 0); + } + #else + perror(dname); ++ free(pdesc); + return ((PWDICT *) 0); + #endif + } + } + else + { +- pdesc.flags &= ~PFOR_USEZLIB; ++ pdesc->flags &= ~PFOR_USEZLIB; + /* write mode: use fopen */ +- if (!(pdesc.dfp = fopen(dname, mode))) ++ if (!(pdesc->dfp = fopen(dname, mode))) + { + perror(dname); ++ free(pdesc); + return ((PWDICT *) 0); + } + } + +- if (!(pdesc.ifp = fopen(iname, mode))) ++ if (!(pdesc->ifp = fopen(iname, mode))) + { + #ifdef HAVE_ZLIB_H +- if(pdesc.flags & PFOR_USEZLIB) +- gzclose(pdesc.dfp); ++ if(pdesc->flags & PFOR_USEZLIB) ++ gzclose(pdesc->dfp); + else + #endif +- fclose(pdesc.dfp); ++ fclose(pdesc->dfp); + perror(iname); ++ free(pdesc); + return ((PWDICT *) 0); + } + +- if ((pdesc.wfp = fopen(wname, mode))) ++ if ((pdesc->wfp = fopen(wname, mode))) + { +- pdesc.flags |= PFOR_USEHWMS; ++ pdesc->flags |= PFOR_USEHWMS; + } + +- ifp = pdesc.ifp; +- dfp = pdesc.dfp; +- wfp = pdesc.wfp; ++ ifp = pdesc->ifp; ++ dfp = pdesc->dfp; ++ wfp = pdesc->wfp; + + if (mode[0] == 'w') + { +- pdesc.flags |= PFOR_WRITE; +- pdesc.header.pih_magic = PIH_MAGIC; +- pdesc.header.pih_blocklen = NUMWORDS; +- pdesc.header.pih_numwords = 0; ++ pdesc->flags |= PFOR_WRITE; ++ pdesc->header.pih_magic = PIH_MAGIC; ++ pdesc->header.pih_blocklen = NUMWORDS; ++ pdesc->header.pih_numwords = 0; + +- fwrite((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp); ++ fwrite((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp); + } else + { +- pdesc.flags &= ~PFOR_WRITE; ++ pdesc->flags &= ~PFOR_WRITE; + +- if (!fread((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp)) ++ if (!fread((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp)) + { + fprintf(stderr, "%s: error reading header\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if(pdesc.flags & PFOR_USEZLIB) ++ if(pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -171,21 +172,21 @@ PWOpen(prefix, mode) + { + fclose(wfp); + } ++ free(pdesc); + return ((PWDICT *) 0); + } + +- if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0)) ++ if ((pdesc->header.pih_magic == 0) || (pdesc->header.pih_numwords == 0)) + { + /* uh-oh. either a broken "64-bit" file or a garbage file. */ + rewind (ifp); + if (!fread((char *) &pdesc64.header, sizeof(pdesc64.header), 1, ifp)) + { + fprintf(stderr, "%s: error reading header\n", prefix); +- +- pdesc.header.pih_magic = 0; ++ + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if(pdesc.flags & PFOR_USEZLIB) ++ if(pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -194,17 +195,17 @@ PWOpen(prefix, mode) + { + fclose(wfp); + } ++ free(pdesc); + return ((PWDICT *) 0); + } + if (pdesc64.header.pih_magic != PIH_MAGIC) + { + /* nope, not "64-bit" after all */ + fprintf(stderr, "%s: error reading header\n", prefix); +- +- pdesc.header.pih_magic = 0; ++ + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if(pdesc.flags & PFOR_USEZLIB) ++ if(pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -214,23 +215,23 @@ PWOpen(prefix, mode) + { + fclose(wfp); + } ++ free(pdesc); + return ((PWDICT *) 0); + } +- pdesc.header.pih_magic = pdesc64.header.pih_magic; +- pdesc.header.pih_numwords = pdesc64.header.pih_numwords; +- pdesc.header.pih_blocklen = pdesc64.header.pih_blocklen; +- pdesc.header.pih_pad = pdesc64.header.pih_pad; ++ pdesc->header.pih_magic = pdesc64.header.pih_magic; ++ pdesc->header.pih_numwords = pdesc64.header.pih_numwords; ++ pdesc->header.pih_blocklen = pdesc64.header.pih_blocklen; ++ pdesc->header.pih_pad = pdesc64.header.pih_pad; + use64 = 1; + } + +- if (pdesc.header.pih_magic != PIH_MAGIC) ++ if (pdesc->header.pih_magic != PIH_MAGIC) + { + fprintf(stderr, "%s: magic mismatch\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if(pdesc.flags & PFOR_USEZLIB) ++ if(pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -240,17 +241,17 @@ PWOpen(prefix, mode) + { + fclose(wfp); + } ++ free(pdesc); + return ((PWDICT *) 0); + } + +- if (pdesc.header.pih_numwords < 1) ++ if (pdesc->header.pih_numwords < 1) + { + fprintf(stderr, "%s: invalid word count\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if(pdesc.flags & PFOR_USEZLIB) ++ if(pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -259,17 +260,17 @@ PWOpen(prefix, mode) + { + fclose(wfp); + } ++ free(pdesc); + return ((PWDICT *) 0); + } + +- if (pdesc.header.pih_blocklen != NUMWORDS) ++ if (pdesc->header.pih_blocklen != NUMWORDS) + { + fprintf(stderr, "%s: size mismatch\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if(pdesc.flags & PFOR_USEZLIB) ++ if(pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -278,10 +279,11 @@ PWOpen(prefix, mode) + { + fclose(wfp); + } ++ free(pdesc); + return ((PWDICT *) 0); + } + +- if (pdesc.flags & PFOR_USEHWMS) ++ if (pdesc->flags & PFOR_USEHWMS) + { + int i; + +@@ -289,27 +291,27 @@ PWOpen(prefix, mode) + { + if (fread(pdesc64.hwms, 1, sizeof(pdesc64.hwms), wfp) != sizeof(pdesc64.hwms)) + { +- pdesc.flags &= ~PFOR_USEHWMS; ++ pdesc->flags &= ~PFOR_USEHWMS; + } +- for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++) ++ for (i = 0; i < sizeof(pdesc->hwms) / sizeof(pdesc->hwms[0]); i++) + { +- pdesc.hwms[i] = pdesc64.hwms[i]; ++ pdesc->hwms[i] = pdesc64.hwms[i]; + } + } +- else if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms)) ++ else if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms)) + { +- pdesc.flags &= ~PFOR_USEHWMS; ++ pdesc->flags &= ~PFOR_USEHWMS; + } + #if DEBUG + for (i=1; i<=0xff; i++) + { +- printf("hwm[%02x] = %d\n", i, pdesc.hwms[i]); ++ printf("hwm[%02x] = %d\n", i, pdesc->hwms[i]); + } + #endif + } + } + +- return (&pdesc); ++ return (pdesc); + } + + int +@@ -319,6 +321,7 @@ PWClose(pwp) + if (pwp->header.pih_magic != PIH_MAGIC) + { + fprintf(stderr, "PWClose: close magic mismatch\n"); ++ /* we do not try to free memory that is probably corrupted */ + return (-1); + } + +@@ -330,12 +333,14 @@ PWClose(pwp) + if (fseek(pwp->ifp, 0L, 0)) + { + fprintf(stderr, "index magic fseek failed\n"); ++ free(pwp); + return (-1); + } + + if (!fwrite((char *) &pwp->header, sizeof(pwp->header), 1, pwp->ifp)) + { + fprintf(stderr, "index magic fwrite failed\n"); ++ free(pwp); + return (-1); + } + +@@ -369,6 +374,7 @@ PWClose(pwp) + } + + pwp->header.pih_magic = 0; ++ free(pwp); + + return (0); + } +diff -up cracklib-2.9.0/lib/rules.c.reentrant cracklib-2.9.0/lib/rules.c +--- cracklib-2.9.0/lib/rules.c.reentrant 2013-06-01 16:47:13.000000000 +0200 ++++ cracklib-2.9.0/lib/rules.c 2013-08-21 15:29:24.247641399 +0200 +@@ -82,12 +82,12 @@ Suffix(myword, suffix) + } + + char * +-Reverse(str) /* return a pointer to a reversal */ ++Reverse(str, area) /* return a pointer to a reversal */ + register char *str; ++ char *area; + { + register int i; + register int j; +- static char area[STRINGSIZE]; + j = i = strlen(str); + while (*str) + { +@@ -98,11 +98,11 @@ Reverse(str) /* return a pointer to a + } + + char * +-Uppercase(str) /* return a pointer to an uppercase */ ++Uppercase(str, area) /* return a pointer to an uppercase */ + register char *str; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*str) + { +@@ -115,11 +115,11 @@ Uppercase(str) /* return a pointer to + } + + char * +-Lowercase(str) /* return a pointer to an lowercase */ ++Lowercase(str, area) /* return a pointer to an lowercase */ + register char *str; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*str) + { +@@ -132,11 +132,11 @@ Lowercase(str) /* return a pointer to + } + + char * +-Capitalise(str) /* return a pointer to an capitalised */ ++Capitalise(str, area) /* return a pointer to an capitalised */ + register char *str; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + + while (*str) +@@ -151,11 +151,11 @@ Capitalise(str) /* return a pointer to + } + + char * +-Pluralise(string) /* returns a pointer to a plural */ ++Pluralise(string, area) /* returns a pointer to a plural */ + register char *string; ++ char *area; + { + register int length; +- static char area[STRINGSIZE]; + length = strlen(string); + strcpy(area, string); + +@@ -192,13 +192,13 @@ Pluralise(string) /* returns a pointer + } + + char * +-Substitute(string, old, new) /* returns pointer to a swapped about copy */ ++Substitute(string, old, new, area) /* returns pointer to a swapped about copy */ + register char *string; + register char old; + register char new; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -210,12 +210,12 @@ Substitute(string, old, new) /* returns + } + + char * +-Purge(string, target) /* returns pointer to a purged copy */ ++Purge(string, target, area) /* returns pointer to a purged copy */ + register char *string; + register char target; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -372,13 +372,13 @@ PolyStrchr(string, class) + } + + char * +-PolySubst(string, class, new) /* returns pointer to a swapped about copy */ ++PolySubst(string, class, new, area) /* returns pointer to a swapped about copy */ + register char *string; + register char class; + register char new; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -390,12 +390,12 @@ PolySubst(string, class, new) /* returns + } + + char * +-PolyPurge(string, class) /* returns pointer to a purged copy */ ++PolyPurge(string, class, area) /* returns pointer to a purged copy */ + register char *string; + register char class; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -428,40 +428,41 @@ Char2Int(character) + } + + char * +-Mangle(input, control) /* returns a pointer to a controlled Mangle */ ++Mangle(input, control, area) /* returns a pointer to a controlled Mangle */ + char *input; + char *control; ++ char *area; + { + int limit; + register char *ptr; +- static char area[STRINGSIZE]; + char area2[STRINGSIZE]; + area[0] = '\0'; + strcpy(area, input); + + for (ptr = control; *ptr; ptr++) + { ++ strcpy(area2, area); + switch (*ptr) + { + case RULE_NOOP: + break; + case RULE_REVERSE: +- strcpy(area, Reverse(area)); ++ Reverse(area2, area); + break; + case RULE_UPPERCASE: +- strcpy(area, Uppercase(area)); ++ Uppercase(area2, area); + break; + case RULE_LOWERCASE: +- strcpy(area, Lowercase(area)); ++ Lowercase(area2, area); + break; + case RULE_CAPITALISE: +- strcpy(area, Capitalise(area)); ++ Capitalise(area2, area); + break; + case RULE_PLURALISE: +- strcpy(area, Pluralise(area)); ++ Pluralise(area2, area); + break; + case RULE_REFLECT: +- strcat(area, Reverse(area)); ++ strcat(area, Reverse(area, area2)); + break; + case RULE_DUPLICATE: + strcpy(area2, area); +@@ -548,7 +549,6 @@ Mangle(input, control) /* returns a poi + Debug(1, "Mangle: extract: weird argument in '%s'\n", control); + return ((char *) 0); + } +- strcpy(area2, area); + for (i = 0; length-- && area2[start + i]; i++) + { + area[i] = area2[start + i]; +@@ -619,10 +619,10 @@ Mangle(input, control) /* returns a poi + return ((char *) 0); + } else if (ptr[1] != RULE_CLASS) + { +- strcpy(area, Purge(area, *(++ptr))); ++ Purge(area2, *(++ptr), area); + } else + { +- strcpy(area, PolyPurge(area, ptr[2])); ++ PolyPurge(area2, ptr[2], area); + ptr += 2; + } + break; +@@ -633,11 +633,11 @@ Mangle(input, control) /* returns a poi + return ((char *) 0); + } else if (ptr[1] != RULE_CLASS) + { +- strcpy(area, Substitute(area, ptr[1], ptr[2])); ++ Substitute(area2, ptr[1], ptr[2], area); + ptr += 2; + } else + { +- strcpy(area, PolySubst(area, ptr[2], ptr[3])); ++ PolySubst(area2, ptr[2], ptr[3], area); + ptr += 3; + } + break; diff --git a/cracklib-2.9.0-python-gzdicts.patch b/cracklib-2.9.0-python-gzdicts.patch new file mode 100644 index 0000000..feac201 --- /dev/null +++ b/cracklib-2.9.0-python-gzdicts.patch @@ -0,0 +1,104 @@ +diff -up cracklib-2.9.0/python/_cracklib.c.gzdicts cracklib-2.9.0/python/_cracklib.c +--- cracklib-2.9.0/python/_cracklib.c.gzdicts 2013-06-01 16:47:13.000000000 +0200 ++++ cracklib-2.9.0/python/_cracklib.c 2013-08-20 12:37:32.028611493 +0200 +@@ -23,6 +23,7 @@ + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include "config.h" + #ifdef PYTHON_H + #include PYTHON_H + #else +@@ -72,9 +73,8 @@ static char _cracklib_FascistCheck_doc [ + static PyObject * + _cracklib_FascistCheck(PyObject *self, PyObject *args, PyObject *kwargs) + { +- char *candidate, *dict; +- char *defaultdict = NULL; +- const char *result; ++ char *candidate; ++ const char *result, *dict; + struct stat st; + char *keywords[] = {"pw", "dictpath", NULL}; + char *dictfile; +@@ -103,44 +103,35 @@ _cracklib_FascistCheck(PyObject *self, P + "second argument was not an absolute path!"); + return NULL; + } +- dictfile = malloc(strlen(dict) + sizeof(DICT_SUFFIX)); +- if (dictfile == NULL) +- { +- PyErr_SetFromErrnoWithFilename(PyExc_OSError, dict); +- return NULL; +- } +- sprintf(dictfile, "%s" DICT_SUFFIX, dict); +- if (lstat(dictfile, &st) == -1) +- { +- PyErr_SetFromErrnoWithFilename(PyExc_OSError, dictfile); +- free(dictfile); +- return NULL; +- } +- free(dictfile); + } else + { +- defaultdict = strdup(GetDefaultCracklibDict()); +- if (errno == ENOMEM) { +- PyErr_SetFromErrno(PyExc_OSError); +- return NULL; +- } +- dictfile = malloc(strlen(defaultdict) + sizeof(DICT_SUFFIX)); +- if (dictfile == NULL) +- { +- PyErr_SetFromErrnoWithFilename(PyExc_OSError, defaultdict); +- free(defaultdict); +- return NULL; +- } +- sprintf(dictfile, "%s" DICT_SUFFIX, defaultdict); ++ /* No need to strdup() anything as this is a constant value */ ++ dict = GetDefaultCracklibDict(); ++ } ++ ++ dictfile = malloc(strlen(dict) + sizeof(DICT_SUFFIX) + 3); ++ if (dictfile == NULL) ++ { ++ PyErr_SetFromErrnoWithFilename(PyExc_OSError, dict); ++ return NULL; ++ } ++ sprintf(dictfile, "%s" DICT_SUFFIX, dict); ++ if (lstat(dictfile, &st) == -1) ++ { ++#ifdef HAVE_ZLIB_H ++ sprintf(dictfile, "%s" DICT_SUFFIX ".gz", dict); + if (lstat(dictfile, &st) == -1) + { ++ sprintf(dictfile, "%s" DICT_SUFFIX, dict); ++#endif + PyErr_SetFromErrnoWithFilename(PyExc_OSError, dictfile); +- free(defaultdict); + free(dictfile); + return NULL; ++#ifdef HAVE_ZLIB_H + } +- free(dictfile); ++#endif + } ++ free(dictfile); + + setlocale(LC_ALL, ""); + #ifdef ENABLE_NLS +@@ -148,14 +139,9 @@ _cracklib_FascistCheck(PyObject *self, P + #endif + + LOCK(); +- result = FascistCheck(candidate, dict ? dict : defaultdict); ++ result = FascistCheck(candidate, dict); + UNLOCK(); + +- if (defaultdict != NULL) +- { +- free(defaultdict); +- } +- + if (result != NULL) + { + PyErr_SetString(PyExc_ValueError, result); diff --git a/cracklib.spec b/cracklib.spec index 18c3a20..5db14ef 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.0 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -53,6 +53,10 @@ Source37: pass_file.gz # https://bugzilla.redhat.com/attachment.cgi?id=386022 Source38: ry-threshold10.txt Patch1: cracklib-2.8.15-inttypes.patch +Patch2: cracklib-2.9.0-python-gzdicts.patch +Patch3: cracklib-2.9.0-packlib-lookup.patch +Patch4: cracklib-2.9.0-packlib-reentrant.patch +Patch5: cracklib-2.9.0-packlib-gztype.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -115,11 +119,18 @@ If you are installing CrackLib, you should also install cracklib-dicts. %prep %setup -q -a 2 + cp lib/packer.h lib/packer.h.in # Replace zn_CN.po with one that wasn't mis-transcoded at some point. grep '????????????????' po/zh_CN.po install -p -m 644 %{SOURCE3} po/zh_CN.po + %patch1 -p1 -b .inttypes +%patch2 -p1 -b .gzdicts +%patch3 -p1 -b .lookup +%patch4 -p1 -b .reentrant +%patch5 -p1 -b .gztype + autoreconf -f -i mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ @@ -179,6 +190,7 @@ gzip -9v $RPM_BUILD_ROOT/%{_datadir}/cracklib/*.pwd %find_lang %{name} %check +make test # We want to check that the new library is able to open the new dictionaries, # using the new python module. LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir} %{__python} 2>&1 << EOF @@ -233,7 +245,6 @@ EOF %files dicts %defattr(-,root,root) -%dir %{_datadir}/cracklib %{_datadir}/cracklib/pw_dict.* %{_datadir}/cracklib/cracklib-small.* %{_libdir}/cracklib_dict.* @@ -246,6 +257,11 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Wed Aug 21 2013 Tomáš Mráz - 2.9.0-3 +- fix the python module to work with compressed dictionaries (#972542) +- fix various dictionary lookup errors (#986400, #986401) +- make the library reentrant and fix compilation warnings + * Sat Aug 03 2013 Fedora Release Engineering - 2.9.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From 247f79b13732ed95bbf5bda9eff9859368a1d317 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 28 Aug 2013 11:38:35 +0200 Subject: [PATCH 23/85] revert compression of the dictionaries as the performance penalty is too big --- cracklib.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 5db14ef..9688d9e 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.0 -Release: 3%{?dist} +Release: 4%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -170,7 +170,7 @@ done rm -f $RPM_BUILD_ROOT/top if test %{dictpath} != %{_libdir}/cracklib_dict ; then ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.hwm -ln -s $toprelpath%{dictpath}.pwd.gz $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd.gz +ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwi fi rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/_cracklib*.*a @@ -185,7 +185,6 @@ fi if ! test -s $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 ; then echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 fi -gzip -9v $RPM_BUILD_ROOT/%{_datadir}/cracklib/*.pwd %find_lang %{name} @@ -257,6 +256,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Wed Aug 28 2013 Tomáš Mráz - 2.9.0-4 +- revert compression of the dictionaries as the performance penalty is too big + * Wed Aug 21 2013 Tomáš Mráz - 2.9.0-3 - fix the python module to work with compressed dictionaries (#972542) - fix various dictionary lookup errors (#986400, #986401) From d8d736852f9a8d0cc98fa65cf2bd0c2048975da7 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 3 Sep 2013 08:00:17 +0200 Subject: [PATCH 24/85] make the simplistic check and the purging of special characters much less aggressive (#1003624, #985378) --- cracklib-2.9.0-simplistic.patch | 94 +++++++++++++++++++++++++++++++++ cracklib.spec | 8 ++- 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 cracklib-2.9.0-simplistic.patch diff --git a/cracklib-2.9.0-simplistic.patch b/cracklib-2.9.0-simplistic.patch new file mode 100644 index 0000000..2d529eb --- /dev/null +++ b/cracklib-2.9.0-simplistic.patch @@ -0,0 +1,94 @@ +diff -up cracklib-2.9.0/lib/fascist.c.simplistic cracklib-2.9.0/lib/fascist.c +--- cracklib-2.9.0/lib/fascist.c.simplistic 2013-09-03 07:45:55.369653537 +0200 ++++ cracklib-2.9.0/lib/fascist.c 2013-09-03 07:48:58.686759120 +0200 +@@ -55,7 +55,6 @@ static char *r_destructors[] = { + + "/?p@?p", /* purging out punctuation/symbols/junk */ + "/?s@?s", +- "/?X@?X", + + /* attempt reverse engineering of password strings */ + +@@ -454,6 +453,12 @@ GTry(rawtext, password) + continue; + } + ++ if (len - strlen(mp) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s = %-16s (destruct %s)\n", mp, rawtext, r_destructors[i]); + #endif +@@ -480,6 +485,12 @@ GTry(rawtext, password) + continue; + } + ++ if (len - strlen(mp) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s = %-16s (construct %s)\n", mp, password, r_constructors[i]); + #endif +@@ -699,6 +710,7 @@ FascistLookUser(PWDICT *pwp, char *instr + char rpassword[STRINGSIZE]; + char area[STRINGSIZE]; + uint32_t notfound; ++ int len; + + notfound = PW_WORDS(pwp); + /* already truncated if from FascistCheck() */ +@@ -748,6 +760,7 @@ FascistLookUser(PWDICT *pwp, char *instr + return _("it is all whitespace"); + } + ++ len = strlen(password); + i = 0; + ptr = password; + while (ptr[0] && ptr[1]) +@@ -759,10 +772,9 @@ FascistLookUser(PWDICT *pwp, char *instr + ptr++; + } + +- /* Change by Ben Karsin from ITS at University of Hawaii at Manoa. Static MAXSTEP +- would generate many false positives for long passwords. */ +- maxrepeat = 3+(0.09*strlen(password)); +- if (i > maxrepeat) ++ /* We were still generating false positives for long passwords. ++ Just count systematic double as a single character. */ ++ if (len - i < MINLEN) + { + return _("it is too simplistic/systematic"); + } +@@ -795,6 +807,12 @@ FascistLookUser(PWDICT *pwp, char *instr + continue; + } + ++ if (len - strlen(a) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s (dict)\n", a); + #endif +@@ -815,6 +833,13 @@ FascistLookUser(PWDICT *pwp, char *instr + { + continue; + } ++ ++ if (len - strlen(a) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s (reversed dict)\n", a); + #endif diff --git a/cracklib.spec b/cracklib.spec index 9688d9e..7c263d1 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.0 -Release: 4%{?dist} +Release: 5%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -57,6 +57,7 @@ Patch2: cracklib-2.9.0-python-gzdicts.patch Patch3: cracklib-2.9.0-packlib-lookup.patch Patch4: cracklib-2.9.0-packlib-reentrant.patch Patch5: cracklib-2.9.0-packlib-gztype.patch +Patch6: cracklib-2.9.0-simplistic.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -130,6 +131,7 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch3 -p1 -b .lookup %patch4 -p1 -b .reentrant %patch5 -p1 -b .gztype +%patch6 -p1 -b .simplistic autoreconf -f -i mkdir cracklib-dicts @@ -256,6 +258,10 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Tue Sep 3 2013 Tomáš Mráz - 2.9.0-5 +- make the simplistic check and the purging of special characters much + less aggressive (#1003624, #985378) + * Wed Aug 28 2013 Tomáš Mráz - 2.9.0-4 - revert compression of the dictionaries as the performance penalty is too big From 3c36ea8ab52937b4109b4438afd82021c2fccc95 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 31 Oct 2013 17:03:44 +0100 Subject: [PATCH 25/85] do not remove any printable characters in cracklib-format fix the broken zh_CN translation --- cracklib-2.9.0-simplistic.patch | 20 ++++++++++++++++++-- cracklib.spec | 9 ++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/cracklib-2.9.0-simplistic.patch b/cracklib-2.9.0-simplistic.patch index 2d529eb..4ee2946 100644 --- a/cracklib-2.9.0-simplistic.patch +++ b/cracklib-2.9.0-simplistic.patch @@ -1,6 +1,6 @@ diff -up cracklib-2.9.0/lib/fascist.c.simplistic cracklib-2.9.0/lib/fascist.c ---- cracklib-2.9.0/lib/fascist.c.simplistic 2013-09-03 07:45:55.369653537 +0200 -+++ cracklib-2.9.0/lib/fascist.c 2013-09-03 07:48:58.686759120 +0200 +--- cracklib-2.9.0/lib/fascist.c.simplistic 2013-10-31 14:46:23.160959124 +0100 ++++ cracklib-2.9.0/lib/fascist.c 2013-10-31 14:46:23.164959212 +0100 @@ -55,7 +55,6 @@ static char *r_destructors[] = { "/?p@?p", /* purging out punctuation/symbols/junk */ @@ -92,3 +92,19 @@ diff -up cracklib-2.9.0/lib/fascist.c.simplistic cracklib-2.9.0/lib/fascist.c #ifdef DEBUG printf("%-16s (reversed dict)\n", a); #endif +diff -up cracklib-2.9.0/util/cracklib-format.simplistic cracklib-2.9.0/util/cracklib-format +--- cracklib-2.9.0/util/cracklib-format.simplistic 2013-06-01 16:47:13.000000000 +0200 ++++ cracklib-2.9.0/util/cracklib-format 2013-10-31 15:24:01.976736045 +0100 +@@ -3,8 +3,10 @@ + # This preprocesses a set of word lists into a suitable form for input + # into cracklib-packer + # ++LC_ALL=C ++export LC_ALL + gzip -cdf "$@" | + grep -v '^\(#\|$\)' | +- tr '[A-Z]' '[a-z]' | +- tr -cd '\012[a-z][0-9]' | ++ tr '[:upper:]' '[:lower:]' | ++ tr -cd '\n[:graph:]' | + sort -u diff --git a/cracklib.spec b/cracklib.spec index 7c263d1..4e1f8f1 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.0 -Release: 5%{?dist} +Release: 7%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -148,6 +148,7 @@ chmod +x util/cracklib-format %build %configure --with-pic --with-python --with-default-dict=%{dictpath} --disable-static +make -C po zh_CN.gmo make %install @@ -258,6 +259,12 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Thu Oct 31 2013 Tomáš Mráz - 2.9.0-7 +- do not remove any printable characters in cracklib-format + +* Thu Oct 31 2013 Tomáš Mráz - 2.9.0-6 +- fix the broken zh_CN translation + * Tue Sep 3 2013 Tomáš Mráz - 2.9.0-5 - make the simplistic check and the purging of special characters much less aggressive (#1003624, #985378) From edb1a12c91728a50a658b244693ddc3c00307199 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 28 Nov 2013 14:35:33 +0100 Subject: [PATCH 26/85] updated translations --- cracklib-2.9.0-translation-updates.patch | 2391 ++++++++++++++++++++++ cracklib.spec | 9 +- 2 files changed, 2398 insertions(+), 2 deletions(-) create mode 100644 cracklib-2.9.0-translation-updates.patch diff --git a/cracklib-2.9.0-translation-updates.patch b/cracklib-2.9.0-translation-updates.patch new file mode 100644 index 0000000..d622fd1 --- /dev/null +++ b/cracklib-2.9.0-translation-updates.patch @@ -0,0 +1,2391 @@ +diff -urN a/cracklib-2.9.0/po/as.po b/cracklib-2.9.0/po/as.po +--- a/cracklib-2.9.0/po/as.po 2013-11-28 14:45:28.760394985 +0530 ++++ b/cracklib-2.9.0/po/as.po 2013-11-28 14:45:39.734488460 +0530 +@@ -1,82 +1,83 @@ + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Amitakhya Phukan , 2009. ++# ngoswami , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: \n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-12 11:39+0530\n" +-"Last-Translator: Amitakhya Phukan \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-23 10:11-0400\n" ++"Last-Translator: ngoswami \n" + "Language-Team: Assamese <>\n" +-"Language: as\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: Lokalize 1.0\n" ++"Language: as\n" + "Plural-Forms: nplurals=2; plural=n != 1;\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "আপুনি গুপ্তশব্দৰ নথিপত্ৰ পঞ্জিকৃত নহয়" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "এইটো আপোনাৰ ব্যৱহাৰকৰ্তাৰ নামৰ আধাৰত" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "এইটো আপোনাৰ গুপ্তশব্দৰ নিবেশৰ আধাৰত" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পোৱা হৈছে" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পোৱা হৈছে" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পাব পাৰি" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পাব পাৰি" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "আপুনি গুপ্তশব্দৰ নথিপত্ৰ পঞ্জিকৃত নহয়" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "ই বৰ সৰু" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "ই বৰ সৰু" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "ইয়াত যথেষ্ট ভিন্ন আকৰ নাই" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "ই সম্পূৰ্ণৰূপে ৰিক্ত স্থানেৰে ভৰা" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "ই বৰ সৰল/শৃংখলাবদ্ধ" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "ই দেখাত এটা National Insurance ৰ নম্বৰৰ দৰে ।" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "ই এটা অভিধানৰ শব্দৰ আধাৰত" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "ই এটা অভিধানৰ শব্দৰ আধাৰত (ওলোটা ক্ৰমত)" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "শব্দকোষ ল'ড কৰোতে ত্ৰুটি" +diff -urN a/cracklib-2.9.0/po/bn_IN.po b/cracklib-2.9.0/po/bn_IN.po +--- a/cracklib-2.9.0/po/bn_IN.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/bn_IN.po 2013-11-28 14:45:39.734488460 +0530 +@@ -1,83 +1,84 @@ + # translation of cracklib.po to Bengali INDIA + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the cracklib package. +-# ++# + # Runa Bhattacharjee , 2009. ++# sray , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default.cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-11 12:34+0530\n" +-"Last-Translator: Runa Bhattacharjee \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-03 05:14-0400\n" ++"Last-Translator: sray \n" + "Language-Team: Bengali INDIA \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" ++"Language: bn-IN\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.1.2\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "পাসওয়ার্ড ফাইলের মধ্যে আপনার পরিচয় নিবন্ধিত নয়" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "আপনার ব্যবহারকারীর নামের উপর এটি নির্ভরশীল" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "আপনার পাসওয়ার্ড এনট্রির উপর এটি নির্ভরশীল" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা হয়েছে" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা হয়েছে" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা সম্ভব" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা সম্ভব" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "পাসওয়ার্ড ফাইলের মধ্যে আপনার পরিচয় নিবন্ধিত নয়" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "এটি অত্যাধিক ছোট" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "এটি অতিমাত্রায় ছোট" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "এর মধ্যে উপস্থিত অক্ষরগুলির মধ্যে পর্যাপ্ত বৈচিত্র উপস্থিত নেই" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "এটি শুধুমাত্র শূণ্যস্থান দ্বারা গঠিত হয়েছে" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "এটি অত্যাধিক সরল/গতানুগতিক" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "এটি একটি বীমার অ্যাকাউন্টের সংখ্যার অনুরূপ।" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "এটি অভিধানের একটি শব্দের ভিত্তিতে নির্ধারিত হয়েছে" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "এটি অভিধানের একটি শব্দের (বিপরীত) ভিত্তিতে নির্ধারিত হয়েছে" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "অভিধান লোড হতে সমস্যা" +diff -urN a/cracklib-2.9.0/po/de.po b/cracklib-2.9.0/po/de.po +--- a/cracklib-2.9.0/po/de.po 2013-11-28 14:45:28.758394968 +0530 ++++ b/cracklib-2.9.0/po/de.po 2013-11-28 14:45:39.734488460 +0530 +@@ -4,82 +4,82 @@ + # Antje Faber , 2000-2003. + # Karl Eichwalder , 1999-2003. + # Martin Lohner , 2000. +-# ++# rgromans , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: new\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2003-11-27 18:31GMT\n" +-"Last-Translator: Novell Language \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-17 11:45-0400\n" ++"Last-Translator: rgromans \n" + "Language-Team: Novell Language \n" +-"Language: \n" + "MIME-Version: 1.0\n" +-"Content-Type: text/plain; charset=utf-8\n" ++"Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: de\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" +-"X-Generator: KBabel 1.0.2\n" ++"X-Generator: Zanata 3.1.2\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "Sie sind nicht in der passwd-Datei eingetragen." ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "Es basiert auf Ihrem Benutzernamen" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "Es basiert auf Ihrem Passwort-Eintrag" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "Es wird von Ihrem Passwort-Eintrag abgeleitet" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "Es wird von Ihrem Passwort-Eintrag abgeleitet" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "Es kann von Ihrem Passwort-Eintrag abgeleitet werden." + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "Es kann von Ihrem Passwort-Eintrag abgeleitet werden." + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "Sie sind nicht in der passwd-Datei eingetragen." +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "Es ist VIEL zu kurz" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "Es ist zu kurz" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "Es enthält nicht genug unterschiedliche Zeichen" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "Es besteht nur aus Leerzeichen" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "Es ist zu einfach/systematisch" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "Es schaut nach Versicherungsnummer aus" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "Es basiert auf einem Wörterbucheintrag" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "Es basiert auf einem (umgekehrten) Wörterbucheintrag" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "Fehler beim Laden des Wörterbuches" +diff -urN a/cracklib-2.9.0/po/es.po b/cracklib-2.9.0/po/es.po +--- a/cracklib-2.9.0/po/es.po 2013-11-28 14:45:28.760394985 +0530 ++++ b/cracklib-2.9.0/po/es.po 2013-11-28 14:45:39.734488460 +0530 +@@ -1,81 +1,82 @@ + # translation of cracklib.po to + # This file is put in the public domain. + # , 2003 +-# ++# gguerrer , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2005-06-23 13:17+02:00\n" +-"Last-Translator: Novell Language \n" +-"Language-Team: Novell Language \n" +-"Language: \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-23 07:39-0400\n" ++"Last-Translator: gguerrer \n" ++"Language-Team: Novell Language \n" + "MIME-Version: 1.0\n" +-"Content-Type: text/plain; charset=utf-8\n" ++"Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.0.1\n" ++"Language: es\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "No está registrado en el archivo de contraseñas." ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" +-msgstr "Está basada en su nombre de usuario." ++msgstr "Se basa en su nombre de usuario." + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" +-msgstr "Está basada en su contraseña." ++msgstr "Se base en la entrada de su contraseña." + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "Se deriva de su contraseña." + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "Se deriva de su contraseña." + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "Puede derivarse de su contraseña." + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "Puede derivarse de su contraseña." + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "No está registrado en el archivo de contraseñas." +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "Es DEMASIADO corta." + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "Es demasiado corta." + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "No contiene suficientes caracteres DIFERENTES." + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "Está formada sólo por espacios." + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "Es demasiado simple/sistemática." + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "Parece un número de la Seguridad Social." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "Está basada en una palabra del diccionario." + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "Está basada en una palabra del diccionario escrita al revés." + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "Error al cargar el diccionario" +diff -urN a/cracklib-2.9.0/po/fr.po b/cracklib-2.9.0/po/fr.po +--- a/cracklib-2.9.0/po/fr.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/fr.po 2013-11-28 14:45:39.734488460 +0530 +@@ -1,81 +1,82 @@ + # translation of cracklib.po to Français + # This file is put in the public domain. + # Patricia Vaz , 2003 +-# ++# Sam Friedmann , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2005-06-23 13:17+02:00\n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-08 12:03-0400\n" + "Last-Translator: Novell Language \n" + "Language-Team: Novell Language \n" +-"Language: \n" + "MIME-Version: 1.0\n" +-"Content-Type: text/plain; charset=utf-8\n" ++"Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.0.1\n" ++"Language: fr\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=2; plural=(n > 1)\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "vous n'êtes pas enregistré dans le fichier de mot de passe" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "basé sur votre nom d'utilisateur" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "basé sur votre mot de passe" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "dérivé de votre mot de passe" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "dérivé de votre mot de passe" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "dérivable de votre mot de passe" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "dérivable de votre mot de passe" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "vous n'êtes pas enregistré dans le fichier de mot de passe" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "BEAUCOUP trop court" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "trop court" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "ne contient pas suffisamment de caractères DIFFÉRENTS" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "il n'y a que des espaces" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "trop simple/systématique" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "ressemble à un numéro de sécurité sociale" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "basé sur un mot du dictionnaire" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "basé sur un mot du dictionnaire à l'envers" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "erreur lors du chargement du dictionnaire" +diff -urN a/cracklib-2.9.0/po/gu.po b/cracklib-2.9.0/po/gu.po +--- a/cracklib-2.9.0/po/gu.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/gu.po 2013-11-28 14:45:39.734488460 +0530 +@@ -1,84 +1,85 @@ + # translation of cracklib.default.cracklib.gu.po to Gujarati + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Ankit Patel , 2009. ++# swkothar , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default.cracklib.gu\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-10-22 18:13+0530\n" +-"Last-Translator: Ankit Patel \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-24 05:01-0400\n" ++"Last-Translator: swkothar \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" +-"X-Generator: KBabel 1.11.4\n" +-"Plural-Forms: nplurals=2; plural=(n!=1);\n" ++"Language: gu\n" ++"Plural-Forms: nplurals=2; plural=(n!=1);\n" + "\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "પાસવર્ડ ફાઈલમાં તમારી નોંધ થયેલ નથી" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "તમારા વપરાશકર્તા નામ પર આધારિત છે" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "તમારા પાસવર્ડ પ્રવેશ પર આધારિત છે" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવવામાં આવેલ છે" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવવામાં આવેલ છે" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવી શકાય તેવું છે" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવી શકાય તેવું છે" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "પાસવર્ડ ફાઈલમાં તમારી નોંધ થયેલ નથી" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "ખૂબ ટૂંકો છે" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "ખૂબ ટૂંકો છે" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "ભિન્ન અક્ષરો સમાવતો નથી" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "આ બધી ખાલી જગ્યા છે" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "ખૂબ સરળ છે/પદ્ધતિસરનું છે" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "રાષ્ટ્રિય વીમા નંબર જેવું દેખાય છે." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "શબ્દકોષના શબ્દ પર આધારિત છે" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "(આરક્ષિત) શબ્દકોષના શબ્દ પર આધારિત છે" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "શબ્દકોષને લાવી રહ્યા હોય ત્યારે ભૂલ" +diff -urN a/cracklib-2.9.0/po/hi.po b/cracklib-2.9.0/po/hi.po +--- a/cracklib-2.9.0/po/hi.po 2013-11-28 14:45:28.761394994 +0530 ++++ b/cracklib-2.9.0/po/hi.po 2013-11-28 14:45:39.735488470 +0530 +@@ -2,84 +2,85 @@ + # Hindi translations for cracklib package. + # Copyright (C) 2009, 2010 Free Software Foundation, Inc. + # This file is distributed under the same license as the cracklib package. +-# ++# + # Rajesh Ranjan , 2010. ++# rranjan , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default.cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2010-04-06 12:21+0530\n" +-"Last-Translator: Rajesh Ranjan \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-23 04:21-0400\n" ++"Last-Translator: rranjan \n" + "Language-Team: Hindi \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" ++"Language: hi\n" + "Plural-Forms: nplurals=2; plural=(n!=1);\n" + "\n" ++"X-Generator: Zanata 3.1.2\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "आप कूटशब्द फ़ाइल में पंजीकृत नहीं हैं" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "यह आपके उपयोक्ता नाम पर आधारित है" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "यह आपकी कूटशब्द प्रविष्टि पर आधारित है" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "यह आपकी कूटशब्द प्रविष्टि से निकला हुआ है" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "यह आपकी कूटशब्द प्रविष्टि से निकला हुआ है" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "यह आपकी कूटशब्द प्रविष्टि से निकलने योग्य है" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "यह आपकी कूटशब्द प्रविष्टि से निकलने योग्य है" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "आप कूटशब्द फ़ाइल में पंजीकृत नहीं हैं" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "यह बहुत ही छोटा है" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "यह बहुत छोटा है" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "इसमें पर्याप्त मात्रा में भिन्न वर्ण समाहित नहीं हैं" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "यह पूरी तरह से खाली स्थान है" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "यह काफी सरल/क्रमबद्ध है" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "यह राष्ट्रीय बीमा संख्या की तरह दिखता है." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "यह शब्दकोश के शब्द पर आधारित है" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "यह शब्दकोश के शब्द (विलोम) पर आधारित है" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "शब्दकोश लोड करने में त्रुटि" +diff -urN a/cracklib-2.9.0/po/it.po b/cracklib-2.9.0/po/it.po +--- a/cracklib-2.9.0/po/it.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/it.po 2013-11-28 14:45:39.735488470 +0530 +@@ -1,81 +1,82 @@ + # SOME DESCRIPTIVE TITLE. + # This file is put in the public domain. + # FIRST AUTHOR , YEAR. +-# ++# fvalen , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2005-06-23 13:15+02:00\n" +-"Last-Translator: Novell Language \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-24 10:43-0400\n" ++"Last-Translator: fvalen \n" + "Language-Team: Novell Language \n" +-"Language: \n" + "MIME-Version: 1.0\n" +-"Content-Type: text/plain; charset=utf-8\n" ++"Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 0.9.6\n" ++"Language: it\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "Non siete registrati nel file delle password" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "Si basa sul vostro nome utente" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "Si basa sulla vostra password registrata" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "Deriva dalla vostra password registrata" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "Deriva dalla vostra password registrata" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "Può essere derivata dalla vostra password registrata" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "Può essere derivata dalla vostra password registrata" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "Non siete registrati nel file delle password" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "E' TROPPO breve" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "E' troppo breve" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "Non contiene abbastanza caratteri DIFFERENTI" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "E' composta solo da caratteri di spaziatura" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "E' troppo semplice/sistematica" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "Sembra essere un codice dell'Assicurazione" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "Si basa su un termine di dizionario" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "Si basa su un termine (rovesciato) di dizionario" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "errore nel caricare il dizionario" +diff -urN a/cracklib-2.9.0/po/ja.po b/cracklib-2.9.0/po/ja.po +--- a/cracklib-2.9.0/po/ja.po 2013-11-28 14:45:28.761394994 +0530 ++++ b/cracklib-2.9.0/po/ja.po 2013-11-28 14:45:39.735488470 +0530 +@@ -2,80 +2,82 @@ + # Copyright (C) YEAR Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# ++# noriko , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2005-08-18 11:52-0000\n" +-"Last-Translator: Novell Language \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-30 01:55-0400\n" ++"Last-Translator: noriko \n" + "Language-Team: Novell Language \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: ja\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=1; plural=0\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "パスワードファイルで登録されていません" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "パスワードファイルはユーザー名に基づいています" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "パスワードエントリに基づいています" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "パスワードエントリから引き出されています" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "パスワードエントリから引き出されています" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "パスワードエントリから引き出せます" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "パスワードエントリから引き出せます" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "パスワードファイルで登録されていません" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "あまりにも短かすぎます" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "短かすぎます" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "異なる文字が十分に含まれていません" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "すべて余白です" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "単純/系統的すぎます" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "国民保険番号のように見えます。" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "辞書の単語に基づいています" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "(逆順の)辞書の単語に基づいています" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "辞書の読み込み中二エラーが発生しました" +diff -urN a/cracklib-2.9.0/po/kn.po b/cracklib-2.9.0/po/kn.po +--- a/cracklib-2.9.0/po/kn.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/kn.po 2013-11-28 14:45:39.735488470 +0530 +@@ -1,83 +1,84 @@ + # translation of cracklib.po to Kannada + # Copyright (C) 2008 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Shankar Prasad , 2008. ++# Shankar Prasad , 2008, 2013. + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2008-12-11 11:49+0530\n" ++"POT-Creation-Date: 2013-08-06 14:45+0530\n" ++"PO-Revision-Date: 2013-10-28 02:15-0400\n" + "Last-Translator: Shankar Prasad \n" +-"Language-Team: Kannada \n" +-"Language: kn\n" ++"Language-Team: Kannada \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" +-"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"Language: kn\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "ಗುಪ್ತಪದದ ಕಡತದಲ್ಲಿ ನಿಮ್ಮ ಹೆಸರು ನೋಂದಾಯಿಸಲ್ಪಟ್ಟಿಲ್ಲ" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "ಇದು ನಿಮ್ಮ ಬಳಕೆದಾರಹೆಸರಿನ ಮೇಲೆ ಆಧರಿತವಾಗಿದೆ" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "ಇದು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನ ಮೇಲೆ ಆಧರಿತವಾಗಿದೆ" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "ಇದನ್ನು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "ಇದು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲ್ಪಟ್ಟಿದೆ" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "ಇದನ್ನು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಬಹುದಾಗಿದೆ" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "ಇದನ್ನು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಬಹುದಾಗಿದೆ" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "ಗುಪ್ತಪದದ ಕಡತದಲ್ಲಿ ನಿಮ್ಮ ಹೆಸರು ನೋಂದಾಯಿಸಲ್ಪಟ್ಟಿಲ್ಲ" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "ಇದು ಅತ್ಯಂತ ಚಿಕ್ಕದಾಗಿದೆ" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "ಇದು ಬಹಳ ಚಿಕ್ಕದಾಗಿದೆ" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "ಇದು ವಿಭಿನ್ನವಾದ ಸಾಕಷ್ಟು ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿಲ್ಲ" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "ಇದು ಕೇವಲ ಖಾಲಿ ಜಾಗಗಳನ್ನು ಹೊಂದಿದೆ" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "ಇದು ಬಹಳ ಸರಳ/ಊಹಿಸಬಹುದಾಗಿದೆ" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "ಇದು ರಾಷ್ಟ್ರೀಯ ವಿಮೆ ಸಂಖ್ಯೆಯಂತೆ ಕಾಣಿಸುತ್ತಿದೆ" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "ಇದು ಶಬ್ಧಕೋಶದಲ್ಲಿನ ಒಂದು ಪದದಂತಿದೆ" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "ಇದು ಶಬ್ಧಕೋಶದಲ್ಲಿನ ಒಂದು ಪದದಂತಿದೆ(ತಿರುಮುರುವು)" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "ಕೋಶವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ" +diff -urN a/cracklib-2.9.0/po/ko.po b/cracklib-2.9.0/po/ko.po +--- a/cracklib-2.9.0/po/ko.po 2013-11-28 14:45:28.761394994 +0530 ++++ b/cracklib-2.9.0/po/ko.po 2013-11-28 14:45:39.735488470 +0530 +@@ -1,83 +1,84 @@ + # translation of cracklib.default.po to Korean + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Eunju Kim , 2009. ++# eukim , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-18 11:19+1000\n" +-"Last-Translator: Eunju Kim \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-24 12:33-0400\n" ++"Last-Translator: eukim \n" + "Language-Team: Korean \n" +-"Language: ko\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" +-"Plural-Forms: nplurals=1; plural=0;\n" ++"Language: ko\n" ++"Plural-Forms: nplurals=1; plural=0;\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "암호 파일에 등록되어 있지 않습니다 " + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "이는 사용자 이름을 기반으로 합니다 " + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "이는 암호 항목을 기반으로 합니다 " + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "이는 암호 항목에서 파생된 것입니다 " + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "이는 암호 항목에서 파생된 것입니다 " + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "이는 암호 항목에서 파생 가능합니다 " + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "이는 암호 항목에서 파생 가능합니다 " + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "암호 파일에 등록되어 있지 않습니다 " +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "너무 짧습니다 " + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "너무 짧습니다 " + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "다른 문자가 충분히 포함되어 있지 않습니다 " + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "모든 여백입니다 " + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "너무 단순/체계적입니다 " + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "국민 보험 번호와 유사합니다. " + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "사전에 있는 단어를 기반으로 합니다 " + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "(역순) 사전에 있는 단어를 기반으로 합니다 " + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "사전을 불러오는 도중 오류 발생 " +diff -urN a/cracklib-2.9.0/po/ml.po b/cracklib-2.9.0/po/ml.po +--- a/cracklib-2.9.0/po/ml.po 2013-11-28 14:45:28.760394985 +0530 ++++ b/cracklib-2.9.0/po/ml.po 2013-11-28 14:45:39.735488470 +0530 +@@ -2,81 +2,82 @@ + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the cracklib package. + # Ani Peter , 2009. +-# ++# apeter , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-11 14:46+0530\n" +-"Last-Translator: Ani Peter \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-28 08:56-0400\n" ++"Last-Translator: apeter \n" + "Language-Team: Malayalam\n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" ++"Language: ml\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "നിങ്ങള്‍ രഹസ്യവാക്കിനുള്ള ഫയലില്‍ രജിസ്ടര്‍ ചെയ്തിട്ടില്ല" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "നിങ്ങളുടെ ഉപയോക്തൃനാമം അനുസരിച്ചാണു്" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "നിങ്ങളുടെ രഹസ്യവാക്കനുസരിച്ചാണു്" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുവാന്‍ സാധിക്കുന്നു" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "നിങ്ങള്‍ രഹസ്യവാക്കിനുള്ള ഫയലില്‍ രജിസ്ടര്‍ ചെയ്തിട്ടില്ല" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "വളരെ ചെറുതാണു്" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "വളരെ ചെറുതാണു്" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "അനവധി തരത്തിലുള്ള അക്ഷരങ്ങള്‍ നല്‍കുക" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "എല്ലാം വൈറ്റ്സ്പെയിസാണു്" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "വളരെ ലളിതമാണു്" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "ഒരു നാഷണല്‍ ഇന്‍ഷുറന്‍സ് നംബര്‍ പോലുണ്ടു്." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "നിഘണ്ടുവിലുള്ള ഒരു വാക്കിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണു്" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "നിഘണ്ടുവിലുള്ള ഒരു വാക്കിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണു്" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "നിഘണ്ടു ലഭ്യമാക്കുന്നതില്‍ പിശക്" +diff -urN a/cracklib-2.9.0/po/mr.po b/cracklib-2.9.0/po/mr.po +--- a/cracklib-2.9.0/po/mr.po 2013-11-28 14:45:28.760394985 +0530 ++++ b/cracklib-2.9.0/po/mr.po 2013-11-28 14:45:39.735488470 +0530 +@@ -1,83 +1,84 @@ + # translation of cracklib.default.cracklib.po to Marathi + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Sandeep Shedmake , 2009. ++# Sandeep Shedmake , 2009, 2013. + msgid "" + msgstr "" +-"Project-Id-Version: cracklib.default.cracklib\n" ++"Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-11 12:24+0530\n" ++"POT-Creation-Date: 2013-08-06 14:45+0530\n" ++"PO-Revision-Date: 2013-10-13 01:28-0400\n" + "Last-Translator: Sandeep Shedmake \n" + "Language-Team: Marathi \n" +-"Language: mr\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" ++"Language: mr\n" + "Plural-Forms: nplurals=2; plural=(n!=1);\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "तुम्ही पासवर्ड फाइलमध्ये नोंदणीकृत नाही" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "तुमच्या वापरकर्तानावावर आधारीत आहे" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "तुमच्या पासवर्ड नोंदवर आधारीत आहे" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्त आहे" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्त" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्यजोगी आहे" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्यजोगी" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "तुम्ही पासवर्ड फाइलमध्ये नोंदणीकृत नाही" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "खूपच लहान" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "खूप लहान आहे" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "अतिरीक्त वेगळे अक्षर समाविष्टीत नाही" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "सर्वत्र वाईटस्पेस् आहे" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "खूपच सोपे/पद्धतशीर आहे" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "राष्ट्रीय इन्शॉरन्स् क्रमांक प्रमाणे आढळते." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "शब्दकोषमधील शब्दावर आधारीत आहे" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "(उलटे) शब्दकोषमधील शब्दावर आधारीत आहे" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "शब्दकोष लोड करतेवेळी त्रुटी" +diff -urN a/cracklib-2.9.0/po/or.po b/cracklib-2.9.0/po/or.po +--- a/cracklib-2.9.0/po/or.po 2013-11-28 14:45:28.760394985 +0530 ++++ b/cracklib-2.9.0/po/or.po 2013-11-28 14:45:39.735488470 +0530 +@@ -1,84 +1,85 @@ + # translation of cracklib.default.cracklib.or.po to Oriya + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Manoj Kumar Giri , 2009. ++# mgiri , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default.cracklib.or\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-12 13:02+0530\n" +-"Last-Translator: Manoj Kumar Giri \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-22 06:40-0400\n" ++"Last-Translator: mgiri \n" + "Language-Team: Oriya \n" +-"Language: or\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" +-"Plural-Forms: nplurals=2; plural=(n!=1);\n" ++"Language: or\n" ++"Plural-Forms: nplurals=2; plural=(n!=1);\n" + "\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "ପ୍ରବେଶ ସଂକେତ ଫାଇଲରେ ଆପଣ ପଞ୍ଜିକୃତ ହୋଇନାହାନ୍ତି" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "ଏହା ଆପଣଙ୍କର ଚାଳକନାମ ଉପରେ ଆଧାରିତ" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣ ଉପରେ ଆଧାରିତ" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରାହୋଇଥାଏ" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରାହୋଇଥାଏ" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରିବା ଯୋଗ୍ୟ" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରିବା ଯୋଗ୍ୟ" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "ପ୍ରବେଶ ସଂକେତ ଫାଇଲରେ ଆପଣ ପଞ୍ଜିକୃତ ହୋଇନାହାନ୍ତି" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "ଏହା ଅତ୍ୟଧିକ ଛୋଟ ଅଟେ" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "ଏହା ଅତ୍ୟଧିକ ଛୋଟ ଅଟେ" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "ଏହା ଯଥେଷ୍ଟ ଭିନ୍ନ ବର୍ଣ୍ଣ ଧାରଣ କରିନଥାଏ" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "ଏହା କେବଳ ଖାଲିସ୍ଥାନ ଅଟେ" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "ଏହା ଅତ୍ୟଧିକ ସରଳ/ନିୟମାନୁବର୍ତ୍ତୀ" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "ଏହା ଗୋଟିଏ ଜାତୀୟ ବୀମା ସଂଖ୍ୟା ପରି ଦେଖାଯାଉଛି।" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "ଏହା ଅଭିଧାନ ଶବ୍ଦ ଉପରେ ଆଧାରିତ" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "ଏହା ଗୋଟିଏ (ଓଲଟା) ଅଭିଧାନ ଶବ୍ଦ ଉପରେ ଆଧାରିତ" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "ଅଭିଧାନ ଧାରଣ କରିବାରେ ତ୍ରୁଟି" +diff -urN a/cracklib-2.9.0/po/pa.po b/cracklib-2.9.0/po/pa.po +--- a/cracklib-2.9.0/po/pa.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/pa.po 2013-11-28 14:45:39.735488470 +0530 +@@ -2,84 +2,85 @@ + # translation of cracklib.po to Panjabi + # Copyright (C) 2005 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Amanpreet Singh Alam[ਆਲਮ] , 2005, 2009. + # A S Alam , 2009. ++# asaini , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.pa\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-17 05:52+0530\n" +-"Last-Translator: A S Alam \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-08 08:06-0400\n" ++"Last-Translator: asaini \n" + "Language-Team: Punjabi/Panjabi \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: Lokalize 1.0\n" ++"Language: pa\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.1.2\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "ਤੁਸੀਂ ਪਾਸਵਰਡ ਫਾਇਲ 'ਚ ਰਜਿਸਟਰ ਨਹੀਂ ਹੋ" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "ਇਹ ਤੁਹਾਡੇ ਯੂਜ਼ਰ-ਨਾਂ ਮੁਤਾਬਿਕ ਨਹੀਂ ਹੈ" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਮੁਤਾਬਕ ਹੈ" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਇਆ ਗਿਆ ਹੈ" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਇਆ ਗਿਆ ਹੈ" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਉਣ ਯੋਗ ਹੈ" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਉਣਯੋਗ ਹੈ" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "ਤੁਸੀਂ ਪਾਸਵਰਡ ਫਾਇਲ 'ਚ ਰਜਿਸਟਰ ਨਹੀਂ ਹੋ" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "ਇਹ ਬਹੁਤ ਹੀ ਛੋਟਾ ਢੰਗ ਹੈ" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "ਇਹ ਬਹੁਤ ਛੋਟਾ ਹੈ" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "ਇਹ ਵਿੱਚ ਲੋੜੀਦੇ*ਵੱਖਰੇ* ਅੱਖਰ ਮੌਜੂਦ ਨਹੀਂ ਹਨ" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "ਇਹ ਸਿਰਫ਼ ਖਾਲੀ ਥਾਂ ਹੈ" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "ਇਹ ਬਹੁਤ ਸਧਾਰਨ/ਇਕਸਾਰ ਜਿਹਾ ਹੈ" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "ਇਹ ਰਾਸ਼ਟਰੀ ਸੁਰੱਖਿਆ ਨੰਬਰ ਵਰਗਾ ਜਾਪਦਾ ਹੈ।" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "ਇਹ ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "ਇਹ (ਉਲਟੇ) ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "ਸ਼ਬਦ-ਕੋਸ਼ ਲੋਡ ਕਰਨ ਵੇਲੇ ਗਲਤੀ" +diff -urN a/cracklib-2.9.0/po/pt_BR.po b/cracklib-2.9.0/po/pt_BR.po +--- a/cracklib-2.9.0/po/pt_BR.po 2013-11-28 14:45:28.760394985 +0530 ++++ b/cracklib-2.9.0/po/pt_BR.po 2013-11-28 14:45:39.735488470 +0530 +@@ -2,80 +2,82 @@ + # Copyright (C) YEAR Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# ++# gcintra , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2005-08-18 15:02+0000\n" +-"Last-Translator: Novell Language \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-30 08:53-0400\n" ++"Last-Translator: gcintra \n" + "Language-Team: Novell Language \n" +-"Language: \n" + "MIME-Version: 1.0\n" +-"Content-Type: text/plain; charset=utf-8\n" ++"Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: pt-BR\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "você não está registrado no arquivo de senha" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "é baseada no seu nome de usuário" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "é baseada na sua entrada de senha" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "deriva de sua entrada de senha" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "deriva de sua entrada de senha" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "é derivável de sua entrada de senha" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "é derivável de sua entrada de senha" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "você não está registrado no arquivo de senha" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "é MUITO curta" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "é muito curta" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "não contém caracteres DIFERENTES suficientes" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "só contém espaços em branco" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "é muito simples/sistemática" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "parece um número de documento oficial." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "é uma palavra da língua portuguesa" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "é baseada em uma palavra da língua portuguesa (ao contrário)" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "erro ao carregar dicionário" +diff -urN a/cracklib-2.9.0/po/ru.po b/cracklib-2.9.0/po/ru.po +--- a/cracklib-2.9.0/po/ru.po 2013-11-28 14:45:28.760394985 +0530 ++++ b/cracklib-2.9.0/po/ru.po 2013-11-28 14:45:39.736488477 +0530 +@@ -1,85 +1,86 @@ + # translation of cracklib.pot to Russian + # Copyright (C) 2008, 2009 + # This file is distributed under the same license as the cracklib package. +-# ++# + # Anton Dobkin , 2008. + # Yulia Poyarko , 2009. ++# ypoyarko , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-12-03 10:17+1100\n" +-"Last-Translator: Yulia \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-22 07:44-0400\n" ++"Last-Translator: ypoyarko \n" + "Language-Team: \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" +-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"Language: ru\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " ++"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"X-Generator: Zanata 3.1.2\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "вы не зарегистрированы в файле паролей" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "основан на вашем имени пользователя" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" +-msgstr "основан на вашем входном пароле" ++msgstr "основан на вашем пароле" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "получен из вашего входного пароля" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "получен из вашего входного пароля" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" +-msgstr "получен из вашего входного пароля" ++msgstr "получен из вашего пароля" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" +-msgstr "получен из вашего входного пароля" ++msgstr "получен из вашего пароля" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "вы не зарегистрированы в файле паролей" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" +-msgstr "СЛИШКОМ короткий" ++msgstr "слишком короткий" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "короткий" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "не содержит достаточное число РАЗЛИЧНЫХ символов" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "состоит из пробелов" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "слишком простой" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "похож на число государственного страхования." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "основан на слове из словаря" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "основан на измененном слове из словаря" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "ошибка при загрузке словаря" +diff -urN a/cracklib-2.9.0/po/ta.po b/cracklib-2.9.0/po/ta.po +--- a/cracklib-2.9.0/po/ta.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/ta.po 2013-11-28 14:45:39.736488477 +0530 +@@ -1,83 +1,84 @@ + # translation of cracklib.default.cracklib.po to Tamil + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # I. Felix , 2009. ++# shkumar , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default.cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-11 14:21+0530\n" +-"Last-Translator: I. Felix \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-11-11 09:51-0500\n" ++"Last-Translator: shkumar \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" +-"X-Generator: KBabel 1.11.4\n" ++"Language: ta\n" + "Plural-Forms: nplurals=2; plural=(n!=1);\\n\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "நீங்கள் கடவுச்சொல் கோப்பில் பதிவு செய்யவில்லை" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "இது உங்கள் பயனர்பெயர் அடிப்படையில் உள்ளது" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடு படி உள்ளது" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்பட்டது" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்பட்டது" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்படக்கூடியது" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்படக்கூடியது" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "நீங்கள் கடவுச்சொல் கோப்பில் பதிவு செய்யவில்லை" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "இது மிகவும் சிறியது" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "இது மிகவும் சிறியது" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "இது போதிய வேறுபாடு எழுத்துக்களை கொண்டிருக்கவில்லை" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "இது எல்லாம் காலிஇடங்கள்" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "இது மிகவும் எளியது/அமைப்பானது" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "இது ஒரு தேசிய காப்பீடு எண் போலுள்ளது." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "இது ஒரு அகராதி சொல்லை அடிப்படையாக கொண்டது" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "இது ஒரு (தலைகீழானது) அகராதி சொல்லை அடிப்படையாக கொண்டது" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "அகராதியை ஏற்றுவதில் பிழை" +diff -urN a/cracklib-2.9.0/po/te.po b/cracklib-2.9.0/po/te.po +--- a/cracklib-2.9.0/po/te.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/te.po 2013-11-28 14:45:39.736488477 +0530 +@@ -1,84 +1,85 @@ + # translation of cracklib.pot to Telugu + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the cracklib package. +-# ++# + # Krishna Babu K , 2009. ++# kkrothap , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2009-11-11 15:13+0530\n" +-"Last-Translator: Krishna Babu K \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-09-26 10:54-0400\n" ++"Last-Translator: kkrothap \n" + "Language-Team: Telugu \n" +-"Language: te\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" ++"Language: te\n" + "Plural-Forms: nplurals=2; plural=(n!=1);\n" + "\n" ++"X-Generator: Zanata 3.1.2\n" ++ ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "మీరు సంకేతపదపు ఫైలునందు నమోదు కాలేదు" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "ఇది మీ వినియోగదారినామముపై ఆధారపడి వుంది" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "ఇది మీ సంకేతపదము ప్రవేశముపై ఆధారపడి వుంది" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడింది" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడింది" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడ గలదు" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడ గలదు" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "మీరు సంకేతపదపు ఫైలునందు నమోదు కాలేదు" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "ఇది పొట్టి దానికి మార్గము" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "ఇది మరీ పొట్టిదిగా వుంది" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "ఇది కావలసినన్ని విభిన్న అక్షరాలను కలిగిలేదు" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "ఇది అంతా ఖాళీగానే వుంది" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "ఇదీ మరీ సాధారణంగా/క్రమపద్దతిలో వుంది" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "ఇది నేష్నల్ ఇన్సూరెన్స్ సంఖ్య వలె వుంది." + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "ఇది నిఘంటువు పదముపై ఆధారపడివుంది" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "ఇది నిఘంటువు(కలిగివున్న) పదముపై ఆధారపడివుంది" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "నిఘంటువును లోడు చేయుటలో దోషం" +diff -urN a/cracklib-2.9.0/po/zh_CN.po b/cracklib-2.9.0/po/zh_CN.po +--- a/cracklib-2.9.0/po/zh_CN.po 2013-11-28 14:45:28.759394977 +0530 ++++ b/cracklib-2.9.0/po/zh_CN.po 2013-11-28 14:45:39.736488477 +0530 +@@ -1,78 +1,84 @@ + # translation of cracklib.default.po to Wei Liu + # Copyright (C) 2010 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Leah Liu , 2010. ++# Leah Liu , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib.default\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2010-03-02 21:00-0600\n" +-"PO-Revision-Date: 2010-09-07 23:42+1000\n" ++"PO-Revision-Date: 2013-09-25 01:44-0400\n" + "Last-Translator: Leah Liu \n" + "Language-Team: Wei Liu\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11.4\n" ++"Language: zh-CN\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=1; plural=0\n" + +-#: lib/fascist.c:550 ++#: ../lib/fascist.c:550 + msgid "you are not registered in the password file" + msgstr "尚未在口令文件中注册" + +-#: lib/fascist.c:564 ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "它基于用户名" + +-#: lib/fascist.c:629 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "它基于输入的口令" + +-#: lib/fascist.c:649 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "它派生自输入的口令" + +-#: lib/fascist.c:662 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "它派生自输入的口令" + +-#: lib/fascist.c:676 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "可从输入的口令推断" + +-#: lib/fascist.c:690 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "可从输入的口令推断" + +-#: lib/fascist.c:726 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "WAY 过短" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "过短" + +-#: lib/fascist.c:748 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "它没有包含足够的不同字符" + +-#: lib/fascist.c:762 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "全是空格" + +-#: lib/fascist.c:781 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "过于简单化/系统化" + +-#: lib/fascist.c:786 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "看起来像国家保险号码。" + +-#: lib/fascist.c:813 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "它基于字典单词" + +-#: lib/fascist.c:832 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "它基于(颠倒的)字典单词" + ++#: ../lib/fascist.c:867 ++msgid "error loading dictionary" ++msgstr "载入字典出错" +diff -urN a/cracklib-2.9.0/po/zh_TW.po b/cracklib-2.9.0/po/zh_TW.po +--- a/cracklib-2.9.0/po/zh_TW.po 2013-11-28 14:45:28.758394968 +0530 ++++ b/cracklib-2.9.0/po/zh_TW.po 2013-11-28 14:45:39.736488477 +0530 +@@ -2,80 +2,82 @@ + # Copyright (C) YEAR Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# ++# tchuang , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: cracklib\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"PO-Revision-Date: 2005-06-23 12:52+0200\n" +-"Last-Translator: Novell Language \n" ++"POT-Creation-Date: 2012-12-14 16:11-0600\n" ++"PO-Revision-Date: 2013-10-22 09:50-0400\n" ++"Last-Translator: tchuang \n" + "Language-Team: Novell Language \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: zh-TW\n" ++"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=1; plural=0\n" + +-#: lib/fascist.c:516 ++#: ../lib/fascist.c:550 ++msgid "you are not registered in the password file" ++msgstr "您沒有在密碼檔案中註冊。" ++ ++#: ../lib/fascist.c:564 + msgid "it is based on your username" + msgstr "這是根據您的使用者名稱" + +-#: lib/fascist.c:576 ++#: ../lib/fascist.c:629 + msgid "it is based upon your password entry" + msgstr "這是根據您的密碼項目" + +-#: lib/fascist.c:591 ++#: ../lib/fascist.c:649 + msgid "it is derived from your password entry" + msgstr "這是從您的密碼項目中獲得的" + +-#: lib/fascist.c:599 ++#: ../lib/fascist.c:662 + msgid "it's derived from your password entry" + msgstr "這是從您的密碼項目中獲得的" + +-#: lib/fascist.c:608 ++#: ../lib/fascist.c:676 + msgid "it is derivable from your password entry" + msgstr "這可以從您的密碼項目中獲得" + +-#: lib/fascist.c:617 ++#: ../lib/fascist.c:690 + msgid "it's derivable from your password entry" + msgstr "這可以從您的密碼項目中獲得" + +-#: lib/fascist.c:674 +-msgid "you are not registered in the password file" +-msgstr "您沒有在密碼檔案中註冊。" +- +-#: lib/fascist.c:709 ++#: ../lib/fascist.c:726 + msgid "it is WAY too short" + msgstr "太短了" + +-#: lib/fascist.c:714 ++#: ../lib/fascist.c:731 + msgid "it is too short" + msgstr "太短了" + +-#: lib/fascist.c:731 ++#: ../lib/fascist.c:748 + msgid "it does not contain enough DIFFERENT characters" + msgstr "未包含足夠的的不同字元。" + +-#: lib/fascist.c:745 ++#: ../lib/fascist.c:762 + msgid "it is all whitespace" + msgstr "全部都是空格" + +-#: lib/fascist.c:764 ++#: ../lib/fascist.c:781 + msgid "it is too simplistic/systematic" + msgstr "太簡單/太過於系統化" + +-#: lib/fascist.c:769 ++#: ../lib/fascist.c:786 + msgid "it looks like a National Insurance number." + msgstr "看起來向是國際保險號碼。" + +-#: lib/fascist.c:801 ++#: ../lib/fascist.c:813 + msgid "it is based on a dictionary word" + msgstr "根據辭典單字" + +-#: lib/fascist.c:820 ++#: ../lib/fascist.c:832 + msgid "it is based on a (reversed) dictionary word" + msgstr "根據 (顛倒的) 辭典單字" + +-#: lib/fascist.c:865 ++#: ../lib/fascist.c:867 + msgid "error loading dictionary" +-msgstr "" ++msgstr "載入字典時發生了錯誤" diff --git a/cracklib.spec b/cracklib.spec index 4e1f8f1..037f940 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.0 -Release: 7%{?dist} +Release: 8%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -58,6 +58,7 @@ Patch3: cracklib-2.9.0-packlib-lookup.patch Patch4: cracklib-2.9.0-packlib-reentrant.patch Patch5: cracklib-2.9.0-packlib-gztype.patch Patch6: cracklib-2.9.0-simplistic.patch +Patch7: cracklib-2.9.0-translation-updates.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -132,6 +133,7 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch4 -p1 -b .reentrant %patch5 -p1 -b .gztype %patch6 -p1 -b .simplistic +%patch7 -p2 -b .translations autoreconf -f -i mkdir cracklib-dicts @@ -148,7 +150,7 @@ chmod +x util/cracklib-format %build %configure --with-pic --with-python --with-default-dict=%{dictpath} --disable-static -make -C po zh_CN.gmo +make -C po update-po make %install @@ -259,6 +261,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Thu Nov 28 2013 Tomáš Mráz - 2.9.0-8 +- updated translations + * Thu Oct 31 2013 Tomáš Mráz - 2.9.0-7 - do not remove any printable characters in cracklib-format From 413dd98aafcb4eb99fd97c112eee1dc09f87ff09 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 2 Dec 2013 09:43:13 +0100 Subject: [PATCH 27/85] update only .gmo files to avoid multilib conflicts (#1036305) --- cracklib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 037f940..c801b51 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.0 -Release: 8%{?dist} +Release: 9%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -150,7 +150,7 @@ chmod +x util/cracklib-format %build %configure --with-pic --with-python --with-default-dict=%{dictpath} --disable-static -make -C po update-po +make -C po update-gmo make %install @@ -261,6 +261,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Mon Dec 2 2013 Tomáš Mráz - 2.9.0-9 +- update only .gmo files to avoid multilib conflicts (#1036305) + * Thu Nov 28 2013 Tomáš Mráz - 2.9.0-8 - updated translations From ec8362e10e0e61012bf8d32f489b931af505f857 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 9 Dec 2013 11:38:54 +0100 Subject: [PATCH 28/85] new upstream release --- .gitignore | 1 + cracklib-2.8.15-inttypes.patch | 68 ------ cracklib-2.9.0-packlib-gztype.patch | 24 -- cracklib-2.9.1-inttypes.patch | 22 ++ ...tch => cracklib-2.9.1-packlib-lookup.patch | 48 ++-- ... => cracklib-2.9.1-packlib-reentrant.patch | 104 ++++---- ...c.patch => cracklib-2.9.1-simplistic.patch | 14 +- ...> cracklib-2.9.1-translation-updates.patch | 230 ++++++++++-------- cracklib.spec | 25 +- sources | 2 +- 10 files changed, 245 insertions(+), 293 deletions(-) delete mode 100644 cracklib-2.8.15-inttypes.patch delete mode 100644 cracklib-2.9.0-packlib-gztype.patch create mode 100644 cracklib-2.9.1-inttypes.patch rename cracklib-2.9.0-packlib-lookup.patch => cracklib-2.9.1-packlib-lookup.patch (73%) rename cracklib-2.9.0-packlib-reentrant.patch => cracklib-2.9.1-packlib-reentrant.patch (89%) rename cracklib-2.9.0-simplistic.patch => cracklib-2.9.1-simplistic.patch (83%) rename cracklib-2.9.0-translation-updates.patch => cracklib-2.9.1-translation-updates.patch (91%) diff --git a/.gitignore b/.gitignore index 9dc597c..a7a9af9 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ cracklib-2.8.16.tar.gz /cracklib-2.8.21.tar.gz /cracklib-2.8.22.tar.gz /cracklib-2.9.0.tar.gz +/cracklib-2.9.1.tar.gz diff --git a/cracklib-2.8.15-inttypes.patch b/cracklib-2.8.15-inttypes.patch deleted file mode 100644 index d1d6a23..0000000 --- a/cracklib-2.8.15-inttypes.patch +++ /dev/null @@ -1,68 +0,0 @@ -Don't depend on a consumer of to be using autoconf, and to be -checking for for the presence of and , and including -its own "config.h" before including , in order for this to be -correct on 64-bit machines. - -diff -up cracklib-2.8.15/configure.in cracklib-2.8.15/configure.in ---- cracklib-2.8.15/configure.in 2009-11-18 18:58:21.000000000 -0500 -+++ cracklib-2.8.15/configure.in 2009-12-01 15:16:35.000000000 -0500 -@@ -26,6 +26,19 @@ AC_CHECK_HEADERS(zlib.h, AC_DEFINE(HAVE_ - - AC_SEARCH_LIBS(gzopen, z) - -+if test x$ac_cv_header_inttypes_h = xyes ; then -+ CRACKLIB_INTEGER_TYPES1="#include " -+ CRACKLIB_INTEGER_TYPES2= -+elif test x$ac_cv_header_stdint_h = xyes ; then -+ CRACKLIB_INTEGER_TYPES1="#include " -+ CRACKLIB_INTEGER_TYPES2= -+else -+ CRACKLIB_INTEGER_TYPES1="typedef unsigned int uint32_t;" -+ CRACKLIB_INTEGER_TYPES2="typedef unsigned short uint16_t;" -+fi -+AC_SUBST(CRACKLIB_INTEGER_TYPES1) -+AC_SUBST(CRACKLIB_INTEGER_TYPES2) -+ - dnl Cygwin workaround - AC_MSG_CHECKING(if LINE_MAX is defined) - AC_EGREP_CPP(yes, -@@ -92,5 +105,6 @@ AC_SUBST(CROSS_COMPILING, $cross_compili - - AC_OUTPUT(util/Makefile lib/Makefile doc/Makefile python/Makefile Makefile \ - python/setup.py \ -+ lib/packer.h \ - po/Makefile.in m4/Makefile dicts/Makefile cracklib.spec) - -diff -up cracklib-2.8.15/lib/packer.h.in cracklib-2.8.15/lib/packer.h.in ---- cracklib-2.8.15/lib/packer.h.in 2009-12-01 15:15:38.000000000 -0500 -+++ cracklib-2.8.15/lib/packer.h.in 2009-12-01 15:15:38.000000000 -0500 -@@ -30,17 +30,8 @@ - #define _(String) (String) - #endif - --#if defined(HAVE_INTTYPES_H) --#include --#else --#if defined(HAVE_STDINT_H) --#include --#else --typedef unsigned int uint32_t; --typedef unsigned short uint16_t; --#endif --#endif -- -+@CRACKLIB_INTEGER_TYPES1@ -+@CRACKLIB_INTEGER_TYPES2@ - - struct pi_header - { -@@ -83,6 +74,9 @@ typedef struct { - int dummy; - } PWDICT; - -+@CRACKLIB_INTEGER_TYPES1@ -+@CRACKLIB_INTEGER_TYPES2@ -+ - #endif - - extern PWDICT *PWOpen(const char *prefix, char *mode); diff --git a/cracklib-2.9.0-packlib-gztype.patch b/cracklib-2.9.0-packlib-gztype.patch deleted file mode 100644 index a65390f..0000000 --- a/cracklib-2.9.0-packlib-gztype.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up cracklib-2.9.0/lib/packer.h.in.gztype cracklib-2.9.0/lib/packer.h.in ---- cracklib-2.9.0/lib/packer.h.in.gztype 2013-08-21 11:48:47.341631450 +0200 -+++ cracklib-2.9.0/lib/packer.h.in 2013-08-21 11:47:52.948471397 +0200 -@@ -44,7 +44,7 @@ struct pi_header - typedef struct - { - FILE *ifp; -- FILE *dfp; -+ void *dfp; - FILE *wfp; - - uint32_t flags; -diff -up cracklib-2.9.0/lib/packlib.c.gztype cracklib-2.9.0/lib/packlib.c ---- cracklib-2.9.0/lib/packlib.c.gztype 2013-08-21 11:27:12.000000000 +0200 -+++ cracklib-2.9.0/lib/packlib.c 2013-08-21 11:49:32.787600685 +0200 -@@ -72,7 +72,7 @@ PWOpen(prefix, mode) - char iname[STRINGSIZE]; - char dname[STRINGSIZE]; - char wname[STRINGSIZE]; -- FILE *dfp; -+ void *dfp; - FILE *ifp; - FILE *wfp; - diff --git a/cracklib-2.9.1-inttypes.patch b/cracklib-2.9.1-inttypes.patch new file mode 100644 index 0000000..c8d8fe8 --- /dev/null +++ b/cracklib-2.9.1-inttypes.patch @@ -0,0 +1,22 @@ +Do not depend on config.h in public header. +diff -up cracklib-2.9.1/lib/packer.h.inttypes cracklib-2.9.1/lib/packer.h +--- cracklib-2.9.1/lib/packer.h.inttypes 2013-12-03 15:00:15.000000000 +0100 ++++ cracklib-2.9.1/lib/packer.h 2013-12-09 09:07:38.306394809 +0100 +@@ -30,17 +30,7 @@ + #define _(String) (String) + #endif + +-#if defined(HAVE_INTTYPES_H) +-#include +-#else +-#if defined(HAVE_STDINT_H) + #include +-#else +-typedef unsigned int uint32_t; +-typedef unsigned short uint16_t; +-#endif +-#endif +- + + struct pi_header + { diff --git a/cracklib-2.9.0-packlib-lookup.patch b/cracklib-2.9.1-packlib-lookup.patch similarity index 73% rename from cracklib-2.9.0-packlib-lookup.patch rename to cracklib-2.9.1-packlib-lookup.patch index 5748326..a30fc98 100644 --- a/cracklib-2.9.0-packlib-lookup.patch +++ b/cracklib-2.9.1-packlib-lookup.patch @@ -1,6 +1,6 @@ -diff -up cracklib-2.9.0/lib/packer.h.in.lookup cracklib-2.9.0/lib/packer.h.in ---- cracklib-2.9.0/lib/packer.h.in.lookup 2013-08-21 14:43:16.832990712 +0200 -+++ cracklib-2.9.0/lib/packer.h.in 2013-08-21 14:43:16.835990775 +0200 +diff -up cracklib-2.9.1/lib/packer.h.lookup cracklib-2.9.1/lib/packer.h +--- cracklib-2.9.1/lib/packer.h.lookup 2013-12-09 09:52:42.153260712 +0100 ++++ cracklib-2.9.1/lib/packer.h 2013-12-09 09:52:42.155260757 +0100 @@ -60,6 +60,7 @@ typedef struct int count; char data_put[NUMWORDS][MAXWORDLEN]; @@ -9,9 +9,9 @@ diff -up cracklib-2.9.0/lib/packer.h.in.lookup cracklib-2.9.0/lib/packer.h.in } PWDICT; #define PW_WORDS(x) ((x)->header.pih_numwords) -diff -up cracklib-2.9.0/lib/packlib.c.lookup cracklib-2.9.0/lib/packlib.c ---- cracklib-2.9.0/lib/packlib.c.lookup 2013-06-01 16:47:13.000000000 +0200 -+++ cracklib-2.9.0/lib/packlib.c 2013-08-21 14:44:12.325177107 +0200 +diff -up cracklib-2.9.1/lib/packlib.c.lookup cracklib-2.9.1/lib/packlib.c +--- cracklib-2.9.1/lib/packlib.c.lookup 2013-12-03 15:00:15.000000000 +0100 ++++ cracklib-2.9.1/lib/packlib.c 2013-12-09 09:53:43.580643470 +0100 @@ -84,6 +84,7 @@ PWOpen(prefix, mode) memset(&pdesc, '\0', sizeof(pdesc)); @@ -34,8 +34,8 @@ diff -up cracklib-2.9.0/lib/packlib.c.lookup cracklib-2.9.0/lib/packlib.c { #if DEBUG fprintf(stderr, "returning (%s)\n", pwp->data_get[number % NUMWORDS]); -@@ -528,13 +528,16 @@ GetPW(pwp, number) - return ((char *) 0); +@@ -526,13 +526,16 @@ GetPW(pwp, number) + return NULL; } - prevblock = thisblock; @@ -52,7 +52,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.lookup cracklib-2.9.0/lib/packlib.c for (i = 1; i < NUMWORDS; i++) { -@@ -545,6 +548,9 @@ GetPW(pwp, number) +@@ -543,6 +546,9 @@ GetPW(pwp, number) while ((*(ostr++) = *(bptr++))); ostr = nstr; @@ -62,32 +62,35 @@ diff -up cracklib-2.9.0/lib/packlib.c.lookup cracklib-2.9.0/lib/packlib.c } return (pwp->data_get[number % NUMWORDS]); -@@ -623,21 +629,27 @@ fprintf(stderr, "look for (%s)\n", strin +@@ -621,22 +627,28 @@ fprintf(stderr, "look for (%s)\n", strin return(middle); } - if (middle == hwm) - { -+ if (cmp < 0) -+ { -+ if (middle == lwm) -+ { - #if DEBUG +-#if DEBUG - fprintf(stderr, "at terminal subdivision, stopping search\n"); -+ fprintf(stderr, "at terminal subdivision from right, stopping search\n"); - #endif - break; +-#endif +- break; - } - -- if (cmp < 0) -- { + if (cmp < 0) + { - hwm = middle; +- } ++ if (middle == lwm) ++ { ++#if DEBUG ++ fprintf(stderr, "at terminal subdivision from right, stopping search\n"); ++#endif ++ break; + } + hwm = middle - 1; - } ++ } else if (cmp > 0) { - lwm = middle; +- } + if (middle == hwm) + { +#if DEBUG @@ -96,6 +99,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.lookup cracklib-2.9.0/lib/packlib.c + break; + } + lwm = middle + 1; - } ++ } } + return (PW_WORDS(pwp)); diff --git a/cracklib-2.9.0-packlib-reentrant.patch b/cracklib-2.9.1-packlib-reentrant.patch similarity index 89% rename from cracklib-2.9.0-packlib-reentrant.patch rename to cracklib-2.9.1-packlib-reentrant.patch index ba13c09..824173f 100644 --- a/cracklib-2.9.0-packlib-reentrant.patch +++ b/cracklib-2.9.1-packlib-reentrant.patch @@ -1,6 +1,6 @@ -diff -up cracklib-2.9.0/lib/fascist.c.reentrant cracklib-2.9.0/lib/fascist.c ---- cracklib-2.9.0/lib/fascist.c.reentrant 2013-06-01 16:52:33.000000000 +0200 -+++ cracklib-2.9.0/lib/fascist.c 2013-08-21 15:31:18.700090735 +0200 +diff -up cracklib-2.9.1/lib/fascist.c.reentrant cracklib-2.9.1/lib/fascist.c +--- cracklib-2.9.1/lib/fascist.c.reentrant 2013-12-03 15:00:15.000000000 +0100 ++++ cracklib-2.9.1/lib/fascist.c 2013-12-09 09:38:23.165924179 +0100 @@ -36,8 +36,8 @@ typedef unsigned short uint16_t; #undef DEBUG #undef DEBUG2 @@ -103,10 +103,10 @@ diff -up cracklib-2.9.0/lib/fascist.c.reentrant cracklib-2.9.0/lib/fascist.c { continue; } -diff -up cracklib-2.9.0/lib/packer.h.in.reentrant cracklib-2.9.0/lib/packer.h.in ---- cracklib-2.9.0/lib/packer.h.in.reentrant 2013-08-21 15:29:24.245641356 +0200 -+++ cracklib-2.9.0/lib/packer.h.in 2013-08-21 15:29:24.247641399 +0200 -@@ -86,7 +86,7 @@ extern int PWClose(PWDICT *pwp); +diff -up cracklib-2.9.1/lib/packer.h.reentrant cracklib-2.9.1/lib/packer.h +--- cracklib-2.9.1/lib/packer.h.reentrant 2013-12-09 09:38:23.164924157 +0100 ++++ cracklib-2.9.1/lib/packer.h 2013-12-09 09:38:23.165924179 +0100 +@@ -83,7 +83,7 @@ extern int PWClose(PWDICT *pwp); extern unsigned int FindPW(PWDICT *pwp, char *string); extern int PutPW(PWDICT *pwp, char *string); extern int PMatch(char *control, char *string); @@ -115,9 +115,9 @@ diff -up cracklib-2.9.0/lib/packer.h.in.reentrant cracklib-2.9.0/lib/packer.h.in extern char Chop(char *string); extern char *Trim(char *string); extern char *FascistLook(PWDICT *pwp, char *instring); -diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c ---- cracklib-2.9.0/lib/packlib.c.reentrant 2013-08-21 15:29:24.245641356 +0200 -+++ cracklib-2.9.0/lib/packlib.c 2013-08-21 15:29:24.247641399 +0200 +diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c +--- cracklib-2.9.1/lib/packlib.c.reentrant 2013-12-09 09:38:23.164924157 +0100 ++++ cracklib-2.9.1/lib/packlib.c 2013-12-09 09:39:06.556900951 +0100 @@ -67,8 +67,8 @@ PWOpen(prefix, mode) char *mode; { @@ -130,17 +130,16 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c char dname[STRINGSIZE]; char wname[STRINGSIZE]; @@ -76,15 +76,13 @@ PWOpen(prefix, mode) - FILE *ifp; - FILE *wfp; + void *ifp; + void *wfp; - if (pdesc.header.pih_magic == PIH_MAGIC) - { - fprintf(stderr, "%s: another dictionary already open\n", prefix); -- return ((PWDICT *) 0); -- } + pdesc = malloc(sizeof(*pdesc)); + if (pdesc == NULL) -+ return NULL; + return NULL; +- } - memset(&pdesc, '\0', sizeof(pdesc)); + memset(pdesc, '\0', sizeof(*pdesc)); @@ -170,12 +169,12 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c { perror(dname); + free(pdesc); - return ((PWDICT *) 0); + return NULL; } #else perror(dname); + free(pdesc); - return ((PWDICT *) 0); + return NULL; #endif } } @@ -189,7 +188,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c { perror(dname); + free(pdesc); - return ((PWDICT *) 0); + return NULL; } } @@ -197,7 +196,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c + if (!(pdesc->ifp = fopen(iname, mode))) { #ifdef HAVE_ZLIB_H -- if(pdesc.flags & PFOR_USEZLIB) +- if (pdesc.flags & PFOR_USEZLIB) - gzclose(pdesc.dfp); + if(pdesc->flags & PFOR_USEZLIB) + gzclose(pdesc->dfp); @@ -207,7 +206,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c + fclose(pdesc->dfp); perror(iname); + free(pdesc); - return ((PWDICT *) 0); + return NULL; } - if ((pdesc.wfp = fopen(wname, mode))) @@ -250,17 +249,17 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c - pdesc.header.pih_magic = 0; fclose(ifp); #ifdef HAVE_ZLIB_H -- if(pdesc.flags & PFOR_USEZLIB) +- if (pdesc.flags & PFOR_USEZLIB) + if(pdesc->flags & PFOR_USEZLIB) gzclose(dfp); else #endif -@@ -171,21 +172,21 @@ PWOpen(prefix, mode) +@@ -171,10 +172,11 @@ PWOpen(prefix, mode) { fclose(wfp); } + free(pdesc); - return ((PWDICT *) 0); + return NULL; } - if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0)) @@ -268,37 +267,35 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c { /* uh-oh. either a broken "64-bit" file or a garbage file. */ rewind (ifp); - if (!fread((char *) &pdesc64.header, sizeof(pdesc64.header), 1, ifp)) +@@ -182,10 +184,9 @@ PWOpen(prefix, mode) { fprintf(stderr, "%s: error reading header\n", prefix); -- + - pdesc.header.pih_magic = 0; -+ fclose(ifp); #ifdef HAVE_ZLIB_H -- if(pdesc.flags & PFOR_USEZLIB) -+ if(pdesc->flags & PFOR_USEZLIB) +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) gzclose(dfp); else #endif -@@ -194,17 +195,17 @@ PWOpen(prefix, mode) +@@ -194,6 +195,7 @@ PWOpen(prefix, mode) { fclose(wfp); } + free(pdesc); - return ((PWDICT *) 0); + return NULL; } if (pdesc64.header.pih_magic != PIH_MAGIC) - { +@@ -201,10 +203,9 @@ PWOpen(prefix, mode) /* nope, not "64-bit" after all */ fprintf(stderr, "%s: error reading header\n", prefix); -- + - pdesc.header.pih_magic = 0; -+ fclose(ifp); #ifdef HAVE_ZLIB_H -- if(pdesc.flags & PFOR_USEZLIB) -+ if(pdesc->flags & PFOR_USEZLIB) +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) gzclose(dfp); else #endif @@ -307,7 +304,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c fclose(wfp); } + free(pdesc); - return ((PWDICT *) 0); + return NULL; } - pdesc.header.pih_magic = pdesc64.header.pih_magic; - pdesc.header.pih_numwords = pdesc64.header.pih_numwords; @@ -328,8 +325,8 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c - pdesc.header.pih_magic = 0; fclose(ifp); #ifdef HAVE_ZLIB_H -- if(pdesc.flags & PFOR_USEZLIB) -+ if(pdesc->flags & PFOR_USEZLIB) +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) gzclose(dfp); else #endif @@ -338,19 +335,19 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c fclose(wfp); } + free(pdesc); - return ((PWDICT *) 0); + return NULL; } - if (pdesc.header.pih_numwords < 1) + if (pdesc->header.pih_numwords < 1) { fprintf(stderr, "%s: invalid word count\n", prefix); - + - pdesc.header.pih_magic = 0; fclose(ifp); #ifdef HAVE_ZLIB_H -- if(pdesc.flags & PFOR_USEZLIB) -+ if(pdesc->flags & PFOR_USEZLIB) +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) gzclose(dfp); else #endif @@ -359,7 +356,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c fclose(wfp); } + free(pdesc); - return ((PWDICT *) 0); + return NULL; } - if (pdesc.header.pih_blocklen != NUMWORDS) @@ -370,8 +367,8 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c - pdesc.header.pih_magic = 0; fclose(ifp); #ifdef HAVE_ZLIB_H -- if(pdesc.flags & PFOR_USEZLIB) -+ if(pdesc->flags & PFOR_USEZLIB) +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) gzclose(dfp); else #endif @@ -380,7 +377,7 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c fclose(wfp); } + free(pdesc); - return ((PWDICT *) 0); + return NULL; } - if (pdesc.flags & PFOR_USEHWMS) @@ -401,8 +398,9 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c - pdesc.hwms[i] = pdesc64.hwms[i]; + pdesc->hwms[i] = pdesc64.hwms[i]; } - } +- } - else if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms)) ++ } + else if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms)) { - pdesc.flags &= ~PFOR_USEHWMS; @@ -454,9 +452,9 @@ diff -up cracklib-2.9.0/lib/packlib.c.reentrant cracklib-2.9.0/lib/packlib.c return (0); } -diff -up cracklib-2.9.0/lib/rules.c.reentrant cracklib-2.9.0/lib/rules.c ---- cracklib-2.9.0/lib/rules.c.reentrant 2013-06-01 16:47:13.000000000 +0200 -+++ cracklib-2.9.0/lib/rules.c 2013-08-21 15:29:24.247641399 +0200 +diff -up cracklib-2.9.1/lib/rules.c.reentrant cracklib-2.9.1/lib/rules.c +--- cracklib-2.9.1/lib/rules.c.reentrant 2013-12-03 15:00:15.000000000 +0100 ++++ cracklib-2.9.1/lib/rules.c 2013-12-09 09:38:23.166924202 +0100 @@ -82,12 +82,12 @@ Suffix(myword, suffix) } @@ -642,14 +640,14 @@ diff -up cracklib-2.9.0/lib/rules.c.reentrant cracklib-2.9.0/lib/rules.c strcpy(area2, area); @@ -548,7 +549,6 @@ Mangle(input, control) /* returns a poi Debug(1, "Mangle: extract: weird argument in '%s'\n", control); - return ((char *) 0); + return NULL; } - strcpy(area2, area); for (i = 0; length-- && area2[start + i]; i++) { area[i] = area2[start + i]; @@ -619,10 +619,10 @@ Mangle(input, control) /* returns a poi - return ((char *) 0); + return NULL; } else if (ptr[1] != RULE_CLASS) { - strcpy(area, Purge(area, *(++ptr))); @@ -662,7 +660,7 @@ diff -up cracklib-2.9.0/lib/rules.c.reentrant cracklib-2.9.0/lib/rules.c } break; @@ -633,11 +633,11 @@ Mangle(input, control) /* returns a poi - return ((char *) 0); + return NULL; } else if (ptr[1] != RULE_CLASS) { - strcpy(area, Substitute(area, ptr[1], ptr[2])); diff --git a/cracklib-2.9.0-simplistic.patch b/cracklib-2.9.1-simplistic.patch similarity index 83% rename from cracklib-2.9.0-simplistic.patch rename to cracklib-2.9.1-simplistic.patch index 4ee2946..100efe4 100644 --- a/cracklib-2.9.0-simplistic.patch +++ b/cracklib-2.9.1-simplistic.patch @@ -1,6 +1,6 @@ -diff -up cracklib-2.9.0/lib/fascist.c.simplistic cracklib-2.9.0/lib/fascist.c ---- cracklib-2.9.0/lib/fascist.c.simplistic 2013-10-31 14:46:23.160959124 +0100 -+++ cracklib-2.9.0/lib/fascist.c 2013-10-31 14:46:23.164959212 +0100 +diff -up cracklib-2.9.1/lib/fascist.c.simplistic cracklib-2.9.1/lib/fascist.c +--- cracklib-2.9.1/lib/fascist.c.simplistic 2013-12-09 09:31:47.136009210 +0100 ++++ cracklib-2.9.1/lib/fascist.c 2013-12-09 09:33:23.774184638 +0100 @@ -55,7 +55,6 @@ static char *r_destructors[] = { "/?p@?p", /* purging out punctuation/symbols/junk */ @@ -55,7 +55,7 @@ diff -up cracklib-2.9.0/lib/fascist.c.simplistic cracklib-2.9.0/lib/fascist.c ptr++; } -- /* Change by Ben Karsin from ITS at University of Hawaii at Manoa. Static MAXSTEP +- /* Change by Ben Karsin from ITS at University of Hawaii at Manoa. Static MAXSTEP - would generate many false positives for long passwords. */ - maxrepeat = 3+(0.09*strlen(password)); - if (i > maxrepeat) @@ -92,9 +92,9 @@ diff -up cracklib-2.9.0/lib/fascist.c.simplistic cracklib-2.9.0/lib/fascist.c #ifdef DEBUG printf("%-16s (reversed dict)\n", a); #endif -diff -up cracklib-2.9.0/util/cracklib-format.simplistic cracklib-2.9.0/util/cracklib-format ---- cracklib-2.9.0/util/cracklib-format.simplistic 2013-06-01 16:47:13.000000000 +0200 -+++ cracklib-2.9.0/util/cracklib-format 2013-10-31 15:24:01.976736045 +0100 +diff -up cracklib-2.9.1/util/cracklib-format.simplistic cracklib-2.9.1/util/cracklib-format +--- cracklib-2.9.1/util/cracklib-format.simplistic 2012-12-13 18:01:50.000000000 +0100 ++++ cracklib-2.9.1/util/cracklib-format 2013-12-09 09:31:47.138009255 +0100 @@ -3,8 +3,10 @@ # This preprocesses a set of word lists into a suitable form for input # into cracklib-packer diff --git a/cracklib-2.9.0-translation-updates.patch b/cracklib-2.9.1-translation-updates.patch similarity index 91% rename from cracklib-2.9.0-translation-updates.patch rename to cracklib-2.9.1-translation-updates.patch index d622fd1..0e13d3b 100644 --- a/cracklib-2.9.0-translation-updates.patch +++ b/cracklib-2.9.1-translation-updates.patch @@ -1,6 +1,6 @@ -diff -urN a/cracklib-2.9.0/po/as.po b/cracklib-2.9.0/po/as.po ---- a/cracklib-2.9.0/po/as.po 2013-11-28 14:45:28.760394985 +0530 -+++ b/cracklib-2.9.0/po/as.po 2013-11-28 14:45:39.734488460 +0530 +diff -up cracklib-2.9.1/po/as.po.translations cracklib-2.9.1/po/as.po +--- cracklib-2.9.1/po/as.po.translations 2013-12-09 09:34:43.044969070 +0100 ++++ cracklib-2.9.1/po/as.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,82 +1,83 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -11,10 +11,11 @@ diff -urN a/cracklib-2.9.0/po/as.po b/cracklib-2.9.0/po/as.po msgid "" msgstr "" "Project-Id-Version: \n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-12 11:39+0530\n" -"Last-Translator: Amitakhya Phukan \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-23 10:11-0400\n" +"Last-Translator: ngoswami \n" @@ -111,9 +112,9 @@ diff -urN a/cracklib-2.9.0/po/as.po b/cracklib-2.9.0/po/as.po msgid "error loading dictionary" -msgstr "" +msgstr "শব্দকোষ ল'ড কৰোতে ত্ৰুটি" -diff -urN a/cracklib-2.9.0/po/bn_IN.po b/cracklib-2.9.0/po/bn_IN.po ---- a/cracklib-2.9.0/po/bn_IN.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/bn_IN.po 2013-11-28 14:45:39.734488460 +0530 +diff -up cracklib-2.9.1/po/bn_IN.po.translations cracklib-2.9.1/po/bn_IN.po +--- cracklib-2.9.1/po/bn_IN.po.translations 2013-12-09 09:34:43.044969070 +0100 ++++ cracklib-2.9.1/po/bn_IN.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,83 +1,84 @@ # translation of cracklib.po to Bengali INDIA # Copyright (C) 2009 Free Software Foundation, Inc. @@ -125,10 +126,11 @@ diff -urN a/cracklib-2.9.0/po/bn_IN.po b/cracklib-2.9.0/po/bn_IN.po msgid "" msgstr "" "Project-Id-Version: cracklib.default.cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-11 12:34+0530\n" -"Last-Translator: Runa Bhattacharjee \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-03 05:14-0400\n" +"Last-Translator: sray \n" @@ -225,9 +227,9 @@ diff -urN a/cracklib-2.9.0/po/bn_IN.po b/cracklib-2.9.0/po/bn_IN.po msgid "error loading dictionary" -msgstr "" +msgstr "অভিধান লোড হতে সমস্যা" -diff -urN a/cracklib-2.9.0/po/de.po b/cracklib-2.9.0/po/de.po ---- a/cracklib-2.9.0/po/de.po 2013-11-28 14:45:28.758394968 +0530 -+++ b/cracklib-2.9.0/po/de.po 2013-11-28 14:45:39.734488460 +0530 +diff -up cracklib-2.9.1/po/de.po.translations cracklib-2.9.1/po/de.po +--- cracklib-2.9.1/po/de.po.translations 2013-12-09 09:34:43.044969070 +0100 ++++ cracklib-2.9.1/po/de.po 2013-12-02 09:40:11.000000000 +0100 @@ -4,82 +4,82 @@ # Antje Faber , 2000-2003. # Karl Eichwalder , 1999-2003. @@ -237,10 +239,11 @@ diff -urN a/cracklib-2.9.0/po/de.po b/cracklib-2.9.0/po/de.po msgid "" msgstr "" "Project-Id-Version: new\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2003-11-27 18:31GMT\n" -"Last-Translator: Novell Language \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-17 11:45-0400\n" +"Last-Translator: rgromans \n" @@ -338,9 +341,9 @@ diff -urN a/cracklib-2.9.0/po/de.po b/cracklib-2.9.0/po/de.po msgid "error loading dictionary" -msgstr "" +msgstr "Fehler beim Laden des Wörterbuches" -diff -urN a/cracklib-2.9.0/po/es.po b/cracklib-2.9.0/po/es.po ---- a/cracklib-2.9.0/po/es.po 2013-11-28 14:45:28.760394985 +0530 -+++ b/cracklib-2.9.0/po/es.po 2013-11-28 14:45:39.734488460 +0530 +diff -up cracklib-2.9.1/po/es.po.translations cracklib-2.9.1/po/es.po +--- cracklib-2.9.1/po/es.po.translations 2013-12-09 09:34:43.044969070 +0100 ++++ cracklib-2.9.1/po/es.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,81 +1,82 @@ # translation of cracklib.po to # This file is put in the public domain. @@ -350,12 +353,13 @@ diff -urN a/cracklib-2.9.0/po/es.po b/cracklib-2.9.0/po/es.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2005-06-23 13:17+02:00\n" -"Last-Translator: Novell Language \n" -"Language-Team: Novell Language \n" -"Language: \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-23 07:39-0400\n" +"Last-Translator: gguerrer \n" @@ -454,9 +458,9 @@ diff -urN a/cracklib-2.9.0/po/es.po b/cracklib-2.9.0/po/es.po msgid "error loading dictionary" -msgstr "" +msgstr "Error al cargar el diccionario" -diff -urN a/cracklib-2.9.0/po/fr.po b/cracklib-2.9.0/po/fr.po ---- a/cracklib-2.9.0/po/fr.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/fr.po 2013-11-28 14:45:39.734488460 +0530 +diff -up cracklib-2.9.1/po/fr.po.translations cracklib-2.9.1/po/fr.po +--- cracklib-2.9.1/po/fr.po.translations 2013-12-09 09:34:43.045969092 +0100 ++++ cracklib-2.9.1/po/fr.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,81 +1,82 @@ # translation of cracklib.po to Français # This file is put in the public domain. @@ -466,9 +470,10 @@ diff -urN a/cracklib-2.9.0/po/fr.po b/cracklib-2.9.0/po/fr.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2005-06-23 13:17+02:00\n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-08 12:03-0400\n" "Last-Translator: Novell Language \n" @@ -566,9 +571,9 @@ diff -urN a/cracklib-2.9.0/po/fr.po b/cracklib-2.9.0/po/fr.po msgid "error loading dictionary" -msgstr "" +msgstr "erreur lors du chargement du dictionnaire" -diff -urN a/cracklib-2.9.0/po/gu.po b/cracklib-2.9.0/po/gu.po ---- a/cracklib-2.9.0/po/gu.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/gu.po 2013-11-28 14:45:39.734488460 +0530 +diff -up cracklib-2.9.1/po/gu.po.translations cracklib-2.9.1/po/gu.po +--- cracklib-2.9.1/po/gu.po.translations 2013-12-09 09:34:43.045969092 +0100 ++++ cracklib-2.9.1/po/gu.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,84 +1,85 @@ # translation of cracklib.default.cracklib.gu.po to Gujarati # Copyright (C) 2009 Free Software Foundation, Inc. @@ -580,10 +585,11 @@ diff -urN a/cracklib-2.9.0/po/gu.po b/cracklib-2.9.0/po/gu.po msgid "" msgstr "" "Project-Id-Version: cracklib.default.cracklib.gu\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-10-22 18:13+0530\n" -"Last-Translator: Ankit Patel \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-24 05:01-0400\n" +"Last-Translator: swkothar \n" @@ -682,9 +688,9 @@ diff -urN a/cracklib-2.9.0/po/gu.po b/cracklib-2.9.0/po/gu.po msgid "error loading dictionary" -msgstr "" +msgstr "શબ્દકોષને લાવી રહ્યા હોય ત્યારે ભૂલ" -diff -urN a/cracklib-2.9.0/po/hi.po b/cracklib-2.9.0/po/hi.po ---- a/cracklib-2.9.0/po/hi.po 2013-11-28 14:45:28.761394994 +0530 -+++ b/cracklib-2.9.0/po/hi.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/hi.po.translations cracklib-2.9.1/po/hi.po +--- cracklib-2.9.1/po/hi.po.translations 2013-12-09 09:34:43.045969092 +0100 ++++ cracklib-2.9.1/po/hi.po 2013-12-02 09:40:11.000000000 +0100 @@ -2,84 +2,85 @@ # Hindi translations for cracklib package. # Copyright (C) 2009, 2010 Free Software Foundation, Inc. @@ -696,10 +702,11 @@ diff -urN a/cracklib-2.9.0/po/hi.po b/cracklib-2.9.0/po/hi.po msgid "" msgstr "" "Project-Id-Version: cracklib.default.cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2010-04-06 12:21+0530\n" -"Last-Translator: Rajesh Ranjan \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-23 04:21-0400\n" +"Last-Translator: rranjan \n" @@ -797,9 +804,9 @@ diff -urN a/cracklib-2.9.0/po/hi.po b/cracklib-2.9.0/po/hi.po msgid "error loading dictionary" -msgstr "" +msgstr "शब्दकोश लोड करने में त्रुटि" -diff -urN a/cracklib-2.9.0/po/it.po b/cracklib-2.9.0/po/it.po ---- a/cracklib-2.9.0/po/it.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/it.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/it.po.translations cracklib-2.9.1/po/it.po +--- cracklib-2.9.1/po/it.po.translations 2013-12-09 09:34:43.045969092 +0100 ++++ cracklib-2.9.1/po/it.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,81 +1,82 @@ # SOME DESCRIPTIVE TITLE. # This file is put in the public domain. @@ -809,10 +816,11 @@ diff -urN a/cracklib-2.9.0/po/it.po b/cracklib-2.9.0/po/it.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2005-06-23 13:15+02:00\n" -"Last-Translator: Novell Language \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-24 10:43-0400\n" +"Last-Translator: fvalen \n" @@ -910,9 +918,9 @@ diff -urN a/cracklib-2.9.0/po/it.po b/cracklib-2.9.0/po/it.po msgid "error loading dictionary" -msgstr "" +msgstr "errore nel caricare il dizionario" -diff -urN a/cracklib-2.9.0/po/ja.po b/cracklib-2.9.0/po/ja.po ---- a/cracklib-2.9.0/po/ja.po 2013-11-28 14:45:28.761394994 +0530 -+++ b/cracklib-2.9.0/po/ja.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/ja.po.translations cracklib-2.9.1/po/ja.po +--- cracklib-2.9.1/po/ja.po.translations 2013-12-09 09:34:43.046969115 +0100 ++++ cracklib-2.9.1/po/ja.po 2013-12-02 09:40:11.000000000 +0100 @@ -2,80 +2,82 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -922,10 +930,11 @@ diff -urN a/cracklib-2.9.0/po/ja.po b/cracklib-2.9.0/po/ja.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2005-08-18 11:52-0000\n" -"Last-Translator: Novell Language \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-30 01:55-0400\n" +"Last-Translator: noriko \n" @@ -1021,9 +1030,9 @@ diff -urN a/cracklib-2.9.0/po/ja.po b/cracklib-2.9.0/po/ja.po msgid "error loading dictionary" -msgstr "" +msgstr "辞書の読み込み中二エラーが発生しました" -diff -urN a/cracklib-2.9.0/po/kn.po b/cracklib-2.9.0/po/kn.po ---- a/cracklib-2.9.0/po/kn.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/kn.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/kn.po.translations cracklib-2.9.1/po/kn.po +--- cracklib-2.9.1/po/kn.po.translations 2013-12-09 09:34:43.046969115 +0100 ++++ cracklib-2.9.1/po/kn.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,83 +1,84 @@ # translation of cracklib.po to Kannada # Copyright (C) 2008 Free Software Foundation, Inc. @@ -1035,10 +1044,11 @@ diff -urN a/cracklib-2.9.0/po/kn.po b/cracklib-2.9.0/po/kn.po msgid "" msgstr "" -"Project-Id-Version: cracklib\n" -+"Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2008-12-11 11:49+0530\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-06 14:45+0530\n" +"PO-Revision-Date: 2013-10-28 02:15-0400\n" "Last-Translator: Shankar Prasad \n" @@ -1137,9 +1147,9 @@ diff -urN a/cracklib-2.9.0/po/kn.po b/cracklib-2.9.0/po/kn.po msgid "error loading dictionary" -msgstr "" +msgstr "ಕೋಶವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ" -diff -urN a/cracklib-2.9.0/po/ko.po b/cracklib-2.9.0/po/ko.po ---- a/cracklib-2.9.0/po/ko.po 2013-11-28 14:45:28.761394994 +0530 -+++ b/cracklib-2.9.0/po/ko.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/ko.po.translations cracklib-2.9.1/po/ko.po +--- cracklib-2.9.1/po/ko.po.translations 2013-12-09 09:34:43.046969115 +0100 ++++ cracklib-2.9.1/po/ko.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,83 +1,84 @@ # translation of cracklib.default.po to Korean # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1151,10 +1161,11 @@ diff -urN a/cracklib-2.9.0/po/ko.po b/cracklib-2.9.0/po/ko.po msgid "" msgstr "" "Project-Id-Version: cracklib.default\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-18 11:19+1000\n" -"Last-Translator: Eunju Kim \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-24 12:33-0400\n" +"Last-Translator: eukim \n" @@ -1252,9 +1263,9 @@ diff -urN a/cracklib-2.9.0/po/ko.po b/cracklib-2.9.0/po/ko.po msgid "error loading dictionary" -msgstr "" +msgstr "사전을 불러오는 도중 오류 발생 " -diff -urN a/cracklib-2.9.0/po/ml.po b/cracklib-2.9.0/po/ml.po ---- a/cracklib-2.9.0/po/ml.po 2013-11-28 14:45:28.760394985 +0530 -+++ b/cracklib-2.9.0/po/ml.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/ml.po.translations cracklib-2.9.1/po/ml.po +--- cracklib-2.9.1/po/ml.po.translations 2013-12-09 09:34:43.046969115 +0100 ++++ cracklib-2.9.1/po/ml.po 2013-12-02 09:40:11.000000000 +0100 @@ -2,81 +2,82 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the cracklib package. @@ -1264,10 +1275,11 @@ diff -urN a/cracklib-2.9.0/po/ml.po b/cracklib-2.9.0/po/ml.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-11 14:46+0530\n" -"Last-Translator: Ani Peter \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-28 08:56-0400\n" +"Last-Translator: apeter \n" @@ -1364,9 +1376,9 @@ diff -urN a/cracklib-2.9.0/po/ml.po b/cracklib-2.9.0/po/ml.po msgid "error loading dictionary" -msgstr "" +msgstr "നിഘണ്ടു ലഭ്യമാക്കുന്നതില്‍ പിശക്" -diff -urN a/cracklib-2.9.0/po/mr.po b/cracklib-2.9.0/po/mr.po ---- a/cracklib-2.9.0/po/mr.po 2013-11-28 14:45:28.760394985 +0530 -+++ b/cracklib-2.9.0/po/mr.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/mr.po.translations cracklib-2.9.1/po/mr.po +--- cracklib-2.9.1/po/mr.po.translations 2013-12-09 09:34:43.047969137 +0100 ++++ cracklib-2.9.1/po/mr.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,83 +1,84 @@ # translation of cracklib.default.cracklib.po to Marathi # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1378,10 +1390,11 @@ diff -urN a/cracklib-2.9.0/po/mr.po b/cracklib-2.9.0/po/mr.po msgid "" msgstr "" -"Project-Id-Version: cracklib.default.cracklib\n" -+"Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-11 12:24+0530\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-06 14:45+0530\n" +"PO-Revision-Date: 2013-10-13 01:28-0400\n" "Last-Translator: Sandeep Shedmake \n" @@ -1478,9 +1491,9 @@ diff -urN a/cracklib-2.9.0/po/mr.po b/cracklib-2.9.0/po/mr.po msgid "error loading dictionary" -msgstr "" +msgstr "शब्दकोष लोड करतेवेळी त्रुटी" -diff -urN a/cracklib-2.9.0/po/or.po b/cracklib-2.9.0/po/or.po ---- a/cracklib-2.9.0/po/or.po 2013-11-28 14:45:28.760394985 +0530 -+++ b/cracklib-2.9.0/po/or.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/or.po.translations cracklib-2.9.1/po/or.po +--- cracklib-2.9.1/po/or.po.translations 2013-12-09 09:34:43.047969137 +0100 ++++ cracklib-2.9.1/po/or.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,84 +1,85 @@ # translation of cracklib.default.cracklib.or.po to Oriya # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1492,10 +1505,11 @@ diff -urN a/cracklib-2.9.0/po/or.po b/cracklib-2.9.0/po/or.po msgid "" msgstr "" "Project-Id-Version: cracklib.default.cracklib.or\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-12 13:02+0530\n" -"Last-Translator: Manoj Kumar Giri \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-22 06:40-0400\n" +"Last-Translator: mgiri \n" @@ -1594,9 +1608,9 @@ diff -urN a/cracklib-2.9.0/po/or.po b/cracklib-2.9.0/po/or.po msgid "error loading dictionary" -msgstr "" +msgstr "ଅଭିଧାନ ଧାରଣ କରିବାରେ ତ୍ରୁଟି" -diff -urN a/cracklib-2.9.0/po/pa.po b/cracklib-2.9.0/po/pa.po ---- a/cracklib-2.9.0/po/pa.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/pa.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/pa.po.translations cracklib-2.9.1/po/pa.po +--- cracklib-2.9.1/po/pa.po.translations 2013-12-09 09:34:43.047969137 +0100 ++++ cracklib-2.9.1/po/pa.po 2013-12-02 09:40:11.000000000 +0100 @@ -2,84 +2,85 @@ # translation of cracklib.po to Panjabi # Copyright (C) 2005 Free Software Foundation, Inc. @@ -1609,10 +1623,11 @@ diff -urN a/cracklib-2.9.0/po/pa.po b/cracklib-2.9.0/po/pa.po msgid "" msgstr "" "Project-Id-Version: cracklib.pa\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-17 05:52+0530\n" -"Last-Translator: A S Alam \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-08 08:06-0400\n" +"Last-Translator: asaini \n" @@ -1709,9 +1724,9 @@ diff -urN a/cracklib-2.9.0/po/pa.po b/cracklib-2.9.0/po/pa.po msgid "error loading dictionary" -msgstr "" +msgstr "ਸ਼ਬਦ-ਕੋਸ਼ ਲੋਡ ਕਰਨ ਵੇਲੇ ਗਲਤੀ" -diff -urN a/cracklib-2.9.0/po/pt_BR.po b/cracklib-2.9.0/po/pt_BR.po ---- a/cracklib-2.9.0/po/pt_BR.po 2013-11-28 14:45:28.760394985 +0530 -+++ b/cracklib-2.9.0/po/pt_BR.po 2013-11-28 14:45:39.735488470 +0530 +diff -up cracklib-2.9.1/po/pt_BR.po.translations cracklib-2.9.1/po/pt_BR.po +--- cracklib-2.9.1/po/pt_BR.po.translations 2013-12-09 09:34:43.047969137 +0100 ++++ cracklib-2.9.1/po/pt_BR.po 2013-12-02 09:40:11.000000000 +0100 @@ -2,80 +2,82 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -1721,10 +1736,11 @@ diff -urN a/cracklib-2.9.0/po/pt_BR.po b/cracklib-2.9.0/po/pt_BR.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2005-08-18 15:02+0000\n" -"Last-Translator: Novell Language \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-30 08:53-0400\n" +"Last-Translator: gcintra \n" @@ -1821,9 +1837,9 @@ diff -urN a/cracklib-2.9.0/po/pt_BR.po b/cracklib-2.9.0/po/pt_BR.po msgid "error loading dictionary" -msgstr "" +msgstr "erro ao carregar dicionário" -diff -urN a/cracklib-2.9.0/po/ru.po b/cracklib-2.9.0/po/ru.po ---- a/cracklib-2.9.0/po/ru.po 2013-11-28 14:45:28.760394985 +0530 -+++ b/cracklib-2.9.0/po/ru.po 2013-11-28 14:45:39.736488477 +0530 +diff -up cracklib-2.9.1/po/ru.po.translations cracklib-2.9.1/po/ru.po +--- cracklib-2.9.1/po/ru.po.translations 2013-12-09 09:34:43.048969160 +0100 ++++ cracklib-2.9.1/po/ru.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,85 +1,86 @@ # translation of cracklib.pot to Russian # Copyright (C) 2008, 2009 @@ -1836,10 +1852,11 @@ diff -urN a/cracklib-2.9.0/po/ru.po b/cracklib-2.9.0/po/ru.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-12-03 10:17+1100\n" -"Last-Translator: Yulia \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-22 07:44-0400\n" +"Last-Translator: ypoyarko \n" @@ -1943,9 +1960,9 @@ diff -urN a/cracklib-2.9.0/po/ru.po b/cracklib-2.9.0/po/ru.po msgid "error loading dictionary" -msgstr "" +msgstr "ошибка при загрузке словаря" -diff -urN a/cracklib-2.9.0/po/ta.po b/cracklib-2.9.0/po/ta.po ---- a/cracklib-2.9.0/po/ta.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/ta.po 2013-11-28 14:45:39.736488477 +0530 +diff -up cracklib-2.9.1/po/ta.po.translations cracklib-2.9.1/po/ta.po +--- cracklib-2.9.1/po/ta.po.translations 2013-12-09 09:34:43.048969160 +0100 ++++ cracklib-2.9.1/po/ta.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,83 +1,84 @@ # translation of cracklib.default.cracklib.po to Tamil # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1957,10 +1974,11 @@ diff -urN a/cracklib-2.9.0/po/ta.po b/cracklib-2.9.0/po/ta.po msgid "" msgstr "" "Project-Id-Version: cracklib.default.cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-11 14:21+0530\n" -"Last-Translator: I. Felix \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-11-11 09:51-0500\n" +"Last-Translator: shkumar \n" @@ -2057,9 +2075,9 @@ diff -urN a/cracklib-2.9.0/po/ta.po b/cracklib-2.9.0/po/ta.po msgid "error loading dictionary" -msgstr "" +msgstr "அகராதியை ஏற்றுவதில் பிழை" -diff -urN a/cracklib-2.9.0/po/te.po b/cracklib-2.9.0/po/te.po ---- a/cracklib-2.9.0/po/te.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/te.po 2013-11-28 14:45:39.736488477 +0530 +diff -up cracklib-2.9.1/po/te.po.translations cracklib-2.9.1/po/te.po +--- cracklib-2.9.1/po/te.po.translations 2013-12-09 09:34:43.048969160 +0100 ++++ cracklib-2.9.1/po/te.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,84 +1,85 @@ # translation of cracklib.pot to Telugu # Copyright (C) 2009 Free Software Foundation, Inc. @@ -2071,10 +2089,11 @@ diff -urN a/cracklib-2.9.0/po/te.po b/cracklib-2.9.0/po/te.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2009-11-11 15:13+0530\n" -"Last-Translator: Krishna Babu K \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-09-26 10:54-0400\n" +"Last-Translator: kkrothap \n" @@ -2172,9 +2191,9 @@ diff -urN a/cracklib-2.9.0/po/te.po b/cracklib-2.9.0/po/te.po msgid "error loading dictionary" -msgstr "" +msgstr "నిఘంటువును లోడు చేయుటలో దోషం" -diff -urN a/cracklib-2.9.0/po/zh_CN.po b/cracklib-2.9.0/po/zh_CN.po ---- a/cracklib-2.9.0/po/zh_CN.po 2013-11-28 14:45:28.759394977 +0530 -+++ b/cracklib-2.9.0/po/zh_CN.po 2013-11-28 14:45:39.736488477 +0530 +diff -up cracklib-2.9.1/po/zh_CN.po.translations cracklib-2.9.1/po/zh_CN.po +--- cracklib-2.9.1/po/zh_CN.po.translations 2011-07-26 11:55:29.000000000 +0200 ++++ cracklib-2.9.1/po/zh_CN.po 2013-12-02 09:40:11.000000000 +0100 @@ -1,78 +1,84 @@ # translation of cracklib.default.po to Wei Liu # Copyright (C) 2010 Free Software Foundation, Inc. @@ -2278,9 +2297,9 @@ diff -urN a/cracklib-2.9.0/po/zh_CN.po b/cracklib-2.9.0/po/zh_CN.po +#: ../lib/fascist.c:867 +msgid "error loading dictionary" +msgstr "载入字典出错" -diff -urN a/cracklib-2.9.0/po/zh_TW.po b/cracklib-2.9.0/po/zh_TW.po ---- a/cracklib-2.9.0/po/zh_TW.po 2013-11-28 14:45:28.758394968 +0530 -+++ b/cracklib-2.9.0/po/zh_TW.po 2013-11-28 14:45:39.736488477 +0530 +diff -up cracklib-2.9.1/po/zh_TW.po.translations cracklib-2.9.1/po/zh_TW.po +--- cracklib-2.9.1/po/zh_TW.po.translations 2013-12-09 09:34:43.048969160 +0100 ++++ cracklib-2.9.1/po/zh_TW.po 2013-12-02 09:40:11.000000000 +0100 @@ -2,80 +2,82 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -2290,10 +2309,11 @@ diff -urN a/cracklib-2.9.0/po/zh_TW.po b/cracklib-2.9.0/po/zh_TW.po msgid "" msgstr "" "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2013-06-01 09:58-0500\n" +-"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" +-"POT-Creation-Date: 2013-12-06 07:51-0600\n" -"PO-Revision-Date: 2005-06-23 12:52+0200\n" -"Last-Translator: Novell Language \n" ++"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" +"PO-Revision-Date: 2013-10-22 09:50-0400\n" +"Last-Translator: tchuang \n" diff --git a/cracklib.spec b/cracklib.spec index c801b51..8cfb716 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,8 +4,8 @@ Summary: A password-checking library Name: cracklib -Version: 2.9.0 -Release: 9%{?dist} +Version: 2.9.1 +Release: 1%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -52,17 +52,16 @@ Source37: pass_file.gz # https://bugzilla.redhat.com/show_bug.cgi?id=557592 # https://bugzilla.redhat.com/attachment.cgi?id=386022 Source38: ry-threshold10.txt -Patch1: cracklib-2.8.15-inttypes.patch +Patch1: cracklib-2.9.1-inttypes.patch Patch2: cracklib-2.9.0-python-gzdicts.patch -Patch3: cracklib-2.9.0-packlib-lookup.patch -Patch4: cracklib-2.9.0-packlib-reentrant.patch -Patch5: cracklib-2.9.0-packlib-gztype.patch -Patch6: cracklib-2.9.0-simplistic.patch -Patch7: cracklib-2.9.0-translation-updates.patch +Patch3: cracklib-2.9.1-packlib-lookup.patch +Patch4: cracklib-2.9.1-packlib-reentrant.patch +Patch6: cracklib-2.9.1-simplistic.patch +Patch7: cracklib-2.9.1-translation-updates.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root -BuildRequires: python-devel, words, autoconf, automake, gettext, libtool +BuildRequires: python-devel, words, gettext BuildRequires: gettext-autopoint BuildRequires: zlib-devel Conflicts: cracklib-dicts < 2.8 @@ -122,7 +121,6 @@ If you are installing CrackLib, you should also install cracklib-dicts. %prep %setup -q -a 2 -cp lib/packer.h lib/packer.h.in # Replace zn_CN.po with one that wasn't mis-transcoded at some point. grep '????????????????' po/zh_CN.po install -p -m 644 %{SOURCE3} po/zh_CN.po @@ -131,11 +129,9 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch2 -p1 -b .gzdicts %patch3 -p1 -b .lookup %patch4 -p1 -b .reentrant -%patch5 -p1 -b .gztype %patch6 -p1 -b .simplistic -%patch7 -p2 -b .translations +%patch7 -p1 -b .translations -autoreconf -f -i mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ @@ -261,6 +257,9 @@ EOF %{_libdir}/../lib/python*/site-packages/*.py* %changelog +* Mon Dec 9 2013 Tomáš Mráz - 2.9.1-1 +- new upstream release + * Mon Dec 2 2013 Tomáš Mráz - 2.9.0-9 - update only .gmo files to avoid multilib conflicts (#1036305) diff --git a/sources b/sources index d062273..5b07a0f 100644 --- a/sources +++ b/sources @@ -29,4 +29,4 @@ c03b38448aefcde059e6fcfb20784f2c surnames.finnish.gz 7fa6ba0cd50e7f9ccaf4707c810b14f1 cracklib-words-20080507.gz 12936e97cc34a28f2efec62e115a60e1 cracklib2_2.8.19-1.debian.tar.gz bf8714368e0a485472b6ad7c4dba06a3 cracklib2_2.8.19-1.dsc -e0f94ac2138fd33c7e77b19c1e9a9390 cracklib-2.9.0.tar.gz +90536219c520add2ceb3c26f0d7da404 cracklib-2.9.1.tar.gz From cb1f0ab7997c77a281e0bdc815f23a63591a48b1 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 5 Feb 2014 16:34:12 +0100 Subject: [PATCH 29/85] move python files to libdir --- cracklib.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 8cfb716..f01c0f2 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.1 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -152,7 +152,7 @@ make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -c -p" -C python +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -c -p" 'pythondir=${pyexecdir}' -C python ./util/cracklib-format cracklib-dicts/* | \ ./util/cracklib-packer $RPM_BUILD_ROOT/%{dictpath} ./util/cracklib-format $RPM_BUILD_ROOT/%{dictdir}/cracklib-small | \ @@ -254,9 +254,12 @@ EOF %files python %defattr(-,root,root) %{_libdir}/python*/site-packages/_cracklib*.so -%{_libdir}/../lib/python*/site-packages/*.py* +%{_libdir}/python*/site-packages/*.py* %changelog +* Wed Feb 5 2014 Tomáš Mráz - 2.9.1-2 +- move python files to libdir + * Mon Dec 9 2013 Tomáš Mráz - 2.9.1-1 - new upstream release From 02878afc6e0b875d65bd13e305cd8767c9583efe Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 5 Feb 2014 16:50:57 +0100 Subject: [PATCH 30/85] The explicit make install for python not needed anymore. --- cracklib.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index f01c0f2..dd95d09 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -151,8 +151,7 @@ make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -c -p" 'pythondir=${pyexecdir}' -C python +make install DESTDIR=$RPM_BUILD_ROOT 'pythondir=${pyexecdir}' ./util/cracklib-format cracklib-dicts/* | \ ./util/cracklib-packer $RPM_BUILD_ROOT/%{dictpath} ./util/cracklib-format $RPM_BUILD_ROOT/%{dictdir}/cracklib-small | \ From ecebfdc3b3ff7f11c556b80220fc89c0cc8d7145 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 01:07:35 -0500 Subject: [PATCH 31/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index dd95d09..867b084 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.1 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -256,6 +256,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 2.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Wed Feb 5 2014 Tomáš Mráz - 2.9.1-2 - move python files to libdir From dd1a331c80d0a359be2edf575aa0d55eeea17a48 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Fri, 11 Jul 2014 16:52:23 -0400 Subject: [PATCH 32/85] fix license handling --- cracklib.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 867b084..93ae3eb 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.1 -Release: 3%{?dist} +Release: 4%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -229,7 +229,9 @@ EOF %files -f %{name}.lang %defattr(-,root,root) -%doc README README-WORDS NEWS README-LICENSE AUTHORS COPYING.LIB +%doc README README-WORDS NEWS README-LICENSE AUTHORS +%{!?_licensedir:%global license %%doc} +%license COPYING.LIB %{_libdir}/libcrack.so.* %dir %{_datadir}/cracklib %{_datadir}/cracklib/cracklib.magic @@ -256,6 +258,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Fri Jul 11 2014 Tom Callaway - 2.9.1-4 +- fix license handling + * Sat Jun 07 2014 Fedora Release Engineering - 2.9.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From 8757bbd8feb312f44cf2dc7d22f5b0a99dbb7808 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 16 Aug 2014 01:32:04 +0000 Subject: [PATCH 33/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 93ae3eb..ade5cfa 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.1 -Release: 4%{?dist} +Release: 5%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -258,6 +258,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Sat Aug 16 2014 Fedora Release Engineering - 2.9.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Fri Jul 11 2014 Tom Callaway - 2.9.1-4 - fix license handling From 543a41b0c789cc00e91e3f579e82d7c8f668a7dd Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 03:21:52 +0000 Subject: [PATCH 34/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index ade5cfa..f299073 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.1 -Release: 5%{?dist} +Release: 6%{?dist} Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz @@ -258,6 +258,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Wed Jun 17 2015 Fedora Release Engineering - 2.9.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Sat Aug 16 2014 Fedora Release Engineering - 2.9.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From d3e5311e69ce6bbd0e23a43684b203861a47a46c Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Fri, 23 Oct 2015 17:07:18 +0200 Subject: [PATCH 35/85] new upstream release - cleanup of the word lists --- .gitignore | 3 + cracklib-2.9.1-packlib-lookup.patch | 105 - ... => cracklib-2.9.6-packlib-reentrant.patch | 57 +- ...c.patch => cracklib-2.9.6-simplistic.patch | 18 +- ...> cracklib-2.9.6-translation-updates.patch | 166 +- cracklib.spec | 63 +- ry-threshold10.txt | 44782 ---------------- sources | 33 +- 8 files changed, 140 insertions(+), 45087 deletions(-) delete mode 100644 cracklib-2.9.1-packlib-lookup.patch rename cracklib-2.9.1-packlib-reentrant.patch => cracklib-2.9.6-packlib-reentrant.patch (91%) rename cracklib-2.9.1-simplistic.patch => cracklib-2.9.6-simplistic.patch (81%) rename cracklib-2.9.1-translation-updates.patch => cracklib-2.9.6-translation-updates.patch (94%) delete mode 100644 ry-threshold10.txt diff --git a/.gitignore b/.gitignore index a7a9af9..bee2d82 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,6 @@ cracklib-2.8.16.tar.gz /cracklib-2.8.22.tar.gz /cracklib-2.9.0.tar.gz /cracklib-2.9.1.tar.gz +/cracklib-2.9.6.tar.gz +/cracklib-words-2.9.6.gz +/missing-words.gz diff --git a/cracklib-2.9.1-packlib-lookup.patch b/cracklib-2.9.1-packlib-lookup.patch deleted file mode 100644 index a30fc98..0000000 --- a/cracklib-2.9.1-packlib-lookup.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff -up cracklib-2.9.1/lib/packer.h.lookup cracklib-2.9.1/lib/packer.h ---- cracklib-2.9.1/lib/packer.h.lookup 2013-12-09 09:52:42.153260712 +0100 -+++ cracklib-2.9.1/lib/packer.h 2013-12-09 09:52:42.155260757 +0100 -@@ -60,6 +60,7 @@ typedef struct - int count; - char data_put[NUMWORDS][MAXWORDLEN]; - char data_get[NUMWORDS][MAXWORDLEN]; -+ uint32_t prevblock; - } PWDICT; - - #define PW_WORDS(x) ((x)->header.pih_numwords) -diff -up cracklib-2.9.1/lib/packlib.c.lookup cracklib-2.9.1/lib/packlib.c ---- cracklib-2.9.1/lib/packlib.c.lookup 2013-12-03 15:00:15.000000000 +0100 -+++ cracklib-2.9.1/lib/packlib.c 2013-12-09 09:53:43.580643470 +0100 -@@ -84,6 +84,7 @@ PWOpen(prefix, mode) - - memset(&pdesc, '\0', sizeof(pdesc)); - memset(&pdesc64, '\0', sizeof(pdesc64)); -+ pdesc.prevblock = 0xffffffff; - - snprintf(iname, STRINGSIZE, "%s.pwi", prefix); - snprintf(dname, STRINGSIZE, "%s.pwd", prefix); -@@ -446,12 +447,11 @@ GetPW(pwp, number) - register char *nstr; - register char *bptr; - char buffer[NUMWORDS * MAXWORDLEN]; -- static uint32_t prevblock = 0xffffffff; - uint32_t thisblock; - - thisblock = number / NUMWORDS; - -- if (prevblock == thisblock) -+ if (pwp->prevblock == thisblock) - { - #if DEBUG - fprintf(stderr, "returning (%s)\n", pwp->data_get[number % NUMWORDS]); -@@ -526,13 +526,16 @@ GetPW(pwp, number) - return NULL; - } - -- prevblock = thisblock; -+ pwp->prevblock = thisblock; - - bptr = buffer; - - for (ostr = pwp->data_get[0]; (*(ostr++) = *(bptr++)); /* nothing */ ); - - ostr = pwp->data_get[0]; -+#if DEBUG -+ fprintf(stderr, "data_get[0]: %s\n", ostr); -+#endif - - for (i = 1; i < NUMWORDS; i++) - { -@@ -543,6 +546,9 @@ GetPW(pwp, number) - while ((*(ostr++) = *(bptr++))); - - ostr = nstr; -+#if DEBUG -+ fprintf(stderr, "data_get[%d]: %s\n", i, ostr); -+#endif - } - - return (pwp->data_get[number % NUMWORDS]); -@@ -621,22 +627,28 @@ fprintf(stderr, "look for (%s)\n", strin - return(middle); - } - -- if (middle == hwm) -- { --#if DEBUG -- fprintf(stderr, "at terminal subdivision, stopping search\n"); --#endif -- break; -- } -- - if (cmp < 0) - { -- hwm = middle; -- } -+ if (middle == lwm) -+ { -+#if DEBUG -+ fprintf(stderr, "at terminal subdivision from right, stopping search\n"); -+#endif -+ break; -+ } -+ hwm = middle - 1; -+ } - else if (cmp > 0) - { -- lwm = middle; -- } -+ if (middle == hwm) -+ { -+#if DEBUG -+ fprintf(stderr, "at terminal subdivision from left, stopping search\n"); -+#endif -+ break; -+ } -+ lwm = middle + 1; -+ } - } - - return (PW_WORDS(pwp)); diff --git a/cracklib-2.9.1-packlib-reentrant.patch b/cracklib-2.9.6-packlib-reentrant.patch similarity index 91% rename from cracklib-2.9.1-packlib-reentrant.patch rename to cracklib-2.9.6-packlib-reentrant.patch index 824173f..9ca7fa7 100644 --- a/cracklib-2.9.1-packlib-reentrant.patch +++ b/cracklib-2.9.6-packlib-reentrant.patch @@ -1,6 +1,6 @@ -diff -up cracklib-2.9.1/lib/fascist.c.reentrant cracklib-2.9.1/lib/fascist.c ---- cracklib-2.9.1/lib/fascist.c.reentrant 2013-12-03 15:00:15.000000000 +0100 -+++ cracklib-2.9.1/lib/fascist.c 2013-12-09 09:38:23.165924179 +0100 +diff -up cracklib-2.9.6/lib/fascist.c.reentrant cracklib-2.9.6/lib/fascist.c +--- cracklib-2.9.6/lib/fascist.c.reentrant 2015-08-18 20:41:16.000000000 +0200 ++++ cracklib-2.9.6/lib/fascist.c 2015-10-22 18:17:20.338290974 +0200 @@ -36,8 +36,8 @@ typedef unsigned short uint16_t; #undef DEBUG #undef DEBUG2 @@ -103,10 +103,10 @@ diff -up cracklib-2.9.1/lib/fascist.c.reentrant cracklib-2.9.1/lib/fascist.c { continue; } -diff -up cracklib-2.9.1/lib/packer.h.reentrant cracklib-2.9.1/lib/packer.h ---- cracklib-2.9.1/lib/packer.h.reentrant 2013-12-09 09:38:23.164924157 +0100 -+++ cracklib-2.9.1/lib/packer.h 2013-12-09 09:38:23.165924179 +0100 -@@ -83,7 +83,7 @@ extern int PWClose(PWDICT *pwp); +diff -up cracklib-2.9.6/lib/packer.h.reentrant cracklib-2.9.6/lib/packer.h +--- cracklib-2.9.6/lib/packer.h.reentrant 2015-10-22 18:17:20.335290902 +0200 ++++ cracklib-2.9.6/lib/packer.h 2015-10-22 18:17:20.338290974 +0200 +@@ -82,7 +82,7 @@ extern int PWClose(PWDICT *pwp); extern unsigned int FindPW(PWDICT *pwp, char *string); extern int PutPW(PWDICT *pwp, char *string); extern int PMatch(char *control, char *string); @@ -115,9 +115,9 @@ diff -up cracklib-2.9.1/lib/packer.h.reentrant cracklib-2.9.1/lib/packer.h extern char Chop(char *string); extern char *Trim(char *string); extern char *FascistLook(PWDICT *pwp, char *instring); -diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c ---- cracklib-2.9.1/lib/packlib.c.reentrant 2013-12-09 09:38:23.164924157 +0100 -+++ cracklib-2.9.1/lib/packlib.c 2013-12-09 09:39:06.556900951 +0100 +diff -up cracklib-2.9.6/lib/packlib.c.reentrant cracklib-2.9.6/lib/packlib.c +--- cracklib-2.9.6/lib/packlib.c.reentrant 2015-08-18 20:41:16.000000000 +0200 ++++ cracklib-2.9.6/lib/packlib.c 2015-10-22 18:19:52.154911451 +0200 @@ -67,8 +67,8 @@ PWOpen(prefix, mode) char *mode; { @@ -129,7 +129,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c char iname[STRINGSIZE]; char dname[STRINGSIZE]; char wname[STRINGSIZE]; -@@ -76,15 +76,13 @@ PWOpen(prefix, mode) +@@ -76,13 +76,11 @@ PWOpen(prefix, mode) void *ifp; void *wfp; @@ -144,12 +144,9 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c - memset(&pdesc, '\0', sizeof(pdesc)); + memset(pdesc, '\0', sizeof(*pdesc)); memset(&pdesc64, '\0', sizeof(pdesc64)); -- pdesc.prevblock = 0xffffffff; -+ pdesc->prevblock = 0xffffffff; snprintf(iname, STRINGSIZE, "%s.pwi", prefix); - snprintf(dname, STRINGSIZE, "%s.pwd", prefix); -@@ -92,77 +90,80 @@ PWOpen(prefix, mode) +@@ -91,77 +89,80 @@ PWOpen(prefix, mode) if (mode[0] == 'r') { @@ -254,7 +251,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c gzclose(dfp); else #endif -@@ -171,10 +172,11 @@ PWOpen(prefix, mode) +@@ -170,10 +171,11 @@ PWOpen(prefix, mode) { fclose(wfp); } @@ -267,7 +264,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c { /* uh-oh. either a broken "64-bit" file or a garbage file. */ rewind (ifp); -@@ -182,10 +184,9 @@ PWOpen(prefix, mode) +@@ -181,10 +183,9 @@ PWOpen(prefix, mode) { fprintf(stderr, "%s: error reading header\n", prefix); @@ -279,7 +276,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c gzclose(dfp); else #endif -@@ -194,6 +195,7 @@ PWOpen(prefix, mode) +@@ -193,6 +194,7 @@ PWOpen(prefix, mode) { fclose(wfp); } @@ -287,7 +284,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c return NULL; } if (pdesc64.header.pih_magic != PIH_MAGIC) -@@ -201,10 +203,9 @@ PWOpen(prefix, mode) +@@ -200,10 +202,9 @@ PWOpen(prefix, mode) /* nope, not "64-bit" after all */ fprintf(stderr, "%s: error reading header\n", prefix); @@ -299,7 +296,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c gzclose(dfp); else #endif -@@ -214,23 +215,23 @@ PWOpen(prefix, mode) +@@ -213,23 +214,23 @@ PWOpen(prefix, mode) { fclose(wfp); } @@ -330,7 +327,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c gzclose(dfp); else #endif -@@ -240,17 +241,17 @@ PWOpen(prefix, mode) +@@ -239,17 +240,17 @@ PWOpen(prefix, mode) { fclose(wfp); } @@ -351,7 +348,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c gzclose(dfp); else #endif -@@ -259,17 +260,17 @@ PWOpen(prefix, mode) +@@ -258,17 +259,17 @@ PWOpen(prefix, mode) { fclose(wfp); } @@ -372,7 +369,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c gzclose(dfp); else #endif -@@ -278,10 +279,11 @@ PWOpen(prefix, mode) +@@ -277,10 +278,11 @@ PWOpen(prefix, mode) { fclose(wfp); } @@ -385,7 +382,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c { int i; -@@ -289,27 +291,27 @@ PWOpen(prefix, mode) +@@ -288,27 +290,27 @@ PWOpen(prefix, mode) { if (fread(pdesc64.hwms, 1, sizeof(pdesc64.hwms), wfp) != sizeof(pdesc64.hwms)) { @@ -421,7 +418,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c } int -@@ -319,6 +321,7 @@ PWClose(pwp) +@@ -318,6 +320,7 @@ PWClose(pwp) if (pwp->header.pih_magic != PIH_MAGIC) { fprintf(stderr, "PWClose: close magic mismatch\n"); @@ -429,7 +426,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c return (-1); } -@@ -330,12 +333,14 @@ PWClose(pwp) +@@ -329,12 +332,14 @@ PWClose(pwp) if (fseek(pwp->ifp, 0L, 0)) { fprintf(stderr, "index magic fseek failed\n"); @@ -444,7 +441,7 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c return (-1); } -@@ -369,6 +374,7 @@ PWClose(pwp) +@@ -368,6 +373,7 @@ PWClose(pwp) } pwp->header.pih_magic = 0; @@ -452,9 +449,9 @@ diff -up cracklib-2.9.1/lib/packlib.c.reentrant cracklib-2.9.1/lib/packlib.c return (0); } -diff -up cracklib-2.9.1/lib/rules.c.reentrant cracklib-2.9.1/lib/rules.c ---- cracklib-2.9.1/lib/rules.c.reentrant 2013-12-03 15:00:15.000000000 +0100 -+++ cracklib-2.9.1/lib/rules.c 2013-12-09 09:38:23.166924202 +0100 +diff -up cracklib-2.9.6/lib/rules.c.reentrant cracklib-2.9.6/lib/rules.c +--- cracklib-2.9.6/lib/rules.c.reentrant 2015-08-18 20:41:16.000000000 +0200 ++++ cracklib-2.9.6/lib/rules.c 2015-10-22 18:17:20.339290998 +0200 @@ -82,12 +82,12 @@ Suffix(myword, suffix) } diff --git a/cracklib-2.9.1-simplistic.patch b/cracklib-2.9.6-simplistic.patch similarity index 81% rename from cracklib-2.9.1-simplistic.patch rename to cracklib-2.9.6-simplistic.patch index 100efe4..650b103 100644 --- a/cracklib-2.9.1-simplistic.patch +++ b/cracklib-2.9.6-simplistic.patch @@ -1,6 +1,6 @@ -diff -up cracklib-2.9.1/lib/fascist.c.simplistic cracklib-2.9.1/lib/fascist.c ---- cracklib-2.9.1/lib/fascist.c.simplistic 2013-12-09 09:31:47.136009210 +0100 -+++ cracklib-2.9.1/lib/fascist.c 2013-12-09 09:33:23.774184638 +0100 +diff -up cracklib-2.9.6/lib/fascist.c.simplistic cracklib-2.9.6/lib/fascist.c +--- cracklib-2.9.6/lib/fascist.c.simplistic 2015-10-22 18:21:51.099748012 +0200 ++++ cracklib-2.9.6/lib/fascist.c 2015-10-22 18:21:51.101748060 +0200 @@ -55,7 +55,6 @@ static char *r_destructors[] = { "/?p@?p", /* purging out punctuation/symbols/junk */ @@ -92,9 +92,9 @@ diff -up cracklib-2.9.1/lib/fascist.c.simplistic cracklib-2.9.1/lib/fascist.c #ifdef DEBUG printf("%-16s (reversed dict)\n", a); #endif -diff -up cracklib-2.9.1/util/cracklib-format.simplistic cracklib-2.9.1/util/cracklib-format ---- cracklib-2.9.1/util/cracklib-format.simplistic 2012-12-13 18:01:50.000000000 +0100 -+++ cracklib-2.9.1/util/cracklib-format 2013-12-09 09:31:47.138009255 +0100 +diff -up cracklib-2.9.6/util/cracklib-format.simplistic cracklib-2.9.6/util/cracklib-format +--- cracklib-2.9.6/util/cracklib-format.simplistic 2015-10-22 18:21:51.101748060 +0200 ++++ cracklib-2.9.6/util/cracklib-format 2014-07-09 17:24:45.000000000 +0200 @@ -3,8 +3,10 @@ # This preprocesses a set of word lists into a suitable form for input # into cracklib-packer @@ -102,9 +102,11 @@ diff -up cracklib-2.9.1/util/cracklib-format.simplistic cracklib-2.9.1/util/crac +LC_ALL=C +export LC_ALL gzip -cdf "$@" | - grep -v '^\(#\|$\)' | +- grep -v '^\(#\|$\)' | - tr '[A-Z]' '[a-z]' | - tr -cd '\012[a-z][0-9]' | +- env LC_ALL=C sort -u ++ grep -a -E -v '^.{30,}$' | + tr '[:upper:]' '[:lower:]' | + tr -cd '\n[:graph:]' | - sort -u ++ sort -u diff --git a/cracklib-2.9.1-translation-updates.patch b/cracklib-2.9.6-translation-updates.patch similarity index 94% rename from cracklib-2.9.1-translation-updates.patch rename to cracklib-2.9.6-translation-updates.patch index 0e13d3b..eb2497a 100644 --- a/cracklib-2.9.1-translation-updates.patch +++ b/cracklib-2.9.6-translation-updates.patch @@ -1,6 +1,6 @@ -diff -up cracklib-2.9.1/po/as.po.translations cracklib-2.9.1/po/as.po ---- cracklib-2.9.1/po/as.po.translations 2013-12-09 09:34:43.044969070 +0100 -+++ cracklib-2.9.1/po/as.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/as.po.translations cracklib-2.9.6/po/as.po +--- cracklib-2.9.6/po/as.po.translations 2015-10-22 18:24:54.374118684 +0200 ++++ cracklib-2.9.6/po/as.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,82 +1,83 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -12,7 +12,7 @@ diff -up cracklib-2.9.1/po/as.po.translations cracklib-2.9.1/po/as.po msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-12 11:39+0530\n" -"Last-Translator: Amitakhya Phukan \n" +"Report-Msgid-Bugs-To: \n" @@ -112,9 +112,9 @@ diff -up cracklib-2.9.1/po/as.po.translations cracklib-2.9.1/po/as.po msgid "error loading dictionary" -msgstr "" +msgstr "শব্দকোষ ল'ড কৰোতে ত্ৰুটি" -diff -up cracklib-2.9.1/po/bn_IN.po.translations cracklib-2.9.1/po/bn_IN.po ---- cracklib-2.9.1/po/bn_IN.po.translations 2013-12-09 09:34:43.044969070 +0100 -+++ cracklib-2.9.1/po/bn_IN.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/bn_IN.po.translations cracklib-2.9.6/po/bn_IN.po +--- cracklib-2.9.6/po/bn_IN.po.translations 2015-10-22 18:24:54.374118684 +0200 ++++ cracklib-2.9.6/po/bn_IN.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.po to Bengali INDIA # Copyright (C) 2009 Free Software Foundation, Inc. @@ -127,7 +127,7 @@ diff -up cracklib-2.9.1/po/bn_IN.po.translations cracklib-2.9.1/po/bn_IN.po msgstr "" "Project-Id-Version: cracklib.default.cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-11 12:34+0530\n" -"Last-Translator: Runa Bhattacharjee \n" +"Report-Msgid-Bugs-To: \n" @@ -227,9 +227,9 @@ diff -up cracklib-2.9.1/po/bn_IN.po.translations cracklib-2.9.1/po/bn_IN.po msgid "error loading dictionary" -msgstr "" +msgstr "অভিধান লোড হতে সমস্যা" -diff -up cracklib-2.9.1/po/de.po.translations cracklib-2.9.1/po/de.po ---- cracklib-2.9.1/po/de.po.translations 2013-12-09 09:34:43.044969070 +0100 -+++ cracklib-2.9.1/po/de.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/de.po.translations cracklib-2.9.6/po/de.po +--- cracklib-2.9.6/po/de.po.translations 2015-10-22 18:24:54.375118708 +0200 ++++ cracklib-2.9.6/po/de.po 2014-07-09 17:24:45.000000000 +0200 @@ -4,82 +4,82 @@ # Antje Faber , 2000-2003. # Karl Eichwalder , 1999-2003. @@ -240,7 +240,7 @@ diff -up cracklib-2.9.1/po/de.po.translations cracklib-2.9.1/po/de.po msgstr "" "Project-Id-Version: new\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2003-11-27 18:31GMT\n" -"Last-Translator: Novell Language \n" +"Report-Msgid-Bugs-To: \n" @@ -341,9 +341,9 @@ diff -up cracklib-2.9.1/po/de.po.translations cracklib-2.9.1/po/de.po msgid "error loading dictionary" -msgstr "" +msgstr "Fehler beim Laden des Wörterbuches" -diff -up cracklib-2.9.1/po/es.po.translations cracklib-2.9.1/po/es.po ---- cracklib-2.9.1/po/es.po.translations 2013-12-09 09:34:43.044969070 +0100 -+++ cracklib-2.9.1/po/es.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/es.po.translations cracklib-2.9.6/po/es.po +--- cracklib-2.9.6/po/es.po.translations 2015-10-22 18:24:54.375118708 +0200 ++++ cracklib-2.9.6/po/es.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,81 +1,82 @@ # translation of cracklib.po to # This file is put in the public domain. @@ -354,7 +354,7 @@ diff -up cracklib-2.9.1/po/es.po.translations cracklib-2.9.1/po/es.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 13:17+02:00\n" -"Last-Translator: Novell Language \n" -"Language-Team: Novell Language \n" @@ -458,9 +458,9 @@ diff -up cracklib-2.9.1/po/es.po.translations cracklib-2.9.1/po/es.po msgid "error loading dictionary" -msgstr "" +msgstr "Error al cargar el diccionario" -diff -up cracklib-2.9.1/po/fr.po.translations cracklib-2.9.1/po/fr.po ---- cracklib-2.9.1/po/fr.po.translations 2013-12-09 09:34:43.045969092 +0100 -+++ cracklib-2.9.1/po/fr.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/fr.po.translations cracklib-2.9.6/po/fr.po +--- cracklib-2.9.6/po/fr.po.translations 2015-10-22 18:24:54.375118708 +0200 ++++ cracklib-2.9.6/po/fr.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,81 +1,82 @@ # translation of cracklib.po to Français # This file is put in the public domain. @@ -471,7 +471,7 @@ diff -up cracklib-2.9.1/po/fr.po.translations cracklib-2.9.1/po/fr.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 13:17+02:00\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 16:11-0600\n" @@ -571,9 +571,9 @@ diff -up cracklib-2.9.1/po/fr.po.translations cracklib-2.9.1/po/fr.po msgid "error loading dictionary" -msgstr "" +msgstr "erreur lors du chargement du dictionnaire" -diff -up cracklib-2.9.1/po/gu.po.translations cracklib-2.9.1/po/gu.po ---- cracklib-2.9.1/po/gu.po.translations 2013-12-09 09:34:43.045969092 +0100 -+++ cracklib-2.9.1/po/gu.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/gu.po.translations cracklib-2.9.6/po/gu.po +--- cracklib-2.9.6/po/gu.po.translations 2015-10-22 18:24:54.375118708 +0200 ++++ cracklib-2.9.6/po/gu.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,84 +1,85 @@ # translation of cracklib.default.cracklib.gu.po to Gujarati # Copyright (C) 2009 Free Software Foundation, Inc. @@ -586,7 +586,7 @@ diff -up cracklib-2.9.1/po/gu.po.translations cracklib-2.9.1/po/gu.po msgstr "" "Project-Id-Version: cracklib.default.cracklib.gu\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-10-22 18:13+0530\n" -"Last-Translator: Ankit Patel \n" +"Report-Msgid-Bugs-To: \n" @@ -688,9 +688,9 @@ diff -up cracklib-2.9.1/po/gu.po.translations cracklib-2.9.1/po/gu.po msgid "error loading dictionary" -msgstr "" +msgstr "શબ્દકોષને લાવી રહ્યા હોય ત્યારે ભૂલ" -diff -up cracklib-2.9.1/po/hi.po.translations cracklib-2.9.1/po/hi.po ---- cracklib-2.9.1/po/hi.po.translations 2013-12-09 09:34:43.045969092 +0100 -+++ cracklib-2.9.1/po/hi.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/hi.po.translations cracklib-2.9.6/po/hi.po +--- cracklib-2.9.6/po/hi.po.translations 2015-10-22 18:24:54.376118732 +0200 ++++ cracklib-2.9.6/po/hi.po 2014-07-09 17:24:45.000000000 +0200 @@ -2,84 +2,85 @@ # Hindi translations for cracklib package. # Copyright (C) 2009, 2010 Free Software Foundation, Inc. @@ -703,7 +703,7 @@ diff -up cracklib-2.9.1/po/hi.po.translations cracklib-2.9.1/po/hi.po msgstr "" "Project-Id-Version: cracklib.default.cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2010-04-06 12:21+0530\n" -"Last-Translator: Rajesh Ranjan \n" +"Report-Msgid-Bugs-To: \n" @@ -804,9 +804,9 @@ diff -up cracklib-2.9.1/po/hi.po.translations cracklib-2.9.1/po/hi.po msgid "error loading dictionary" -msgstr "" +msgstr "शब्दकोश लोड करने में त्रुटि" -diff -up cracklib-2.9.1/po/it.po.translations cracklib-2.9.1/po/it.po ---- cracklib-2.9.1/po/it.po.translations 2013-12-09 09:34:43.045969092 +0100 -+++ cracklib-2.9.1/po/it.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/it.po.translations cracklib-2.9.6/po/it.po +--- cracklib-2.9.6/po/it.po.translations 2015-10-22 18:24:54.376118732 +0200 ++++ cracklib-2.9.6/po/it.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,81 +1,82 @@ # SOME DESCRIPTIVE TITLE. # This file is put in the public domain. @@ -817,7 +817,7 @@ diff -up cracklib-2.9.1/po/it.po.translations cracklib-2.9.1/po/it.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 13:15+02:00\n" -"Last-Translator: Novell Language \n" +"Report-Msgid-Bugs-To: \n" @@ -918,9 +918,9 @@ diff -up cracklib-2.9.1/po/it.po.translations cracklib-2.9.1/po/it.po msgid "error loading dictionary" -msgstr "" +msgstr "errore nel caricare il dizionario" -diff -up cracklib-2.9.1/po/ja.po.translations cracklib-2.9.1/po/ja.po ---- cracklib-2.9.1/po/ja.po.translations 2013-12-09 09:34:43.046969115 +0100 -+++ cracklib-2.9.1/po/ja.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/ja.po.translations cracklib-2.9.6/po/ja.po +--- cracklib-2.9.6/po/ja.po.translations 2015-10-22 18:24:54.376118732 +0200 ++++ cracklib-2.9.6/po/ja.po 2014-07-09 17:24:45.000000000 +0200 @@ -2,80 +2,82 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -931,7 +931,7 @@ diff -up cracklib-2.9.1/po/ja.po.translations cracklib-2.9.1/po/ja.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-08-18 11:52-0000\n" -"Last-Translator: Novell Language \n" +"Report-Msgid-Bugs-To: \n" @@ -1030,9 +1030,9 @@ diff -up cracklib-2.9.1/po/ja.po.translations cracklib-2.9.1/po/ja.po msgid "error loading dictionary" -msgstr "" +msgstr "辞書の読み込み中二エラーが発生しました" -diff -up cracklib-2.9.1/po/kn.po.translations cracklib-2.9.1/po/kn.po ---- cracklib-2.9.1/po/kn.po.translations 2013-12-09 09:34:43.046969115 +0100 -+++ cracklib-2.9.1/po/kn.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/kn.po.translations cracklib-2.9.6/po/kn.po +--- cracklib-2.9.6/po/kn.po.translations 2015-10-22 18:24:54.376118732 +0200 ++++ cracklib-2.9.6/po/kn.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.po to Kannada # Copyright (C) 2008 Free Software Foundation, Inc. @@ -1045,7 +1045,7 @@ diff -up cracklib-2.9.1/po/kn.po.translations cracklib-2.9.1/po/kn.po msgstr "" -"Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2008-12-11 11:49+0530\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" @@ -1147,9 +1147,9 @@ diff -up cracklib-2.9.1/po/kn.po.translations cracklib-2.9.1/po/kn.po msgid "error loading dictionary" -msgstr "" +msgstr "ಕೋಶವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ" -diff -up cracklib-2.9.1/po/ko.po.translations cracklib-2.9.1/po/ko.po ---- cracklib-2.9.1/po/ko.po.translations 2013-12-09 09:34:43.046969115 +0100 -+++ cracklib-2.9.1/po/ko.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/ko.po.translations cracklib-2.9.6/po/ko.po +--- cracklib-2.9.6/po/ko.po.translations 2015-10-22 18:24:54.377118756 +0200 ++++ cracklib-2.9.6/po/ko.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.default.po to Korean # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1162,7 +1162,7 @@ diff -up cracklib-2.9.1/po/ko.po.translations cracklib-2.9.1/po/ko.po msgstr "" "Project-Id-Version: cracklib.default\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-18 11:19+1000\n" -"Last-Translator: Eunju Kim \n" +"Report-Msgid-Bugs-To: \n" @@ -1263,9 +1263,9 @@ diff -up cracklib-2.9.1/po/ko.po.translations cracklib-2.9.1/po/ko.po msgid "error loading dictionary" -msgstr "" +msgstr "사전을 불러오는 도중 오류 발생 " -diff -up cracklib-2.9.1/po/ml.po.translations cracklib-2.9.1/po/ml.po ---- cracklib-2.9.1/po/ml.po.translations 2013-12-09 09:34:43.046969115 +0100 -+++ cracklib-2.9.1/po/ml.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/ml.po.translations cracklib-2.9.6/po/ml.po +--- cracklib-2.9.6/po/ml.po.translations 2015-10-22 18:24:54.377118756 +0200 ++++ cracklib-2.9.6/po/ml.po 2014-07-09 17:24:45.000000000 +0200 @@ -2,81 +2,82 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the cracklib package. @@ -1276,7 +1276,7 @@ diff -up cracklib-2.9.1/po/ml.po.translations cracklib-2.9.1/po/ml.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-11 14:46+0530\n" -"Last-Translator: Ani Peter \n" +"Report-Msgid-Bugs-To: \n" @@ -1376,9 +1376,9 @@ diff -up cracklib-2.9.1/po/ml.po.translations cracklib-2.9.1/po/ml.po msgid "error loading dictionary" -msgstr "" +msgstr "നിഘണ്ടു ലഭ്യമാക്കുന്നതില്‍ പിശക്" -diff -up cracklib-2.9.1/po/mr.po.translations cracklib-2.9.1/po/mr.po ---- cracklib-2.9.1/po/mr.po.translations 2013-12-09 09:34:43.047969137 +0100 -+++ cracklib-2.9.1/po/mr.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/mr.po.translations cracklib-2.9.6/po/mr.po +--- cracklib-2.9.6/po/mr.po.translations 2015-10-22 18:24:54.377118756 +0200 ++++ cracklib-2.9.6/po/mr.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.default.cracklib.po to Marathi # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1391,7 +1391,7 @@ diff -up cracklib-2.9.1/po/mr.po.translations cracklib-2.9.1/po/mr.po msgstr "" -"Project-Id-Version: cracklib.default.cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-11 12:24+0530\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" @@ -1491,9 +1491,9 @@ diff -up cracklib-2.9.1/po/mr.po.translations cracklib-2.9.1/po/mr.po msgid "error loading dictionary" -msgstr "" +msgstr "शब्दकोष लोड करतेवेळी त्रुटी" -diff -up cracklib-2.9.1/po/or.po.translations cracklib-2.9.1/po/or.po ---- cracklib-2.9.1/po/or.po.translations 2013-12-09 09:34:43.047969137 +0100 -+++ cracklib-2.9.1/po/or.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/or.po.translations cracklib-2.9.6/po/or.po +--- cracklib-2.9.6/po/or.po.translations 2015-10-22 18:24:54.377118756 +0200 ++++ cracklib-2.9.6/po/or.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,84 +1,85 @@ # translation of cracklib.default.cracklib.or.po to Oriya # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1506,7 +1506,7 @@ diff -up cracklib-2.9.1/po/or.po.translations cracklib-2.9.1/po/or.po msgstr "" "Project-Id-Version: cracklib.default.cracklib.or\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-12 13:02+0530\n" -"Last-Translator: Manoj Kumar Giri \n" +"Report-Msgid-Bugs-To: \n" @@ -1608,9 +1608,9 @@ diff -up cracklib-2.9.1/po/or.po.translations cracklib-2.9.1/po/or.po msgid "error loading dictionary" -msgstr "" +msgstr "ଅଭିଧାନ ଧାରଣ କରିବାରେ ତ୍ରୁଟି" -diff -up cracklib-2.9.1/po/pa.po.translations cracklib-2.9.1/po/pa.po ---- cracklib-2.9.1/po/pa.po.translations 2013-12-09 09:34:43.047969137 +0100 -+++ cracklib-2.9.1/po/pa.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/pa.po.translations cracklib-2.9.6/po/pa.po +--- cracklib-2.9.6/po/pa.po.translations 2015-10-22 18:24:54.378118779 +0200 ++++ cracklib-2.9.6/po/pa.po 2014-07-09 17:24:45.000000000 +0200 @@ -2,84 +2,85 @@ # translation of cracklib.po to Panjabi # Copyright (C) 2005 Free Software Foundation, Inc. @@ -1624,7 +1624,7 @@ diff -up cracklib-2.9.1/po/pa.po.translations cracklib-2.9.1/po/pa.po msgstr "" "Project-Id-Version: cracklib.pa\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-17 05:52+0530\n" -"Last-Translator: A S Alam \n" +"Report-Msgid-Bugs-To: \n" @@ -1724,9 +1724,9 @@ diff -up cracklib-2.9.1/po/pa.po.translations cracklib-2.9.1/po/pa.po msgid "error loading dictionary" -msgstr "" +msgstr "ਸ਼ਬਦ-ਕੋਸ਼ ਲੋਡ ਕਰਨ ਵੇਲੇ ਗਲਤੀ" -diff -up cracklib-2.9.1/po/pt_BR.po.translations cracklib-2.9.1/po/pt_BR.po ---- cracklib-2.9.1/po/pt_BR.po.translations 2013-12-09 09:34:43.047969137 +0100 -+++ cracklib-2.9.1/po/pt_BR.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/pt_BR.po.translations cracklib-2.9.6/po/pt_BR.po +--- cracklib-2.9.6/po/pt_BR.po.translations 2015-10-22 18:24:54.378118779 +0200 ++++ cracklib-2.9.6/po/pt_BR.po 2014-07-09 17:24:45.000000000 +0200 @@ -2,80 +2,82 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -1737,7 +1737,7 @@ diff -up cracklib-2.9.1/po/pt_BR.po.translations cracklib-2.9.1/po/pt_BR.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-08-18 15:02+0000\n" -"Last-Translator: Novell Language \n" +"Report-Msgid-Bugs-To: \n" @@ -1837,9 +1837,9 @@ diff -up cracklib-2.9.1/po/pt_BR.po.translations cracklib-2.9.1/po/pt_BR.po msgid "error loading dictionary" -msgstr "" +msgstr "erro ao carregar dicionário" -diff -up cracklib-2.9.1/po/ru.po.translations cracklib-2.9.1/po/ru.po ---- cracklib-2.9.1/po/ru.po.translations 2013-12-09 09:34:43.048969160 +0100 -+++ cracklib-2.9.1/po/ru.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/ru.po.translations cracklib-2.9.6/po/ru.po +--- cracklib-2.9.6/po/ru.po.translations 2015-10-22 18:24:54.378118779 +0200 ++++ cracklib-2.9.6/po/ru.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,85 +1,86 @@ # translation of cracklib.pot to Russian # Copyright (C) 2008, 2009 @@ -1853,7 +1853,7 @@ diff -up cracklib-2.9.1/po/ru.po.translations cracklib-2.9.1/po/ru.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-12-03 10:17+1100\n" -"Last-Translator: Yulia \n" +"Report-Msgid-Bugs-To: \n" @@ -1960,9 +1960,9 @@ diff -up cracklib-2.9.1/po/ru.po.translations cracklib-2.9.1/po/ru.po msgid "error loading dictionary" -msgstr "" +msgstr "ошибка при загрузке словаря" -diff -up cracklib-2.9.1/po/ta.po.translations cracklib-2.9.1/po/ta.po ---- cracklib-2.9.1/po/ta.po.translations 2013-12-09 09:34:43.048969160 +0100 -+++ cracklib-2.9.1/po/ta.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/ta.po.translations cracklib-2.9.6/po/ta.po +--- cracklib-2.9.6/po/ta.po.translations 2015-10-22 18:24:54.378118779 +0200 ++++ cracklib-2.9.6/po/ta.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.default.cracklib.po to Tamil # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1975,7 +1975,7 @@ diff -up cracklib-2.9.1/po/ta.po.translations cracklib-2.9.1/po/ta.po msgstr "" "Project-Id-Version: cracklib.default.cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-11 14:21+0530\n" -"Last-Translator: I. Felix \n" +"Report-Msgid-Bugs-To: \n" @@ -2075,9 +2075,9 @@ diff -up cracklib-2.9.1/po/ta.po.translations cracklib-2.9.1/po/ta.po msgid "error loading dictionary" -msgstr "" +msgstr "அகராதியை ஏற்றுவதில் பிழை" -diff -up cracklib-2.9.1/po/te.po.translations cracklib-2.9.1/po/te.po ---- cracklib-2.9.1/po/te.po.translations 2013-12-09 09:34:43.048969160 +0100 -+++ cracklib-2.9.1/po/te.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/te.po.translations cracklib-2.9.6/po/te.po +--- cracklib-2.9.6/po/te.po.translations 2015-10-22 18:24:54.379118803 +0200 ++++ cracklib-2.9.6/po/te.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,84 +1,85 @@ # translation of cracklib.pot to Telugu # Copyright (C) 2009 Free Software Foundation, Inc. @@ -2090,7 +2090,7 @@ diff -up cracklib-2.9.1/po/te.po.translations cracklib-2.9.1/po/te.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-11 15:13+0530\n" -"Last-Translator: Krishna Babu K \n" +"Report-Msgid-Bugs-To: \n" @@ -2191,9 +2191,9 @@ diff -up cracklib-2.9.1/po/te.po.translations cracklib-2.9.1/po/te.po msgid "error loading dictionary" -msgstr "" +msgstr "నిఘంటువును లోడు చేయుటలో దోషం" -diff -up cracklib-2.9.1/po/zh_CN.po.translations cracklib-2.9.1/po/zh_CN.po ---- cracklib-2.9.1/po/zh_CN.po.translations 2011-07-26 11:55:29.000000000 +0200 -+++ cracklib-2.9.1/po/zh_CN.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/zh_CN.po.translations cracklib-2.9.6/po/zh_CN.po +--- cracklib-2.9.6/po/zh_CN.po.translations 2011-07-26 11:55:29.000000000 +0200 ++++ cracklib-2.9.6/po/zh_CN.po 2014-07-09 17:24:45.000000000 +0200 @@ -1,78 +1,84 @@ # translation of cracklib.default.po to Wei Liu # Copyright (C) 2010 Free Software Foundation, Inc. @@ -2297,9 +2297,9 @@ diff -up cracklib-2.9.1/po/zh_CN.po.translations cracklib-2.9.1/po/zh_CN.po +#: ../lib/fascist.c:867 +msgid "error loading dictionary" +msgstr "载入字典出错" -diff -up cracklib-2.9.1/po/zh_TW.po.translations cracklib-2.9.1/po/zh_TW.po ---- cracklib-2.9.1/po/zh_TW.po.translations 2013-12-09 09:34:43.048969160 +0100 -+++ cracklib-2.9.1/po/zh_TW.po 2013-12-02 09:40:11.000000000 +0100 +diff -up cracklib-2.9.6/po/zh_TW.po.translations cracklib-2.9.6/po/zh_TW.po +--- cracklib-2.9.6/po/zh_TW.po.translations 2015-10-22 18:24:54.379118803 +0200 ++++ cracklib-2.9.6/po/zh_TW.po 2014-07-09 17:24:45.000000000 +0200 @@ -2,80 +2,82 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -2310,7 +2310,7 @@ diff -up cracklib-2.9.1/po/zh_TW.po.translations cracklib-2.9.1/po/zh_TW.po msgstr "" "Project-Id-Version: cracklib\n" -"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2013-12-06 07:51-0600\n" +-"POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 12:52+0200\n" -"Last-Translator: Novell Language \n" +"Report-Msgid-Bugs-To: \n" diff --git a/cracklib.spec b/cracklib.spec index f299073..15aec8b 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,13 +4,11 @@ Summary: A password-checking library Name: cracklib -Version: 2.9.1 -Release: 6%{?dist} +Version: 2.9.6 +Release: 1%{?dist} Group: System Environment/Libraries -Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz - -# Retrieved at 20091201191719Z. -Source1: http://iweb.dl.sourceforge.net/project/cracklib/cracklib-words/2008-05-07/cracklib-words-20080507.gz +Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz +Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz # For man pages. Source2: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.19-1.debian.tar.gz @@ -19,45 +17,14 @@ Source40: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.19 # From attachment to https://bugzilla.redhat.com/show_bug.cgi?id=627449 Source3: cracklib.default.zh_CN.po -Source10: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Domains.gz -Source11: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Dosref.gz -Source12: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Ftpsites.gz -Source13: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Jargon.gz -Source14: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/common-passwords.txt.gz -Source15: http://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/etc-hosts.gz -Source16: http://ftp.cerias.purdue.edu/pub/dict/wordlists/movieTV/Movies.gz -Source17: http://ftp.cerias.purdue.edu/pub/dict/wordlists/movieTV/Python.gz -Source18: http://ftp.cerias.purdue.edu/pub/dict/wordlists/movieTV/Trek.gz -Source19: http://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/LCarrol.gz -Source20: http://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/Paradise.Lost.gz -Source21: http://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/cartoon.gz -Source22: http://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/myths-legends.gz -Source23: http://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/sf.gz -Source24: http://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/shakespeare.gz -Source25: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/ASSurnames.gz -Source26: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/Congress.gz -Source27: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/Family-Names.gz -Source28: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/Given-Names.gz -Source29: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/famous.gz -Source30: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/fast-names.gz -Source31: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/female-names.gz -Source32: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/male-names.gz -Source33: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/names.french.gz -Source34: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/names.hp.gz -Source35: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/other-names.gz -Source36: http://ftp.cerias.purdue.edu/pub/dict/wordlists/names/surnames.finnish.gz +# No upstream source for this, just words missing from the current cracklib-words +Source10: missing-words.gz -# No upstream source for this; it came in as a bugzilla attachment. -Source37: pass_file.gz -# https://bugzilla.redhat.com/show_bug.cgi?id=557592 -# https://bugzilla.redhat.com/attachment.cgi?id=386022 -Source38: ry-threshold10.txt Patch1: cracklib-2.9.1-inttypes.patch Patch2: cracklib-2.9.0-python-gzdicts.patch -Patch3: cracklib-2.9.1-packlib-lookup.patch -Patch4: cracklib-2.9.1-packlib-reentrant.patch -Patch6: cracklib-2.9.1-simplistic.patch -Patch7: cracklib-2.9.1-translation-updates.patch +Patch4: cracklib-2.9.6-packlib-reentrant.patch +Patch6: cracklib-2.9.6-simplistic.patch +Patch7: cracklib-2.9.6-translation-updates.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -127,18 +94,12 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch1 -p1 -b .inttypes %patch2 -p1 -b .gzdicts -%patch3 -p1 -b .lookup %patch4 -p1 -b .reentrant %patch6 -p1 -b .simplistic %patch7 -p1 -b .translations mkdir cracklib-dicts -for dict in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ - %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} \ - %{SOURCE25} %{SOURCE26} %{SOURCE27} %{SOURCE28} %{SOURCE29} \ - %{SOURCE30} %{SOURCE31} %{SOURCE32} %{SOURCE33} %{SOURCE34} \ - %{SOURCE35} %{SOURCE36} %{SOURCE37} %{SOURCE38} %{SOURCE1} +for dict in %{SOURCE10} %{SOURCE1} do cp -fv ${dict} cracklib-dicts/ done @@ -258,6 +219,10 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Fri Oct 23 2015 Tomáš Mráz - 2.9.6-1 +- new upstream release +- cleanup of the word lists + * Wed Jun 17 2015 Fedora Release Engineering - 2.9.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/ry-threshold10.txt b/ry-threshold10.txt deleted file mode 100644 index c338e3d..0000000 --- a/ry-threshold10.txt +++ /dev/null @@ -1,44782 +0,0 @@ -^%$#@! -~!@#$% -~!@#$%^&*()_+ -!"£$% -!"£$%^ -!"£$%^& -!"£$%^&*( -!"£$%^&*() -!@#$%^ -!@#$%^& -!@#$%^&* -!@#$%^&*( -!@#$%^&*() -!@#$%^&*()_+ -/ๅ/ึ/ๅ -ๅ/-ภ -ๅ/-ภถ -ๅ/-ภถุ -ๅ/-ภถุึค -ๅ/-ภถุึคต -ภค-ๅุจๅๅๅถ -ๅภ/ถ/ึ -ควย -ถภต-จถภ -จๅจ-คจึจคร -ฟกฟ/ภภต -べえぽp -ๅึจต-ๅ -จๅจุ/ถ -จคจุ/ถ-ๅ -จคจต/ถ/ต -จคุถ/คึจๅ -รักจัง -ทฟพแ้ๅ/ะ้ -モンリチシンヌ -ๅคจถๅตึึ -หนืเกีทๅ- -จคตุคจึจ/ึ -จึๅุถุถึถ -ฑฎธฑฯฆญฎฉธ -พลอยรักเรด้า -ินินไๅคจๅๅุๅจ -โคตรรักเอ็งเลย -ลูกตาลกะลูกเต๋า -รสนอำ่ำหีห่ีิ่ีิ -002516 -002517 -002518 -002519 -0073735963 -00846592 -01011973 -01011974 -01011975 -01011978 -01011982 -01011983 -01011984 -01011985 -01011986 -01012528 -01012529 -01012530 -01012531 -01012533 -01012539 -01021978 -01021979 -01021980 -01021981 -01021982 -01021983 -01021984 -01021985 -01021986 -01021988 -01021993 -01021994 -01021995 -01021996 -01021997 -01022527 -01022529 -01022530 -01022532 -01022536 -01031975 -01031980 -01031981 -01031982 -01031983 -01031984 -01031985 -01031986 -01031987 -01031988 -01031989 -01031992 -01031994 -01031995 -01031996 -01031998 -01032007 -01032008 -01032525 -01032526 -01032533 -01041975 -01041979 -01041980 -01041981 -01041982 -01041983 -01041984 -01041985 -01041986 -01041987 -01041988 -01041989 -01041992 -01041993 -01041995 -01041996 -01041997 -01042006 -01042007 -01042008 -01042525 -01042528 -01042531 -01042533 -01042534 -010426 -010427 -010428 -010463 -010472 -010475 -010476 -010479 -010482 -010483 -010485 -010487 -010489 -010492 -010493 -010495 -010496 -010497 -010498 -01051973 -01051978 -01051980 -01051982 -01051983 -01051984 -01051985 -01051986 -01051987 -01051988 -01051989 -01051992 -01051993 -01051994 -01051996 -01052004 -01052006 -01052007 -01052528 -01052532 -01052533 -010528 -010532 -010569 -010572 -010574 -010576 -010578 -010579 -010582 -010583 -010584 -010586 -010589 -010592 -010593 -010594 -010596 -010597 -010598 -01061979 -01061980 -01061981 -01061982 -01061983 -01061984 -01061985 -01061986 -01061987 -01061988 -01061989 -01061992 -01061993 -01061994 -01061995 -01061997 -01061998 -01062004 -01062005 -01062007 -010624 -01062528 -01062529 -01062532 -01062533 -010629 -010672 -010674 -010675 -010679 -010682 -010685 -010687 -010689 -010692 -010693 -010694 -010695 -010697 -010698 -01071978 -01071980 -01071981 -01071982 -01071983 -01071984 -01071985 -01071986 -01071987 -01071988 -01071989 -01071992 -01071993 -01071994 -01071995 -01071996 -01072006 -01072529 -01072531 -01072533 -010726 -010728 -010782 -010783 -010784 -010786 -010789 -010792 -010793 -010794 -010795 -010796 -010798 -01081978 -01081982 -01081983 -01081984 -01081985 -01081986 -01081987 -01081992 -01081993 -01081994 -01081995 -01081996 -01081997 -01082004 -01082005 -01082007 -010823 -01082529 -01082532 -010827 -010829 -010832 -010834 -010835 -010869 -010873 -010875 -010879 -010892 -010893 -010894 -010895 -010896 -010897 -01091982 -01091983 -01091984 -01091985 -01091986 -01091987 -01092005 -01092006 -01092007 -01092008 -010923 -01092529 -01092532 -010932 -010973 -010975 -010976 -010978 -010982 -010983 -010984 -010985 -010986 -01101975 -01101982 -01101983 -01101984 -01101985 -01101986 -01102526 -01102529 -01102530 -01102531 -01102532 -01102533 -01102534 -01111982 -01111983 -01111984 -01111985 -01111986 -01111987 -01121977 -01121978 -01121979 -01121981 -01121982 -01121983 -01121984 -01121985 -01121986 -01121988 -01121993 -01121994 -01121995 -01122528 -01122529 -0112358 -011273 -011274 -011275 -011276 -011278 -011279 -011283 -011284 -011285 -011286 -011287 -011289 -011293 -011294 -011295 -011296 -011297 -011298 -01131977 -01131985 -011376 -011379 -011382 -011384 -011385 -011387 -011389 -011392 -011394 -011395 -011396 -011398 -01141987 -01141988 -01142006 -011479 -011482 -011483 -011485 -011487 -011489 -011492 -011493 -011495 -011496 -011497 -011498 -01151982 -011578 -011579 -011583 -011584 -011586 -011589 -011592 -011593 -011594 -011596 -011597 -01161984 -01161988 -011673 -011674 -011679 -011682 -011685 -011687 -011689 -011692 -011693 -011694 -011695 -011697 -011698 -01171986 -011782 -011783 -011784 -011786 -011789 -011792 -011794 -011795 -011796 -011798 -01182007 -011873 -011875 -011879 -011892 -011893 -011894 -011895 -011896 -011897 -01211993 -0121do1 -01221985 -01231986 -01231992 -01241989 -01241990 -01241996 -0124578 -01251986 -01251989 -01261991 -01271984 -01271988 -01271990 -01281980 -01281989 -01281990 -01281992 -01282007 -01291986 -01291987 -013075 -013076 -013078 -013079 -013082 -013084 -013085 -013086 -013087 -013089 -013094 -013095 -013096 -01311987 -013175 -013178 -013179 -013182 -013184 -013185 -013186 -013187 -013189 -013192 -013194 -013195 -013196 -0134679 -01435254 -014402785 -014520 -014563 -01470258 -014702580369 -01478520 -01478520369 -01478523 -0147852369 -01478963 -014789630 -0147896325 -01597530 -015987 -01610218 -019283 -019830 -019840 -019860 -019870 -02011978 -02011980 -02011981 -02011982 -02011983 -02011984 -02011985 -02011986 -02011987 -02011988 -02011989 -02011993 -02011994 -02011995 -02011996 -02012526 -02012530 -02012531 -02021971 -02021979 -02021980 -02021981 -02021982 -02021983 -02021984 -02021985 -02021986 -02021987 -02021988 -02021989 -02021993 -02021994 -02021995 -02021996 -020319 -02031977 -02031981 -02031982 -02031983 -02031984 -02031985 -02031986 -02031987 -02031988 -02031989 -02031990 -02031991 -02031992 -02031993 -02031994 -02031995 -02031996 -02031997 -020374 -020375 -020376 -020378 -020379 -020381 -020384 -020385 -020387 -020389 -020394 -020395 -020396 -020397 -020398 -02040608 -020416 -020417 -02041981 -02041982 -02041983 -02041984 -02041985 -02041986 -02041987 -02041988 -02041989 -02041990 -02041991 -02041992 -02041993 -02041994 -02041995 -02041996 -02041997 -02042527 -02042530 -02042532 -02042533 -020471 -020476 -020479 -020481 -020483 -020485 -020487 -020489 -020493 -020495 -020496 -020497 -020498 -02051980 -02051982 -02051983 -02051984 -02051985 -02051986 -02051987 -02051988 -02051989 -02051990 -02051991 -02051992 -02051993 -02051994 -02051995 -02051996 -02052531 -02052534 -020534 -020568 -020573 -020574 -020576 -020578 -020579 -020581 -020583 -020584 -020586 -020589 -020593 -020594 -020596 -020597 -020598 -020613 -020618 -020619 -02061978 -02061980 -02061981 -02061982 -02061983 -02061984 -02061985 -02061986 -02061987 -02061988 -02061989 -02061990 -02061991 -02061992 -02061993 -02061994 -02061995 -02061996 -02062528 -02062530 -02062531 -020631 -020674 -020675 -020679 -020681 -020685 -020687 -020689 -020693 -020694 -020695 -020697 -020698 -02071977 -02071980 -02071981 -02071982 -02071983 -02071984 -02071985 -02071986 -02071987 -02071988 -02071989 -02071990 -02071991 -02071992 -02071993 -02071994 -02071995 -02072531 -02072532 -020731 -020764 -020768 -020781 -020783 -020784 -020786 -020789 -020793 -020794 -020795 -020796 -020798 -02081976 -02081977 -02081979 -02081980 -02081982 -02081983 -02081984 -02081985 -02081986 -02081987 -02081988 -02081989 -02081990 -02081991 -02081992 -02081993 -02081994 -02081995 -02081996 -02081997 -02082532 -02082534 -02082535 -020831 -020873 -020875 -020879 -020893 -020894 -020895 -020896 -020897 -02091978 -02091980 -02091981 -02091983 -02091984 -02091985 -02091986 -02091987 -02091988 -02091989 -02091993 -02091994 -02091995 -02091996 -02092532 -02092533 -020965 -020974 -020976 -020978 -020981 -020983 -020984 -020985 -020986 -02101979 -02101980 -02101981 -02101982 -02101983 -02101984 -02101985 -02101986 -02101988 -02101993 -02101994 -02101995 -02102523 -02102529 -02102531 -02102532 -02102535 -021067 -021068 -021074 -021075 -021076 -021078 -021079 -021083 -021084 -021085 -021086 -021087 -021089 -021093 -021094 -021095 -021096 -021097 -02111979 -02111980 -02111981 -02111982 -02111983 -02111984 -02111985 -02111986 -02111987 -02111988 -02111989 -02111993 -02111994 -02112524 -02112528 -02112529 -02112532 -021134 -021169 -021173 -021174 -021175 -021176 -021178 -021179 -021183 -021184 -021185 -021186 -021187 -021189 -021193 -021194 -021195 -021196 -021197 -021198 -02121979 -02121980 -02121981 -02121982 -02121983 -02121984 -02121985 -02121986 -02121988 -02121993 -02121994 -02121995 -02121996 -02122529 -02122531 -02122532 -02122534 -021268 -021274 -021275 -021276 -021278 -021279 -021283 -021284 -021285 -021286 -021287 -021289 -021293 -021294 -021295 -021296 -021297 -021298 -021305 -021306 -021307 -021308 -021309 -021318 -02131985 -02131987 -02131989 -021370 -021372 -021374 -021376 -021378 -021379 -021380 -021381 -021382 -021383 -021384 -021385 -021387 -021388 -021389 -021390 -021392 -021393 -021394 -021395 -021396 -021398 -021399 -021405 -021406 -021407 -021408 -021409 -021416 -021417 -021419 -02141984 -02141986 -02141988 -02141989 -02141990 -02142003 -02142005 -02142006 -02142007 -02142008 -021428 -021466 -021468 -021473 -021474 -021475 -021476 -021477 -021479 -021480 -021481 -021482 -021483 -021484 -021485 -021487 -021488 -021489 -021490 -021492 -021493 -021494 -021495 -021496 -021497 -021498 -021499 -021503 -021504 -021506 -021507 -021508 -021509 -021519 -02151986 -0215487 -021573 -021574 -021575 -021576 -021577 -021578 -021579 -021580 -021581 -021583 -021584 -021585 -021586 -021588 -021589 -021590 -021592 -021593 -021594 -021595 -021596 -021597 -021598 -021599 -021603 -021604 -021605 -021607 -021608 -021609 -02161987 -02161989 -02162007 -021674 -021675 -021676 -021677 -021679 -021680 -021681 -021682 -021685 -021686 -021687 -021688 -021689 -021690 -021692 -021693 -021694 -021695 -021696 -021697 -021698 -021703 -021704 -021705 -021706 -021708 -021709 -02171987 -02171993 -021723 -021724 -021775 -021776 -021778 -021779 -021780 -021781 -021782 -021783 -021784 -021786 -021788 -021789 -021790 -021792 -021794 -021795 -021796 -021797 -021798 -021799 -021803 -021804 -021805 -021806 -021807 -02181990 -02181991 -02181993 -02182006 -021871 -021873 -021875 -021877 -021878 -021879 -021883 -021884 -021885 -021886 -021887 -021889 -021892 -021893 -021894 -021895 -021896 -021897 -021898 -021899 -02191984 -02201986 -02201987 -02211987 -022174 -022178 -022179 -022183 -022184 -022185 -022186 -022187 -022189 -022193 -022194 -022195 -022196 -022197 -02231987 -02231988 -02231990 -02231991 -022376 -022378 -022379 -022381 -022384 -022385 -022387 -022389 -022394 -022395 -022396 -022397 -022398 -02241988 -022457183 -022475 -022476 -022479 -022481 -022483 -022485 -022487 -022489 -022493 -022495 -022496 -022497 -022498 -022519 -02251986 -02251987 -022573 -022578 -022579 -022581 -022583 -022584 -022586 -022593 -022594 -022596 -022597 -022679 -022681 -022685 -022687 -022689 -022693 -022694 -022695 -02271989 -02271992 -022781 -022783 -022784 -022786 -022789 -022793 -022794 -022795 -022796 -02281986 -02281989 -02281990 -02281994 -022879 -022893 -022894 -022895 -022896 -022897 -022984 -023536333 -0246813579 -024865 -025613 -02587410 -025879 -025896 -026981010 -03011983 -03011984 -03011985 -03011986 -03011987 -03011988 -03011989 -03011992 -03011994 -03011995 -03011996 -03012008 -03012526 -03012530 -03012531 -030169 -030176 -030178 -030179 -030182 -030184 -030185 -030186 -030187 -030189 -030192 -030194 -030195 -030196 -030197 -030198 -03021979 -03021980 -03021981 -03021982 -03021983 -03021984 -03021985 -03021986 -03021987 -03021988 -03021989 -03021990 -03021991 -03021992 -03021993 -03021994 -03021995 -03021996 -03022529 -030275 -030276 -030278 -030279 -030281 -030284 -030285 -030286 -030287 -030289 -030294 -030295 -030296 -030297 -030298 -03031975 -03031976 -03031977 -03031978 -03031979 -03031980 -03031981 -03031982 -03031983 -03031984 -03031985 -03031986 -03031987 -03031988 -03031989 -03031992 -03031994 -03031995 -03031996 -03031997 -03031998 -03032534 -0303456 -030412 -03041977 -03041978 -03041980 -03041982 -03041983 -03041984 -03041985 -03041986 -03041987 -03041988 -03041989 -03041990 -03041991 -03041992 -03041993 -03041994 -03041995 -03041996 -03042007 -030421 -03042525 -03042527 -03042529 -030427 -030428 -030429 -030471 -030475 -030479 -030481 -030482 -030485 -030487 -030489 -030492 -030495 -030496 -030497 -030498 -03051976 -03051978 -03051979 -03051981 -03051982 -03051983 -03051984 -03051985 -03051986 -03051987 -03051988 -03051989 -03051990 -03051991 -03051992 -03051993 -03051994 -03051995 -03052006 -03052007 -03052008 -030521 -03052528 -03052529 -030526 -030527 -030529 -030574 -030576 -030578 -030579 -030581 -030582 -030584 -030586 -030589 -030592 -030594 -030596 -030597 -030598 -03061981 -03061982 -03061984 -03061985 -03061986 -03061987 -03061988 -03061989 -03061990 -03061991 -03061992 -03061993 -03061994 -03061995 -03061996 -03062530 -03062532 -03062534 -030712 -03071976 -03071978 -03071980 -03071981 -03071982 -03071983 -03071984 -03071985 -03071986 -03071987 -03071988 -03071989 -03071990 -03071991 -03071992 -03071993 -03071994 -03071995 -03071996 -03072004 -030724 -03072524 -030729 -030769 -030781 -030782 -030784 -030786 -030789 -030792 -030794 -030795 -030796 -030798 -03081977 -03081979 -03081980 -03081981 -03081982 -03081983 -03081984 -03081985 -03081986 -03081987 -03081988 -03081989 -03081990 -03081991 -03081992 -03081993 -03081994 -03081995 -03081996 -03082005 -03082007 -030824 -030825 -03082529 -03082530 -03082533 -030829 -030875 -030879 -030892 -030894 -030895 -030896 -030897 -030912 -030915 -03091979 -03091981 -03091982 -03091983 -03091984 -03091985 -03091986 -03091987 -03091988 -03091989 -03091992 -03091994 -03091996 -03092005 -03092006 -03092007 -03092529 -030927 -030968 -030972 -030974 -030975 -030976 -030978 -030981 -030982 -030984 -030985 -030986 -03101977 -03101978 -03101979 -03101981 -03101982 -03101983 -03101984 -03101985 -03101986 -03101987 -03101988 -03101989 -03101992 -03101994 -03101995 -03102005 -03102006 -03102007 -031025 -03102530 -03102531 -031026 -031027 -031074 -031075 -031076 -031078 -031079 -031082 -031084 -031085 -031086 -031087 -031089 -031092 -031094 -031095 -031096 -031097 -03111978 -03111979 -03111980 -03111981 -03111982 -03111983 -03111984 -03111985 -03111986 -03111987 -03111988 -03111989 -03111992 -03111994 -03111995 -03111996 -03111997 -03112007 -031125 -03112529 -031126 -031128 -031129 -031168 -031169 -031174 -031175 -031176 -031178 -031179 -031182 -031184 -031185 -031186 -031187 -031189 -031192 -031194 -031195 -031196 -031197 -031198 -031204 -031205 -031207 -031208 -031216 -031218 -03121981 -03121982 -03121984 -03121985 -03121986 -03121987 -03121988 -03121989 -03121990 -03121991 -03121992 -03121993 -03121994 -03121995 -03122004 -03122005 -03122531 -031226 -031228 -031263 -031267 -031269 -031269b -031270 -031273 -031274 -031275 -031276 -031277 -031278 -031279 -031280 -031281 -031282 -031283 -031284 -031285 -031286 -031287 -031288 -031289 -031290 -031292 -031293 -031294 -031295 -031296 -031297 -031298 -031299 -03131989 -03132005 -031372 -031376 -031378 -031379 -031382 -031384 -031385 -031387 -031389 -031392 -031394 -031395 -031396 -031398 -031402 -031405 -031406 -031407 -031408 -031409 -031416 -031428 -031472 -031473 -031476 -031477 -031479 -031480 -031481 -031482 -031483 -031484 -031485 -031487 -031488 -031489 -031490 -031492 -031493 -031494 -031495 -031496 -031497 -031498 -031502 -031504 -031506 -031507 -031508 -031509 -03151987 -031529 -031571 -031572 -031575 -031576 -031577 -031578 -031579 -031580 -031581 -031583 -031584 -031585 -031586 -031588 -031589 -031590 -031592 -031593 -031594 -031595 -031596 -031597 -031598 -031599 -031602 -031604 -031605 -031607 -031608 -031609 -03161985 -03161990 -031624 -031671 -031674 -031675 -031676 -031677 -031679 -031680 -031681 -031682 -031685 -031686 -031687 -031688 -031689 -031690 -031692 -031693 -031694 -031695 -031696 -031697 -031699 -031702 -031704 -031705 -031706 -031708 -031709 -03171987 -031728 -031776 -031778 -031779 -031780 -031781 -031782 -031783 -031784 -031786 -031788 -031789 -031790 -031792 -031794 -031795 -031796 -031798 -031802 -031804 -031805 -031806 -031807 -03181989 -031824 -031827 -031877 -031878 -031879 -031882 -031884 -031885 -031886 -031887 -031889 -031892 -031893 -031894 -031895 -031896 -031897 -031898 -031899 -03191987 -03201990 -03201991 -032078 -032079 -032081 -032084 -032085 -032086 -032087 -032089 -032094 -032095 -032096 -032097 -032104 -032105 -032106 -032107 -032108 -032109 -03211988 -0321456 -032174 -032175 -032176 -032178 -032179 -032180 -032181 -032182 -032183 -032184 -032185 -032186 -032187 -032188 -032189 -032190 -032192 -032193 -032194 -032195 -032196 -032197 -032198 -03221987 -03221990 -03221992 -032275 -032278 -032279 -032281 -032284 -032285 -032286 -032287 -032289 -032294 -032295 -032296 -032297 -03231981 -03231985 -03231986 -03231987 -032371 -032375 -032376 -032378 -032379 -032381 -032384 -032385 -032387 -032389 -032394 -032395 -032396 -032398 -032401 -032406 -032407 -032409 -03241986 -03241987 -03241990 -03241994 -032469 -032472 -032475 -032476 -032477 -032479 -032480 -032481 -032482 -032483 -032484 -032485 -032487 -032488 -032489 -032490 -032492 -032493 -032494 -032495 -032496 -032497 -032498 -032499 -032501 -032504 -032506 -032507 -032508 -032518 -03251989 -032526 -032527 -032529 -032569 -032572 -032575 -032576 -032577 -032578 -032579 -032580 -032581 -032582 -032583 -032584 -032585 -032586 -032588 -032590 -032592 -032593 -032594 -032595 -032597 -032598 -032601 -032604 -032605 -032607 -032608 -032609 -032610 -03261986 -032673 -032676 -032677 -032679 -032680 -032681 -032682 -032685 -032686 -032687 -032688 -032689 -032690 -032692 -032693 -032694 -032695 -032696 -032697 -032698 -032699 -032704 -032705 -032706 -032708 -03271993 -032774 -032776 -032778 -032779 -032780 -032781 -032782 -032783 -032784 -032786 -032787 -032788 -032789 -032790 -032792 -032793 -032794 -032795 -032796 -032797 -032798 -032799 -032801 -032804 -032806 -032807 -032809 -03281988 -03281991 -03282007 -032875 -032877 -032878 -032879 -032881 -032884 -032885 -032886 -032887 -032889 -032892 -032893 -032894 -032895 -032896 -032897 -032898 -032899 -032901 -032904 -032905 -032906 -032907 -032908 -032975 -032976 -032978 -032979 -032980 -032981 -032982 -032983 -032984 -032985 -032986 -032987 -032988 -032989 -032994 -032995 -032996 -032997 -03301981 -03301986 -033178 -033179 -033182 -033184 -033185 -033186 -033187 -033189 -033192 -033194 -033195 -033196 -033197 -033198 -0385985 -04011980 -04011983 -04011985 -04011986 -04011987 -04011988 -04011989 -04011992 -04011993 -04011995 -04011996 -04012006 -04012007 -04012008 -04012530 -04012531 -04012533 -040172 -040175 -040176 -040178 -040179 -040182 -040183 -040185 -040186 -040187 -040189 -040192 -040193 -040195 -040196 -040197 -04021979 -04021980 -04021983 -04021984 -04021985 -04021986 -04021987 -04021988 -04021989 -04021990 -04021991 -04021992 -04021993 -04021994 -04021995 -04021996 -04022528 -040273 -040275 -040276 -040278 -040279 -040281 -040283 -040285 -040286 -040287 -040289 -040293 -040295 -040296 -040297 -040298 -04031965 -04031978 -04031979 -04031982 -04031983 -04031984 -04031985 -04031986 -04031987 -04031988 -04031989 -04031990 -04031991 -04031992 -04031993 -04031994 -04031995 -040375 -040376 -040378 -040379 -040381 -040382 -040385 -040387 -040389 -040392 -040395 -040396 -040397 -040398 -04041978 -04041979 -04041980 -04041981 -04041982 -04041983 -04041984 -04041985 -04041986 -04041987 -04041988 -04041989 -04041992 -04041993 -04041995 -04041996 -04041997 -04042526 -04050607 -040512 -04051978 -04051980 -04051981 -04051982 -04051983 -04051984 -04051985 -04051986 -04051987 -04051988 -04051989 -04051990 -04051991 -04051992 -04051993 -04051994 -04051995 -04051996 -04051997 -04052003 -04052007 -040523 -04052532 -040528 -040529 -040532 -040568 -040572 -040573 -040576 -040578 -040579 -040581 -040582 -040583 -040586 -040589 -040592 -040593 -040596 -040597 -040598 -04061980 -04061981 -04061982 -04061983 -04061984 -04061985 -04061986 -04061987 -04061988 -04061989 -04061990 -04061991 -04061992 -04061993 -04061994 -04061995 -04061996 -04061997 -04061998 -040621 -040627 -040628 -040675 -040679 -040681 -040682 -040685 -040687 -040689 -040692 -040693 -040695 -040697 -040698 -04071981 -04071982 -04071983 -04071984 -04071985 -04071986 -04071987 -04071988 -04071989 -04071990 -04071991 -04071992 -04071993 -04071994 -04071995 -04071996 -04071997 -04072006 -040725 -04072529 -04072531 -04072532 -04072533 -04072535 -040728 -040729 -040781 -040782 -040783 -040786 -040789 -040792 -040793 -040795 -040796 -040798 -040812 -04081979 -04081981 -04081982 -04081983 -04081984 -04081985 -04081986 -04081987 -04081988 -04081989 -04081990 -04081991 -04081992 -04081993 -04081994 -04081995 -04081996 -04082006 -04082007 -040821 -040823 -040825 -04082525 -04082527 -04082531 -040826 -040827 -040829 -040832 -040871 -040875 -040879 -040892 -040893 -040895 -040896 -040897 -04091981 -04091982 -04091983 -04091984 -04091985 -04091986 -04091987 -04091988 -04091989 -04091992 -04091993 -04091995 -04091996 -04092007 -040921 -04092527 -04092528 -04092531 -04092532 -040927 -040928 -040931 -040932 -040972 -040975 -040976 -040978 -040981 -040982 -040983 -040985 -040986 -04101979 -04101980 -04101981 -04101982 -04101983 -04101984 -04101985 -04101986 -04101987 -04101988 -04101989 -04101992 -04101993 -04101995 -04101996 -04102005 -04102006 -041025 -04102529 -04102532 -04102533 -04102534 -041026 -041027 -041028 -041032 -041035 -041069 -041072 -041073 -041075 -041076 -041078 -041079 -041082 -041083 -041085 -041086 -041087 -041089 -041092 -041093 -041095 -041096 -041097 -04111981 -04111982 -04111983 -04111984 -04111985 -04111986 -04111987 -04111989 -04111992 -04111993 -04111995 -04112005 -04112006 -04112007 -041125 -04112526 -04112527 -04112528 -04112529 -04112531 -04112533 -041128 -041129 -041173 -041175 -041176 -041178 -041179 -041182 -041183 -041185 -041186 -041187 -041189 -041192 -041193 -041195 -041196 -041197 -041198 -041203 -041205 -041207 -041208 -041219 -04121980 -04121981 -04121983 -04121984 -04121985 -04121986 -04121987 -04121988 -04121989 -04121990 -04121991 -04121992 -04121993 -04121994 -04121995 -04122006 -04122007 -04122008 -041223 -04122526 -04122529 -041226 -041227 -041229 -041230 -041232 -041269 -041272 -041273 -041274 -041275 -041276 -041277 -041278 -041279 -041280 -041281 -041282 -041283 -041284 -041285 -041286 -041287 -041288 -041289 -041290 -041292 -041293 -041294 -041295 -041296 -041297 -041298 -041299 -041302 -041305 -041306 -041307 -041308 -041309 -041376 -041378 -041379 -041380 -041381 -041382 -041383 -041384 -041385 -041387 -041388 -041389 -041390 -041392 -041393 -041394 -041395 -041396 -041398 -04141993 -041473 -041479 -041482 -041483 -041485 -041487 -041489 -041492 -041493 -041495 -041496 -041497 -041498 -041502 -041503 -041506 -041507 -041508 -041509 -04151987 -04151988 -04151993 -041573 -041576 -041577 -041578 -041579 -041580 -041581 -041583 -041584 -041585 -041586 -041588 -041589 -041590 -041592 -041593 -041594 -041595 -041596 -041597 -041599 -041602 -041603 -041605 -041607 -041608 -041609 -041617 -04161988 -04161989 -041667 -041672 -041676 -041677 -041679 -041680 -041681 -041682 -041685 -041686 -041687 -041688 -041689 -041690 -041692 -041693 -041694 -041695 -041696 -041697 -041698 -041702 -041703 -041705 -041706 -041708 -041709 -04171989 -04171990 -041778 -041779 -041780 -041781 -041782 -041783 -041784 -041786 -041788 -041789 -041790 -041792 -041794 -041795 -041796 -041797 -041799 -041802 -041803 -041805 -041806 -041807 -041822 -041826 -041875 -041877 -041878 -041879 -041882 -041883 -041885 -041886 -041887 -041889 -041892 -041893 -041894 -041895 -041896 -041897 -041898 -04201983 -04201985 -04201988 -042069 -042076 -042078 -042079 -042081 -042083 -042085 -042086 -042087 -042089 -042093 -042095 -042096 -042097 -042103 -042105 -042106 -042107 -042108 -042109 -04211987 -04211990 -04211993 -042174 -042178 -042179 -042180 -042181 -042182 -042183 -042184 -042185 -042186 -042187 -042188 -042189 -042190 -042192 -042193 -042194 -042195 -042196 -042197 -042198 -04221986 -04221988 -04221989 -04221990 -042275 -042278 -042279 -042281 -042283 -042285 -042286 -042287 -042289 -042293 -042295 -042296 -042297 -042298 -042301 -042305 -042306 -042307 -042308 -042309 -04231985 -04231987 -042375 -042376 -042377 -042378 -042379 -042380 -042381 -042382 -042383 -042384 -042385 -042387 -042388 -042389 -042390 -042392 -042393 -042394 -042395 -042396 -042397 -042398 -042399 -04241982 -04241986 -04241990 -04241992 -042469 -042475 -042476 -042479 -042481 -042483 -042485 -042487 -042489 -042493 -042495 -042496 -042497 -042498 -042501 -042503 -042506 -042507 -042508 -042519 -042521 -042523 -042526 -042527 -042528 -042529 -042530 -042575 -042577 -042578 -042579 -042580 -042581 -042582 -042583 -042584 -042585 -042586 -042588 -042590 -042592 -042593 -042594 -042595 -042596 -042597 -042598 -042601 -042603 -042605 -042607 -042608 -042675 -042677 -042679 -042680 -042681 -042682 -042685 -042686 -042687 -042688 -042689 -042690 -042692 -042693 -042694 -042695 -042696 -042697 -042698 -042699 -042701 -042703 -042705 -042706 -042708 -042709 -04271988 -042773 -042775 -042778 -042779 -042780 -042781 -042782 -042783 -042784 -042786 -042787 -042788 -042789 -042790 -042792 -042793 -042794 -042795 -042796 -042797 -042798 -042799 -042801 -042803 -042806 -042807 -042809 -04281990 -04281991 -042872 -042877 -042878 -042879 -042881 -042883 -042885 -042886 -042887 -042889 -042892 -042893 -042894 -042895 -042896 -042897 -042898 -042899 -042901 -042905 -042906 -042907 -042908 -04291983 -04291987 -042973 -042975 -042977 -042978 -042979 -042980 -042981 -042982 -042983 -042984 -042985 -042986 -042987 -042988 -042989 -042993 -042995 -042996 -042997 -042998 -04301986 -043075 -043076 -043078 -043079 -043081 -043082 -043085 -043086 -043087 -043089 -043095 -043096 -043097 -05011980 -05011981 -05011982 -05011983 -05011984 -05011985 -05011986 -05011987 -05011988 -05011989 -05011992 -05011993 -05011994 -05012006 -05012008 -05012009 -050124 -05012528 -05012533 -050128 -050174 -050178 -050179 -050182 -050183 -050184 -050186 -050187 -050189 -050192 -050193 -050194 -050196 -050197 -050198 -05021979 -05021982 -05021983 -05021984 -05021985 -05021986 -05021987 -05021988 -05021989 -05021990 -05021991 -05021992 -05021993 -05021994 -05021996 -05021997 -050273 -050274 -050276 -050278 -050279 -050281 -050283 -050284 -050286 -050287 -050289 -050293 -050294 -050296 -050297 -050298 -05031980 -05031984 -05031985 -05031986 -05031987 -05031988 -05031989 -05031990 -05031991 -05031992 -05031993 -05031994 -05031995 -05031996 -05031997 -05032007 -05032008 -050329 -050376 -050378 -050379 -050381 -050382 -050384 -050387 -050389 -050392 -050394 -050396 -050397 -050398 -05041979 -05041980 -05041981 -05041983 -05041984 -05041985 -05041986 -05041987 -05041988 -05041989 -05041990 -05041991 -05041992 -05041993 -05041994 -05041995 -05042533 -05051974 -05051976 -05051977 -05051978 -05051980 -05051981 -05051982 -05051983 -05051984 -05051985 -05051986 -05051987 -05051988 -05051989 -05051992 -05051993 -05051994 -05051996 -05060708 -050612 -050618 -05061979 -05061981 -05061982 -05061983 -05061984 -05061985 -05061986 -05061987 -05061988 -05061989 -05061990 -05061991 -05061992 -05061993 -05061994 -05061995 -05061996 -05061997 -050628 -050629 -050674 -050679 -050681 -050682 -050687 -050689 -050692 -050693 -050694 -050697 -050698 -050712 -05071979 -05071982 -05071983 -05071984 -05071985 -05071986 -05071987 -05071988 -05071989 -05071990 -05071991 -05071992 -05071993 -05071994 -05071995 -05071996 -050723 -05072533 -050729 -050781 -050782 -050783 -050784 -050786 -050789 -050792 -050793 -050794 -050796 -050798 -050814 -050816 -05081981 -05081983 -05081984 -05081985 -05081986 -05081987 -05081988 -05081989 -05081990 -05081991 -05081992 -05081993 -05081994 -05081995 -05081996 -05082006 -05082007 -050821 -05082529 -050831 -050879 -050892 -050893 -050894 -050896 -050897 -050913 -050918 -05091981 -05091982 -05091983 -05091984 -05091985 -05091986 -05091987 -05091988 -05091989 -05091992 -05091993 -05091994 -05092527 -05092528 -05092532 -05092533 -050927 -050928 -050932 -050972 -050974 -050976 -050978 -050981 -050982 -050983 -050984 -050986 -05101976 -05101978 -05101980 -05101981 -05101982 -05101983 -05101984 -05101985 -05101986 -05101987 -05101988 -05101989 -05101992 -05101993 -05101994 -05101996 -05102003 -05102006 -05102007 -05102527 -05102528 -05102529 -05102531 -05102532 -05111984 -05111985 -05111986 -05111987 -05111988 -05111989 -05111992 -05111993 -05112007 -05112529 -05112535 -05121979 -05121980 -05121981 -05121982 -05121983 -05121984 -05121985 -05121986 -05121987 -05121988 -05121989 -05121990 -05121991 -05121992 -05121993 -05121994 -05121997 -05122004 -05122007 -05122528 -05122529 -05122531 -05122532 -05141990 -05142005 -05151989 -05152004 -05161989 -05171991 -05171995 -05171996 -05181983 -05181987 -05181989 -05181991 -05191988 -05201984 -05201986 -05201987 -05201988 -052076 -052078 -052079 -052081 -052083 -052084 -052086 -052087 -052089 -052093 -052094 -052096 -052103 -052104 -052106 -052107 -052108 -052109 -05211987 -052172 -052174 -052176 -052178 -052179 -052180 -052181 -052182 -052183 -052184 -052185 -052186 -052187 -052188 -052189 -052190 -052192 -052193 -052194 -052195 -052196 -052197 -052198 -052199 -052273 -052274 -052278 -052279 -052281 -052283 -052284 -052286 -052287 -052289 -052293 -052294 -052296 -052297 -052298 -052301 -052306 -052307 -052308 -052309 -05231981 -052377 -052378 -052379 -052380 -052381 -052382 -052383 -052384 -052385 -052387 -052388 -052389 -052390 -052392 -052393 -052394 -052395 -052396 -052397 -052398 -052399 -052401 -052406 -052407 -052409 -05241988 -05241989 -05241990 -052474 -052476 -052477 -052479 -052480 -052481 -052482 -052483 -052484 -052485 -052487 -052488 -052489 -052490 -052492 -052493 -052494 -052495 -052496 -052497 -052498 -05251982 -05251994 -052576 -052578 -052579 -052581 -052583 -052584 -052586 -052593 -052594 -052596 -052597 -052601 -052603 -052604 -052607 -052608 -052609 -05261989 -052674 -052675 -052677 -052679 -052680 -052681 -052682 -052685 -052686 -052687 -052688 -052689 -052690 -052692 -052693 -052694 -052695 -052696 -052699 -052701 -052703 -052704 -052706 -052708 -052709 -05271988 -05271989 -05271990 -05272006 -052776 -052779 -052780 -052781 -052782 -052783 -052784 -052786 -052787 -052788 -052789 -052790 -052792 -052793 -052794 -052795 -052796 -052797 -052798 -052799 -052801 -052803 -052804 -052806 -052807 -052809 -052875 -052877 -052878 -052879 -052881 -052883 -052884 -052886 -052887 -052889 -052892 -052893 -052894 -052895 -052896 -052898 -052899 -052901 -052904 -052906 -052907 -052908 -05291987 -05291991 -052977 -052978 -052979 -052980 -052981 -052982 -052983 -052984 -052985 -052986 -052987 -052988 -052989 -052993 -052994 -052996 -052997 -05301983 -05301988 -053076 -053078 -053079 -053081 -053082 -053084 -053086 -053087 -053089 -053094 -053096 -053097 -053102 -053104 -053106 -053107 -053108 -05311989 -053174 -053176 -053178 -053179 -053180 -053181 -053182 -053183 -053184 -053185 -053186 -053187 -053188 -053189 -053190 -053192 -053193 -053194 -053195 -053196 -053197 -06011982 -06011983 -06011985 -06011986 -06011987 -06011988 -06011989 -06011992 -06011993 -06011994 -06011995 -06012005 -06012007 -060175 -060178 -060179 -060182 -060183 -060184 -060185 -060187 -060189 -060192 -060193 -060194 -060195 -060197 -060198 -06021981 -06021982 -06021983 -06021984 -06021985 -06021986 -06021987 -06021988 -06021989 -06021990 -06021991 -06021992 -06021993 -06021994 -06021995 -06021996 -06022530 -060274 -060275 -060278 -060279 -060281 -060283 -060284 -060285 -060287 -060289 -060293 -060294 -060295 -060297 -060298 -06031980 -06031981 -06031983 -06031984 -06031985 -06031986 -06031987 -06031988 -06031989 -06031990 -06031991 -06031992 -06031993 -06031994 -06031995 -06031997 -06032007 -06032530 -06032535 -060328 -060329 -060375 -060378 -060379 -060381 -060382 -060384 -060385 -060387 -060389 -060392 -060394 -060395 -060397 -060398 -06041981 -06041982 -06041984 -06041985 -06041986 -06041987 -06041988 -06041989 -06041990 -06041991 -06041992 -06041993 -06041994 -06041995 -06041996 -06042528 -060429 -060431 -060473 -060475 -060479 -060481 -060482 -060483 -060485 -060487 -060489 -060492 -060493 -060495 -060497 -060498 -06051979 -06051980 -06051982 -06051983 -06051984 -06051985 -06051986 -06051987 -06051988 -06051989 -06051990 -06051991 -06051992 -06051993 -06051994 -06051995 -06051996 -06051997 -06052004 -06052007 -060529 -060571 -060578 -060579 -060581 -060582 -060583 -060584 -060589 -060592 -060593 -060594 -060597 -060598 -06061978 -06061980 -06061981 -06061982 -06061983 -06061984 -06061985 -06061986 -06061987 -06061988 -06061989 -06061992 -06061993 -06061994 -06061995 -06062534 -060712 -06071981 -06071982 -06071983 -06071984 -06071985 -06071986 -06071987 -06071988 -06071989 -06071990 -06071991 -06071992 -06071993 -06071994 -06071995 -06071996 -06072005 -060724 -060725 -060728 -060781 -060782 -060783 -060784 -060789 -060792 -060793 -060794 -060795 -060798 -060813 -06081976 -06081977 -06081979 -06081980 -06081982 -06081983 -06081984 -06081985 -06081986 -06081987 -06081988 -06081989 -06081990 -06081991 -06081992 -06081993 -06081994 -06081995 -06081996 -06081997 -06082005 -060821 -06082525 -06082526 -06082531 -060832 -060875 -060879 -060892 -060893 -060894 -060895 -060897 -06091979 -06091980 -06091981 -06091982 -06091983 -06091984 -06091985 -06091986 -06091987 -06091988 -06091989 -06091992 -06091993 -06091994 -06091995 -06091997 -06092004 -06092008 -060923 -060925 -06092526 -06092527 -06092532 -060927 -060928 -060973 -060975 -060978 -060981 -060982 -060983 -060984 -060985 -06101979 -06101981 -06101982 -06101983 -06101984 -06101985 -06101986 -06101987 -06101988 -06101989 -06101992 -06101993 -06101994 -06101995 -06102004 -06102007 -06102525 -06102526 -06102528 -06111980 -06111981 -06111982 -06111983 -06111984 -06111985 -06111986 -06111987 -06111988 -06111989 -06111992 -06111993 -06111994 -06111995 -06112005 -061124 -061125 -06112527 -06112528 -06112529 -06112532 -06112533 -061129 -061172 -061173 -061174 -061175 -061178 -061179 -061182 -061183 -061184 -061185 -061187 -061189 -061192 -061193 -061194 -061195 -061197 -061198 -061203 -061204 -061205 -061207 -061208 -061218 -061219 -06121977 -06121980 -06121981 -06121982 -06121983 -06121984 -06121985 -06121986 -06121987 -06121988 -06121989 -06121990 -06121991 -06121992 -06121993 -06121994 -06121995 -06121996 -061224 -06122532 -061228 -061229 -061230 -061232 -061233 -061270 -061271 -061274 -061275 -061276 -061277 -061278 -061279 -061280 -061281 -061282 -061283 -061284 -061285 -061286 -061287 -061288 -061289 -061290 -061292 -061293 -061294 -061295 -061296 -061297 -061298 -061299 -061302 -061305 -061307 -061308 -061309 -06131988 -06131990 -061374 -061376 -061377 -061378 -061379 -061380 -061381 -061382 -061383 -061384 -061385 -061387 -061388 -061389 -061390 -061392 -061393 -061394 -061395 -061396 -061398 -061399 -061402 -061405 -061407 -061408 -061409 -06141994 -061476 -061477 -061479 -061480 -061481 -061482 -061483 -061484 -061485 -061487 -061488 -061489 -061490 -061492 -061493 -061494 -061495 -061496 -061497 -061498 -061502 -061503 -061504 -061507 -061508 -061509 -06151984 -061574 -061575 -061576 -061577 -061578 -061579 -061580 -061581 -061583 -061584 -061585 -061586 -061588 -061589 -061590 -061592 -061593 -061594 -061595 -061596 -061597 -061598 -061599 -061679 -061682 -061685 -061687 -061689 -061692 -061693 -061694 -061695 -061697 -061702 -061703 -061704 -061705 -061708 -061709 -06171990 -061778 -061779 -061780 -061781 -061782 -061783 -061784 -061786 -061788 -061789 -061790 -061792 -061794 -061795 -061796 -061797 -061798 -061802 -061803 -061804 -061805 -061807 -06181986 -06181994 -06181996 -061873 -061877 -061878 -061879 -061882 -061883 -061884 -061885 -061887 -061889 -061893 -061894 -061895 -061896 -061897 -061898 -061899 -06201991 -062078 -062079 -062081 -062083 -062084 -062085 -062087 -062089 -062093 -062094 -062095 -062097 -062103 -062104 -062105 -062107 -062108 -062109 -062174 -062175 -062178 -062179 -062180 -062181 -062182 -062183 -062184 -062185 -062186 -062187 -062188 -062189 -062190 -062192 -062193 -062194 -062195 -062197 -062198 -062199 -06221986 -06221987 -06221994 -062271 -062273 -062274 -062275 -062278 -062279 -062281 -062283 -062284 -062285 -062287 -062289 -062293 -062294 -062295 -062297 -062298 -062301 -062305 -062307 -062308 -062309 -06231988 -062376 -062377 -062378 -062379 -062380 -062381 -062382 -062383 -062384 -062385 -062387 -062388 -062389 -062390 -062392 -062393 -062394 -062395 -062396 -062397 -062398 -062399 -062407 -062409 -062470 -062476 -062477 -062479 -062480 -062481 -062482 -062483 -062484 -062485 -062487 -062488 -062489 -062490 -062492 -062493 -062494 -062495 -062496 -062497 -062499 -062501 -062503 -062504 -062507 -062508 -062524 -062527 -062528 -062529 -062530 -062571 -062575 -062576 -062577 -062578 -062579 -062580 -062581 -062582 -062583 -062584 -062585 -062586 -062588 -062590 -062592 -062593 -062594 -062595 -062596 -062597 -062598 -06261987 -062674 -062679 -062681 -062685 -062687 -062689 -062693 -062694 -062695 -062697 -062698 -062701 -062703 -062704 -062705 -062708 -06271991 -062775 -062778 -062779 -062780 -062781 -062782 -062783 -062784 -062786 -062787 -062788 -062789 -062790 -062792 -062793 -062794 -062795 -062796 -062797 -062798 -062799 -062801 -062803 -062804 -062807 -062875 -062877 -062878 -062879 -062881 -062883 -062884 -062885 -062887 -062889 -062892 -062893 -062894 -062895 -062896 -062897 -062898 -062901 -062904 -062905 -062907 -062908 -062971 -062972 -062974 -062976 -062977 -062978 -062979 -062980 -062981 -062982 -062983 -062984 -062985 -062986 -062987 -062988 -062989 -062993 -062994 -062995 -062998 -06301985 -06301987 -063075 -063078 -063079 -063081 -063082 -063084 -063085 -063087 -063089 -063094 -063095 -06Rk,kL -07011983 -07011984 -07011985 -07011986 -07011987 -07011988 -07011989 -07011992 -07011993 -07011994 -07011995 -07012006 -07012525 -07012530 -07012533 -07012534 -070136 -070182 -070183 -070184 -070185 -070186 -070189 -070192 -070193 -070194 -070195 -070196 -070198 -07021979 -07021980 -07021981 -07021982 -07021983 -07021984 -07021985 -07021986 -07021987 -07021988 -07021989 -07021990 -07021991 -07021992 -07021993 -07021994 -07021995 -07021996 -07021998 -07022526 -070281 -070283 -070284 -070285 -070286 -070289 -070293 -070294 -070295 -070296 -070298 -07031980 -07031983 -07031984 -07031985 -07031986 -07031987 -07031988 -07031989 -07031990 -07031991 -07031992 -07031993 -07031994 -07031995 -07031996 -07031997 -070328 -070381 -070382 -070384 -070385 -070389 -070392 -070394 -070395 -070396 -070398 -07041980 -07041981 -07041982 -07041984 -07041985 -07041986 -07041987 -07041988 -07041989 -07041990 -07041991 -07041992 -07041993 -07041994 -07041995 -07041996 -070429 -070481 -070482 -070483 -070485 -070489 -070492 -070493 -070495 -070496 -070498 -07051978 -07051979 -07051981 -07051982 -07051983 -07051986 -07051987 -07051988 -07051989 -07051990 -07051991 -07051992 -07051993 -07051994 -07051996 -07051997 -070581 -070582 -070583 -070584 -070586 -070589 -070592 -070593 -070594 -070596 -07061978 -07061980 -07061981 -07061982 -07061983 -07061985 -07061986 -07061987 -07061988 -07061989 -07061990 -07061991 -07061992 -07061993 -07061994 -07061995 -07061996 -07061997 -07062526 -07062532 -070681 -070682 -070685 -070689 -070692 -070693 -070694 -070695 -070698 -07071975 -07071981 -07071982 -07071983 -07071984 -07071985 -07071986 -07071987 -07071988 -07071989 -07071992 -07071993 -07071994 -07071995 -07072529 -070812 -070819 -07081974 -07081976 -07081979 -07081980 -07081981 -07081982 -07081983 -07081984 -07081985 -07081986 -07081987 -07081988 -07081989 -07081990 -07081991 -07081992 -07081993 -07081994 -07081995 -07081996 -07082004 -07082005 -07082006 -070821 -070825 -07082525 -07082528 -07082529 -070826 -070829 -070831 -070892 -070893 -070894 -070895 -070896 -070912 -07091980 -07091983 -07091984 -07091985 -07091986 -07091987 -07091988 -07091989 -07091992 -07091993 -07091994 -07091995 -07092008 -070923 -07092526 -07092527 -07092531 -070931 -070981 -070982 -070983 -070984 -070985 -070986 -07101980 -07101981 -07101982 -07101983 -07101984 -07101985 -07101986 -07101987 -07101988 -07101989 -07101992 -07101993 -07101994 -07101995 -07101996 -071023 -071025 -07102523 -07102528 -07102530 -07102534 -071026 -071028 -071032 -071082 -071083 -071084 -071085 -071086 -071089 -071092 -071093 -071094 -071095 -071096 -07111981 -07111982 -07111984 -07111985 -07111986 -07111987 -07111989 -07111992 -07111993 -07111994 -07111995 -07112005 -07112525 -07112526 -07112531 -07112532 -071126 -071128 -071129 -071169 -071182 -071183 -071184 -071185 -071186 -071189 -071192 -071193 -071194 -071195 -071196 -071198 -071203 -071204 -071205 -071208 -071219 -07121978 -07121980 -07121981 -07121982 -07121983 -07121984 -07121985 -07121986 -07121987 -07121988 -07121989 -07121990 -07121991 -07121992 -07121993 -07121994 -07121995 -07121996 -07121997 -07122006 -071223 -07122525 -07122527 -071228 -071229 -071230 -071233 -071269 -071274 -071275 -071276 -071278 -071279 -071280 -071281 -071282 -071283 -071284 -071285 -071286 -071287 -071288 -071289 -071290 -071292 -071293 -071294 -071295 -071296 -071297 -071298 -071302 -071305 -071306 -071308 -071309 -07131987 -071320 -071375 -071376 -071378 -071379 -071380 -071381 -071382 -071383 -071384 -071385 -071387 -071388 -071389 -071390 -071392 -071393 -071394 -071395 -071396 -071398 -071402 -071405 -071406 -071408 -071409 -071416 -07141987 -071420 -071421 -071423 -071428 -071476 -071479 -071480 -071481 -071482 -071483 -071484 -071485 -071487 -071488 -071489 -071490 -071492 -071493 -071494 -071495 -071496 -071498 -071502 -071503 -071504 -071506 -071508 -07151980 -07151986 -07151993 -071578 -071580 -071581 -071583 -071584 -071585 -071586 -071588 -071589 -071590 -071592 -071593 -071594 -071595 -071596 -071597 -071599 -071602 -071603 -071604 -071605 -071608 -071609 -07162005 -071673 -071679 -071680 -071681 -071682 -071685 -071686 -071687 -071688 -071689 -071690 -071692 -071693 -071694 -071695 -071696 -071698 -071699 -07171989 -071782 -071783 -071784 -071786 -071789 -071792 -071794 -071795 -071796 -071798 -071802 -071803 -071804 -071805 -071806 -071879 -071882 -071883 -071884 -071885 -071886 -071889 -071892 -071893 -071894 -071895 -071896 -071897 -071898 -07201988 -072081 -072083 -072084 -072085 -072086 -072089 -072093 -072094 -072095 -072096 -072103 -072104 -072105 -072106 -072108 -072109 -072176 -072178 -072179 -072180 -072181 -072182 -072183 -072184 -072185 -072186 -072187 -072188 -072189 -072190 -072192 -072193 -072194 -072195 -072198 -072199 -07221987 -07221988 -072301 -072305 -072306 -072308 -072309 -07231985 -072374 -072375 -072376 -072378 -072379 -072380 -072381 -072382 -072383 -072384 -072385 -072387 -072388 -072389 -072390 -072392 -072393 -072394 -072395 -072396 -072398 -072399 -072401 -072406 -072409 -072426 -072479 -072480 -072481 -072482 -072483 -072484 -072485 -072487 -072488 -072489 -072490 -072492 -072493 -072494 -072495 -072496 -072498 -072499 -072501 -072503 -072504 -072506 -072508 -072524 -072526 -072528 -072529 -072530 -072578 -072579 -072580 -072581 -072582 -072583 -072584 -072585 -072586 -072588 -072590 -072592 -072593 -072594 -072595 -072596 -072597 -072598 -072601 -072603 -072604 -072605 -072608 -072673 -072679 -072680 -072681 -072682 -072685 -072686 -072687 -072688 -072689 -072690 -072692 -072693 -072694 -072695 -072696 -072697 -072698 -07271914 -072801 -072803 -072804 -072806 -072809 -072869 -072879 -072881 -072883 -072884 -072885 -072886 -072889 -072892 -072893 -072894 -072895 -072896 -072897 -072899 -072901 -072904 -072905 -072906 -072908 -07291989 -072976 -072978 -072980 -072981 -072982 -072983 -072984 -072985 -072986 -072987 -072988 -072989 -072993 -072994 -072995 -072996 -072998 -07301981 -07301986 -073081 -073082 -073084 -073085 -073086 -073089 -073094 -073095 -073096 -073102 -073104 -073105 -073106 -073174 -073176 -073179 -073180 -073181 -073182 -073183 -073184 -073185 -073186 -073187 -073188 -073189 -073190 -073192 -073193 -073194 -073195 -073196 -073197 -073199 -07745144 -0800reverse -08011978 -08011979 -08011985 -08011986 -08011987 -08011992 -08011993 -08011994 -08012006 -080175 -080176 -080179 -080192 -080193 -080194 -080195 -080196 -080197 -08021977 -08021979 -08021980 -08021982 -08021983 -08021984 -08021986 -08021987 -08021988 -08021989 -08021990 -08021991 -08021992 -08021993 -08021994 -08021995 -08021997 -080274 -080275 -080279 -080293 -080294 -080295 -080296 -080297 -08032530 -080372 -080375 -080376 -080379 -080392 -080394 -080395 -080396 -080397 -08041982 -08041983 -08041984 -08041985 -08041986 -08041987 -08041988 -08041989 -08041990 -08041991 -08041992 -08041993 -08041994 -08041995 -08041996 -08042005 -08042006 -08042007 -08042526 -08042529 -08042533 -08042535 -080429 -080436 -080471 -080475 -080476 -080479 -080492 -080493 -080495 -080496 -080497 -08051980 -08051981 -08051982 -08051983 -08051984 -08051985 -08051986 -08051987 -08051988 -08051989 -08051990 -08051991 -08051992 -08051993 -08051994 -08051995 -08051996 -08051997 -08052004 -080529 -080572 -080573 -080576 -080579 -080592 -080593 -080594 -080596 -080597 -08061980 -08061982 -08061984 -08061985 -08061986 -08061987 -08061988 -08061989 -08061990 -08061991 -08061992 -08061993 -08061994 -08061995 -08061996 -08061998 -08062005 -08062533 -080629 -080671 -080673 -080674 -080679 -080692 -080693 -080694 -080695 -080697 -08071980 -08071981 -08071982 -08071984 -08071985 -08071986 -08071987 -08071988 -08071989 -08071990 -08071991 -08071992 -08071993 -08071994 -08071995 -08072004 -080756 -080792 -080793 -080794 -080795 -080796 -08081973 -08081982 -08081983 -08081984 -08081985 -08081986 -08081987 -08081992 -08081993 -08081994 -08081995 -08081996 -08082526 -08082529 -08082534 -080912 -080917 -08091982 -08091983 -08091984 -08091985 -08091986 -08091987 -08091992 -08091993 -08091994 -08091995 -08091996 -08092006 -08092007 -080921 -080923 -080925 -08092527 -08092533 -080926 -080927 -080931 -080932 -080972 -080973 -080975 -080976 -08101977 -08101982 -08101983 -08101984 -08101985 -08101986 -08101987 -08101992 -08101993 -08101994 -08101995 -08102004 -08102005 -08102006 -081023 -08102529 -08102532 -081026 -081027 -081032 -081072 -081073 -081075 -081076 -081079 -081092 -081093 -081094 -081095 -081096 -081097 -08111982 -08111983 -08111984 -08111985 -08111986 -08111987 -08111992 -08111993 -08111994 -08111995 -08112007 -081124 -081125 -08112529 -081126 -081129 -081173 -081175 -081176 -081179 -081192 -081193 -081194 -081195 -081196 -081197 -081203 -081204 -081205 -081207 -081217 -08121979 -08121980 -08121981 -08121982 -08121983 -08121984 -08121985 -08121986 -08121987 -08121988 -08121989 -08121990 -08121991 -08121992 -08121993 -08121994 -08121995 -08121996 -08122006 -08122007 -081227 -081229 -081230 -081232 -081233 -081243 -081269 -081271 -081272 -081273 -081274 -081275 -081276 -081277 -081278 -081279 -081283 -081284 -081285 -081286 -081287 -081289 -081290 -081292 -081293 -081294 -081295 -081296 -081297 -081298 -081299 -081302 -081305 -081306 -081307 -08131989 -08131991 -081320 -081365 -081371 -081372 -081375 -081376 -081377 -081378 -081379 -081382 -081384 -081385 -081387 -081389 -081390 -081392 -081393 -081394 -081395 -081396 -081398 -081399 -081402 -081405 -081406 -081407 -081415 -081416 -08141989 -08142004 -081421 -081472 -081473 -081474 -081479 -081482 -081483 -081485 -081487 -081489 -081490 -081492 -081493 -081494 -081495 -081496 -081497 -081498 -081499 -081502 -081503 -081504 -081506 -081507 -081509 -081521 -081524 -081525 -081529 -081574 -081575 -081577 -081578 -081579 -081583 -081584 -081586 -081589 -081590 -081592 -081593 -081594 -081595 -081596 -081597 -081598 -081599 -081602 -081603 -081604 -081605 -081607 -081620 -081623 -081624 -081673 -081674 -081676 -081677 -081679 -081682 -081685 -081687 -081689 -081690 -081692 -081693 -081694 -081695 -081696 -081697 -081699 -081702 -081703 -081704 -081705 -081706 -081709 -081775 -081779 -081782 -081783 -081784 -081786 -081789 -081790 -081792 -081794 -081795 -081796 -08181985 -08182004 -081829 -081879 -081892 -081893 -081894 -081895 -081896 -081897 -08191985 -08191987 -08192006 -08201989 -08201992 -082075 -082076 -082079 -082093 -082094 -082095 -082096 -082097 -082103 -082104 -082105 -082106 -082107 -082109 -08211984 -08211988 -08211990 -082173 -082174 -082175 -082176 -082178 -082179 -082183 -082184 -082185 -082186 -082187 -082189 -082190 -082192 -082193 -082194 -082195 -082196 -082197 -082198 -082199 -08221986 -08221990 -082273 -082275 -082276 -082279 -082293 -082294 -082295 -082296 -082297 -082301 -082305 -082306 -082307 -08231986 -082373 -082375 -082376 -082377 -082378 -082379 -082381 -082384 -082385 -082387 -082389 -082390 -082392 -082393 -082394 -082395 -082396 -082397 -082398 -082399 -082401 -082406 -082407 -08241987 -08241988 -08241992 -082427 -082429 -082470 -082475 -082476 -082477 -082479 -082481 -082483 -082485 -082487 -082489 -082490 -082492 -082493 -082494 -082495 -082496 -082497 -082498 -082499 -082501 -082503 -082504 -082506 -082507 -082516 -082517 -08251987 -08251989 -082524 -082526 -082527 -082529 -082575 -082576 -082577 -082578 -082579 -082581 -082583 -082584 -082586 -082590 -082592 -082593 -082594 -082595 -082596 -082597 -082598 -082599 -082603 -082604 -082605 -082607 -082670 -082674 -082675 -082676 -082677 -082679 -082681 -082685 -082687 -082689 -082690 -082692 -082693 -082694 -082695 -082696 -082697 -082698 -082699 -082701 -082703 -082704 -082705 -082706 -082709 -082775 -082779 -082781 -082783 -082784 -082786 -082789 -082790 -082792 -082793 -082794 -082795 -082796 -082798 -082799 -082875 -082879 -082893 -082894 -082895 -082896 -082897 -082901 -082904 -082905 -082906 -082907 -08291989 -08291995 -082974 -082976 -082977 -082978 -082979 -082981 -082983 -082984 -082985 -082986 -082987 -082993 -082994 -082995 -082996 -082997 -08301987 -08301990 -083075 -083076 -083079 -083094 -083095 -083096 -083097 -083102 -083104 -083105 -083106 -083107 -083171 -083175 -083176 -083178 -083179 -083182 -083184 -083185 -083186 -083187 -083189 -083190 -083192 -083193 -083194 -083195 -083196 -083197 -083198 -085236 -08donthate -090017288 -09001728888 -09011982 -09011983 -09011984 -09011985 -09011986 -09011987 -09012006 -09012007 -09012529 -090172 -090174 -090175 -090176 -090178 -090182 -090183 -090184 -090185 -090186 -090187 -09021977 -09021979 -09021980 -09021981 -09021982 -09021983 -09021984 -09021985 -09021986 -09021987 -09021988 -09021989 -09021993 -09021994 -09021995 -090263 -090273 -090274 -090275 -090276 -090278 -090281 -090283 -090284 -090285 -090286 -090287 -09031981 -09031982 -09031983 -09031984 -09031985 -09031986 -09031987 -09031988 -09031989 -09031992 -09031994 -09031995 -09031996 -09032005 -09032530 -090372 -090375 -090376 -090378 -090381 -090382 -090384 -090385 -090387 -09041980 -09041981 -09041983 -09041984 -09041985 -09041986 -09041987 -09041988 -09041989 -09041992 -09041993 -09041995 -09042007 -090425 -09042533 -090428 -090435 -090475 -090476 -090481 -090482 -090483 -090485 -090487 -09051978 -09051980 -09051981 -09051982 -09051983 -09051985 -09051986 -09051987 -09051988 -09051989 -09051992 -09051993 -09051994 -09051997 -09052006 -09052533 -090532 -090576 -090578 -090581 -090582 -090583 -090584 -090586 -09061977 -09061980 -09061981 -09061982 -09061983 -09061984 -09061985 -09061986 -09061987 -09061988 -09061989 -09061992 -09061993 -09061994 -09061995 -09062532 -090631 -090672 -090674 -090675 -090681 -090682 -090685 -090687 -09071980 -09071983 -09071984 -09071985 -09071986 -09071987 -09071988 -09071989 -09071992 -09071993 -09071994 -09071995 -09071996 -09072005 -09072006 -090725 -09072526 -090781 -090782 -090783 -090784 -090786 -09080706 -09081977 -09081982 -09081983 -09081984 -09081985 -09081986 -09081987 -09081992 -09081993 -09081994 -09081995 -09081996 -09082526 -090872 -090873 -090875 -09091975 -09091982 -09091983 -09091984 -09091985 -09091986 -09091987 -09092531 -09092534 -09101978 -09101983 -09101984 -09101985 -09101986 -09101987 -09102003 -09102004 -09102005 -09102006 -09102007 -09102008 -091023 -091025 -091026 -091027 -091028 -091073 -091075 -091076 -091078 -091082 -091083 -091084 -091085 -091086 -091087 -09111982 -09111983 -09111984 -09111985 -09111986 -09111987 -09112529 -09112531 -091126 -091172 -091174 -091175 -091176 -091178 -091182 -091183 -091184 -091185 -091186 -091187 -091203 -091204 -091205 -091207 -091208 -091218 -09121981 -09121982 -09121983 -09121984 -09121985 -09121986 -09121987 -09121988 -09121989 -09121993 -09121994 -09121995 -09121996 -09122005 -091224 -09122525 -091226 -091227 -091228 -091230 -091233 -091269 -091274 -091275 -091276 -091277 -091278 -091279 -091280 -091281 -091282 -091283 -091284 -091285 -091286 -091287 -091288 -091289 -091293 -091294 -091295 -091296 -091297 -091298 -091302 -091305 -091306 -091307 -091308 -09131984 -09131989 -091326 -091371 -091372 -091373 -091375 -091376 -091377 -091378 -091379 -091380 -091381 -091382 -091383 -091384 -091385 -091387 -091388 -091389 -091392 -091394 -091395 -091396 -091398 -091402 -091405 -091406 -091407 -091408 -09141985 -091422 -091429 -091473 -091474 -091475 -091477 -091479 -091480 -091481 -091482 -091483 -091484 -091485 -091487 -091488 -091489 -091492 -091493 -091495 -091496 -091498 -091502 -091503 -091504 -091506 -091507 -091508 -091518 -09151986 -091524 -091528 -091530 -091562 -091573 -091575 -091576 -091577 -091578 -091579 -091580 -091581 -091583 -091584 -091585 -091586 -091588 -091589 -091592 -091593 -091594 -091596 -091598 -091602 -091603 -091604 -091605 -091607 -091608 -09161986 -09161988 -091625 -091674 -091676 -091677 -091679 -091680 -091681 -091682 -091685 -091686 -091687 -091688 -091689 -091692 -091693 -091694 -091695 -091698 -091702 -091703 -091704 -091705 -091706 -091708 -09171989 -09172005 -091726 -091776 -091778 -091780 -091781 -091782 -091783 -091784 -091786 -091788 -091789 -091792 -091794 -091795 -091796 -091798 -091802 -091803 -091804 -091805 -091806 -091807 -09181987 -091822 -091823 -091827 -091828 -091872 -091873 -091875 -091877 -091878 -091879 -091882 -091883 -091884 -091885 -091886 -091887 -091892 -091893 -091894 -091895 -091896 -091897 -09201984 -09201986 -09201987 -09201989 -09204699365 -092065 -092073 -092074 -092075 -092076 -092078 -092081 -092083 -092084 -092085 -092086 -092087 -092103 -092104 -092105 -092106 -092107 -092108 -09211987 -092172 -092173 -092175 -092176 -092178 -092179 -092180 -092181 -092182 -092183 -092184 -092185 -092186 -092187 -092188 -092189 -092193 -092194 -092195 -092196 -092197 -092198 -09221983 -09221987 -092271 -092274 -092275 -092278 -092281 -092283 -092284 -092285 -092286 -092287 -092301 -092305 -092306 -092307 -092308 -092318 -09231985 -09231989 -092371 -092375 -092376 -092377 -092378 -092379 -092380 -092381 -092382 -092383 -092384 -092385 -092387 -092388 -092389 -092394 -092395 -092396 -092397 -092398 -092401 -092406 -092407 -09241986 -092475 -092476 -092477 -092479 -092480 -092481 -092482 -092483 -092484 -092485 -092487 -092488 -092489 -092493 -092495 -092496 -092497 -092501 -092503 -092504 -092506 -092507 -092508 -09251985 -09251986 -09251989 -09251990 -09251991 -092521 -092524 -092526 -092528 -092530 -092572 -092575 -092576 -092577 -092578 -092579 -092580 -092581 -092582 -092583 -092584 -092585 -092586 -092588 -092593 -092594 -092596 -092598 -092601 -092603 -092604 -092605 -092607 -092608 -09261988 -092671 -092674 -092675 -092676 -092677 -092679 -092680 -092681 -092682 -092685 -092686 -092687 -092688 -092689 -092693 -092694 -092695 -092697 -092698 -092701 -092703 -092704 -092705 -092706 -092708 -09271984 -09271991 -09271994 -092731 -092775 -092776 -092778 -092780 -092781 -092782 -092783 -092784 -092786 -092787 -092788 -092789 -092793 -092794 -092795 -092796 -092801 -092803 -092804 -092806 -092807 -09281988 -09281990 -09281991 -092871 -092873 -092875 -092877 -092878 -092879 -092881 -092883 -092884 -092885 -092886 -092887 -092893 -092894 -092895 -092896 -092897 -09291987 -09291989 -092971 -092973 -092975 -092976 -092978 -092981 -092983 -092984 -092985 -092986 -092987 -09301986 -09301988 -093075 -093076 -093078 -093081 -093082 -093084 -093085 -093086 -093087 -0ew,jwfh -0o9i8u -0zero0 -1000meere -1000miles -1000words -10011982 -10011983 -10011984 -10011985 -10011986 -10011987 -10012526 -10012528 -10012529 -10012532 -10012533 -10012536 -10021974 -10021976 -10021978 -10021980 -10021981 -10021982 -10021983 -10021984 -10021985 -10021986 -10021987 -10021988 -10021989 -10021993 -10021994 -10021995 -10022529 -10022531 -10022533 -10031979 -10031980 -10031981 -10031982 -10031983 -10031984 -10031985 -10031986 -10031987 -10031988 -10031989 -10031992 -10031994 -10031995 -10031997 -10032005 -10032006 -10032007 -10032528 -10032530 -10041968 -10041977 -10041978 -10041979 -10041980 -10041981 -10041982 -10041983 -10041984 -10041985 -10041986 -10041987 -10041988 -10041989 -10041992 -10041993 -10041995 -10041996 -10042003 -10042005 -10042007 -10042008 -10042529 -10042531 -10042532 -10042533 -10051979 -10051980 -10051982 -10051983 -10051984 -10051985 -10051986 -10051987 -10051988 -10051989 -10051992 -10051993 -10051994 -10051996 -10052006 -10052007 -10052008 -10052526 -10052528 -10052532 -10052533 -10061979 -10061980 -10061981 -10061982 -10061983 -10061984 -10061985 -10061986 -10061987 -10061988 -10061989 -10061992 -10061993 -10061994 -10061995 -10061997 -10062007 -10062526 -10062531 -10071976 -10071980 -10071981 -10071982 -10071983 -10071984 -10071985 -10071986 -10071987 -10071988 -10071989 -10071992 -10071993 -10071994 -10071995 -10071996 -10072005 -10072006 -10072527 -10072532 -10072536 -10081979 -10081982 -10081983 -10081984 -10081985 -10081986 -10081987 -10081992 -10081993 -10081994 -10081995 -10082004 -10082005 -10082006 -10082007 -10082525 -10082526 -10082529 -10082530 -10082531 -10082532 -10091982 -10091983 -10091984 -10091985 -10091986 -10091987 -10092004 -10092005 -10092006 -10092007 -10092532 -10092535 -100%amor -100%angel -100%babe -100%bitch -100%boricua -100%cool -100%cute -100%devil -100%emo -100%fresa -100%girl -100%hot -100%latina -100%love -100%mexican -100prechivas -100prejuntos -100preteamare -100%pretty -100pretu -100preyo -100%princess -100%real -100%rock -100%sexy -10101973 -10101975 -10102523 -10102526 -10102527 -10102528 -10102529 -10102531 -10102532 -10102533 -10102535 -101112131415 -10111976 -10111982 -10111983 -10111984 -10111985 -10111986 -10111987 -10112526 -10112529 -10112532 -10112533 -10112535 -10121977 -10121993 -10121994 -10121995 -10121996 -10122528 -10122529 -10122530 -10122532 -10131984 -10131986 -10131987 -10131988 -10131989 -10131992 -10132006 -10141985 -10141986 -10141987 -10141988 -10141989 -10142005 -10142006 -10151980 -10151985 -10151987 -10151988 -10151989 -10151992 -10151993 -1015476 -10154762 -10161978 -10161987 -10161988 -10162004 -10171985 -10171986 -10171987 -10171988 -10171989 -10171992 -10171994 -10172005 -10172006 -10181979 -10181983 -10181984 -10181986 -10181992 -10182006 -10191985 -10191986 -10191987 -101dalmations -10201981 -10201985 -10201986 -10201987 -10201988 -10201989 -10201996 -1020304050 -102030405060 -10211981 -10211982 -10211984 -10211985 -10211987 -10211989 -102158 -102163 -102168 -102169 -102173 -102174 -102175 -102176 -102178 -102179 -102183 -102184 -102185 -102186 -102187 -102189 -102193 -102194 -102195 -102196 -102197 -102198 -10221980 -10221982 -10221985 -10221987 -10221988 -10221989 -102305 -102306 -102307 -102308 -102309 -10231981 -10231984 -10231987 -10231989 -10231995 -102324 -102325 -102327 -102328 -102329 -102354 -102365 -102366 -102367 -102368 -102371 -102372 -102373 -102374 -102375 -102376 -102377 -102378 -102379 -102380 -102381 -102382 -102383 -102384 -102385 -102387 -102388 -102389 -102390 -102392 -102393 -102394 -102395 -102396 -102397 -102398 -102399 -102406 -102407 -102409 -102416 -102418 -10241978 -10241981 -10241984 -10241986 -10241987 -10241988 -10241990 -10241991 -102423 -102425 -102426 -102427 -102428 -102429 -102430 -102466 -102467 -102469 -102470 -102471 -102472 -102473 -102474 -102475 -102476 -102477 -102479 -102480 -102481 -102482 -102483 -102484 -102485 -102487 -102488 -102489 -102490 -102492 -102493 -102494 -102495 -102496 -102497 -102498 -102499 -102503 -102504 -102506 -102507 -102508 -102516 -102517 -102519 -10251976 -10251984 -10251987 -10251989 -10251990 -10251993 -102523 -102524 -102526 -102527 -102528 -102529 -102530 -102532 -102533 -102534 -102535 -102536 -102538 -102563 -102566 -102568 -102569 -102570 -102571 -102572 -102573 -102574 -102575 -102576 -102577 -102578 -102579 -102580 -102581 -102582 -102583 -102584 -102585 -102586 -102588 -102590 -102592 -102593 -102594 -102595 -102596 -102597 -102598 -102599 -102603 -102604 -102605 -102607 -102608 -10261983 -10261986 -10261987 -10261988 -10261990 -10261994 -102623 -102627 -102670 -102672 -102673 -102674 -102675 -102676 -102677 -102679 -102680 -102681 -102682 -102685 -102686 -102687 -102688 -102689 -102690 -102692 -102693 -102694 -102695 -102696 -102697 -102698 -102699 -102703 -102704 -102705 -102706 -102708 -10271985 -10271987 -10271988 -10271989 -10271990 -10271991 -102728 -102729 -102730 -102774 -102775 -102776 -102778 -102779 -102780 -102781 -102782 -102783 -102784 -102786 -102787 -102788 -102789 -102790 -102792 -102793 -102794 -102795 -102796 -102797 -102798 -102799 -102803 -102804 -102806 -102807 -102813 -102819 -10281986 -10281987 -10281988 -10281989 -10281990 -10281992 -10281993 -10281994 -10282005 -102829 -102869 -102870 -102871 -102872 -102873 -102875 -102877 -102878 -102879 -102883 -102884 -102885 -102886 -102887 -102889 -102892 -102893 -102894 -102895 -102896 -102897 -102898 -102899 -10291984 -10291988 -10291993 -10292004 -10301987 -10302006 -103065 -103068 -103069 -103072 -103074 -103075 -103076 -103078 -103079 -103082 -103084 -103085 -103087 -103089 -103094 -103095 -103096 -103097 -10311982 -10311987 -103168 -103169 -103172 -103174 -103175 -103176 -103178 -103179 -103182 -103184 -103185 -103186 -103187 -103189 -103192 -103194 -103195 -103196 -103197 -103198 -106andpark -10deabril -10deagosto -10defebrero -10dejunio -10denoviembre -10deoctubre -10deseptiembre -10ten10 -11011982 -11011984 -11011985 -11011986 -11011987 -11012528 -11012530 -11012531 -11012532 -11021978 -11021981 -11021982 -11021983 -11021984 -11021985 -11021986 -11021987 -11021988 -11021989 -11021993 -11021994 -11021995 -11021996 -11021998 -11022528 -11022532 -110237 -110264 -110265 -110267 -110269 -110273 -110274 -110275 -110276 -110278 -110279 -110283 -110284 -110285 -110286 -110287 -110289 -110294 -110295 -110296 -110297 -110298 -11031976 -11031978 -11031979 -11031981 -11031982 -11031983 -11031984 -11031985 -11031986 -11031987 -11031988 -11031989 -11031992 -11031994 -11031995 -11031996 -11032005 -11032006 -11032007 -11032008 -11032525 -11032529 -11032530 -11032534 -11032535 -11041980 -11041981 -11041982 -11041983 -11041984 -11041985 -11041986 -11041987 -11041988 -11041989 -11041992 -11041993 -11041995 -11041996 -11041997 -11042006 -11042008 -110423 -110425 -11042526 -11042527 -11042529 -11042530 -11042532 -11042533 -110427 -110428 -110429 -110435 -110436 -110437 -110465 -110468 -110472 -110473 -110475 -110476 -110479 -110482 -110483 -110485 -110487 -110489 -110492 -110493 -110495 -110496 -110497 -110498 -11051979 -11051981 -11051982 -11051983 -11051984 -11051985 -11051986 -11051987 -11051988 -11051989 -11051992 -11051993 -11051994 -11051996 -11052007 -110523 -11052526 -11052530 -11052531 -11052533 -110526 -110528 -110529 -110532 -110534 -110537 -110564 -110569 -110572 -110573 -110574 -110576 -110578 -110579 -110582 -110583 -110584 -110586 -110589 -110592 -110593 -110594 -110596 -110597 -110598 -11061977 -11061978 -11061979 -11061980 -11061981 -11061982 -11061983 -11061984 -11061985 -11061986 -11061987 -11061988 -11061989 -11061992 -11061993 -11061994 -11061995 -11062007 -110624 -110625 -11062526 -11062527 -11062528 -11062529 -11062532 -110627 -110628 -110634 -110635 -1106523 -110672 -110673 -110674 -110675 -110679 -110682 -110685 -110687 -110689 -110692 -110693 -110694 -110695 -110697 -110698 -11071976 -11071981 -11071982 -11071983 -11071984 -11071985 -11071986 -11071987 -11071988 -11071989 -11071992 -11071993 -11071994 -11071995 -11071996 -11072005 -11072006 -11072008 -110724 -11072525 -11072527 -11072530 -11072532 -110728 -110729 -110732 -110735 -110768 -110782 -110783 -110784 -110786 -110789 -110792 -110793 -110794 -110795 -110796 -110798 -11081979 -11081983 -11081984 -11081985 -11081986 -11081987 -11081992 -11081993 -11081994 -11081995 -11081996 -11081997 -11082004 -11082006 -11082007 -110824 -11082528 -11082530 -11082532 -110826 -110829 -110832 -110869 -110872 -110873 -110875 -110879 -110892 -110893 -110894 -110895 -110896 -110897 -11091982 -11091983 -11091984 -11091985 -11091986 -11091987 -11092006 -11092007 -110925 -11092527 -11092530 -11092531 -11092532 -11092534 -110926 -110927 -110928 -110932 -110934 -110935 -110967 -110968 -110972 -110973 -110974 -110975 -110976 -110978 -110982 -110983 -110984 -110985 -110986 -11101978 -11101982 -11101983 -11101984 -11101985 -11101986 -11101987 -11102530 -11102533 -11102534 -11112534 -1112131415 -111213141516 -11121974 -11121975 -11121978 -11121980 -11121983 -11121984 -11121985 -11121986 -11121987 -111222333444555 -11122530 -11122534 -11131985 -11131986 -11131987 -11141983 -11151982 -11151986 -11151987 -11161985 -11172005 -11182007 -11201981 -11201982 -11201987 -11201989 -11211986 -11211987 -11221983 -11221984 -11221985 -11221986 -11221987 -11231986 -11231987 -11231989 -11231990 -11231994 -11235813 -1123581321 -11241983 -11241984 -11241985 -11241986 -11241989 -11241990 -11242007 -11251980 -11251983 -11251985 -11251986 -11251988 -11251989 -11251994 -11261982 -11261987 -11261988 -11261990 -11271982 -11271985 -11271986 -11271987 -11271988 -11271990 -11272005 -11281986 -11281990 -11281994 -11291984 -11291986 -11291987 -11301987 -113062 -113064 -113065 -113068 -113069 -113074 -113075 -113076 -113078 -113079 -113082 -113084 -113085 -113086 -113087 -113089 -113094 -113095 -113096 -113097 -1133557799 -1134206 -11794591 -118247 -118423147 -11deabril -11deagosto -11defebrero -11dejunio -11denoviembre -11deoctubre -12011981 -12011982 -12011983 -12011984 -12011985 -12011986 -12011987 -12011988 -12011989 -12011993 -12011994 -12011995 -12011996 -12012530 -12012531 -12012533 -120168 -120173 -120174 -120175 -120176 -120178 -120179 -120183 -120184 -120185 -120186 -120187 -120189 -120193 -120194 -120195 -120196 -120197 -120198 -12021977 -12021978 -12021980 -12021981 -12021982 -12021983 -12021984 -12021985 -12021986 -12021987 -12021988 -12021989 -12021993 -12021994 -12021995 -12021996 -12021997 -12022531 -12022532 -12022534 -120235 -120236 -120269 -120273 -120274 -120275 -120276 -120278 -120279 -120283 -120284 -120285 -120286 -120287 -120289 -120293 -120294 -120295 -120296 -120297 -120298 -120305 -120307 -120308 -120309 -12031979 -12031980 -12031982 -12031983 -12031984 -12031985 -12031986 -12031987 -12031988 -12031989 -12031990 -12031991 -12031992 -12031993 -12031994 -12031995 -12031996 -12032006 -12032007 -120325 -12032526 -12032531 -12032532 -12032533 -120326 -120327 -120328 -120329 -120334 -120363 -120365 -120366 -120368 -120370 -120371 -120372 -120373 -120374 -120375 -120376 -120377 -120378 -120379 -120380 -120381 -120382 -120383 -120384 -120385 -120387 -120388 -120389 -120390 -120392 -120393 -120394 -120395 -120396 -120397 -120398 -120399 -120405 -120406 -120407 -120408 -120409 -12041980 -12041981 -12041982 -12041983 -12041984 -12041985 -12041986 -12041987 -12041988 -12041989 -12041990 -12041991 -12041992 -12041993 -12041994 -12041995 -12041996 -12041997 -12042007 -12042008 -120423 -120425 -12042525 -12042529 -12042530 -12042532 -12042534 -120427 -120428 -120429 -120430 -120431 -120433 -120462 -120469 -120473 -120474 -120475 -120476 -120477 -120479 -120480 -120481 -120482 -120483 -120484 -120485 -120487 -120488 -120489 -120490 -120492 -120493 -120494 -120495 -120496 -120497 -120498 -120499 -120503 -120506 -120507 -120508 -120509 -120513 -120516 -120517 -12051977 -12051978 -12051979 -12051980 -12051981 -12051982 -12051983 -12051984 -12051985 -12051986 -12051987 -12051988 -12051989 -12051990 -12051991 -12051992 -12051993 -12051994 -12051995 -12051996 -12051997 -12052006 -120523 -120524 -12052524 -12052526 -12052529 -12052531 -120526 -120527 -120528 -120529 -120530 -120532 -120533 -120534 -120535 -120536 -120564 -120566 -120570 -120572 -120573 -120574 -120575 -120576 -120577 -120578 -120579 -120580 -120581 -120582 -120583 -120584 -120585 -120586 -120588 -120589 -120590 -120592 -120593 -120594 -120595 -120596 -120597 -120598 -120599 -12061978 -12061979 -12061980 -12061981 -12061982 -12061983 -12061984 -12061985 -12061986 -12061987 -12061988 -12061989 -12061990 -12061991 -12061992 -12061993 -12061994 -12061995 -12061996 -12062005 -12062007 -12062525 -12062526 -12062533 -120703 -120704 -120705 -120706 -120708 -120709 -12071979 -12071981 -12071982 -12071983 -12071984 -12071985 -12071986 -12071987 -12071988 -12071989 -12071990 -12071991 -12071992 -12071993 -12071994 -12071995 -12071996 -12072527 -12072528 -12072530 -12072531 -12072532 -12072533 -120728 -120730 -120732 -120734 -120758 -120769 -120773 -120775 -120776 -120778 -120779 -120780 -120781 -120782 -120783 -120784 -120786 -120787 -120788 -120789 -120790 -120792 -120793 -120794 -120795 -120796 -120797 -120798 -120799 -120803 -120804 -120805 -120806 -120807 -120809 -120816 -12081978 -12081979 -12081980 -12081981 -12081982 -12081983 -12081984 -12081985 -12081986 -12081987 -12081988 -12081989 -12081990 -12081991 -12081992 -12081993 -12081994 -12081995 -12081996 -12082003 -12082004 -12082005 -12082006 -12082007 -120823 -120825 -12082525 -12082527 -12082528 -12082529 -12082530 -12082533 -12082534 -12082537 -120826 -120827 -120829 -120830 -120831 -120832 -120833 -120834 -120835 -120836 -120863 -120868 -120869 -120870 -120871 -120872 -120873 -120875 -120877 -120878 -120879 -120883 -120884 -120885 -120886 -120887 -120889 -120892 -120893 -120894 -120895 -120896 -120897 -120898 -120899 -12091978 -12091980 -12091981 -12091982 -12091983 -12091984 -12091985 -12091986 -12091987 -12091988 -12091989 -12091993 -12091994 -12091995 -12091996 -12091997 -12092004 -12092006 -12092007 -12092528 -12092531 -12092532 -12092533 -12092535 -12101972 -12101977 -12101979 -12101993 -12101994 -12101995 -12101996 -12101997 -12102528 -12102529 -12102530 -12102531 -12102532 -12102533 -12102534 -12102535 -121035 -121065 -121067 -121068 -121069 -121073 -121074 -121075 -121076 -121078 -121079 -121083 -121084 -121085 -121086 -121087 -121089 -121093 -121094 -121095 -121096 -121097 -12111980 -12111983 -12111984 -12111985 -12111986 -12111987 -12112536 -12122530 -12122537 -1213141516 -1213141516171819 -12131982 -12131983 -12131985 -12131986 -12131987 -12131988 -12131989 -12131990 -12132005 -12132006 -12141618 -12141983 -12141984 -12141985 -12141986 -12141987 -12141988 -12141989 -12141990 -12141993 -12141996 -12141997 -12142005 -12151984 -12151985 -12151986 -12151987 -12151988 -12151989 -12151990 -12152006 -121603 -121604 -121605 -121607 -121608 -121609 -12161925 -12161980 -12161987 -12161988 -12161989 -12161995 -12162005 -121630 -121670 -121673 -121674 -121675 -121679 -121680 -121685 -121687 -121689 -121690 -121693 -121694 -121695 -121697 -121698 -121703 -121704 -121705 -121706 -121708 -121709 -12171982 -12171988 -12171989 -12171990 -12171993 -12171994 -12172005 -121730 -121763 -121780 -121783 -121784 -121786 -121789 -121790 -121794 -121795 -121796 -121798 -121803 -121804 -121805 -121806 -121807 -12181984 -12181986 -12181987 -12181990 -12181994 -12181996 -12182004 -121863 -121867 -121869 -121870 -121873 -121875 -121879 -121893 -121894 -121895 -121896 -121897 -12191985 -12191986 -12191987 -12201978 -12201983 -12201984 -12201985 -12201987 -12201988 -12201989 -12201993 -12201994 -12201995 -122067 -122069 -122073 -122074 -122075 -122076 -122078 -122079 -122083 -122084 -122085 -122086 -122087 -122089 -12211986 -12211987 -12221985 -122305 -122306 -122307 -122308 -122309 -12231983 -12231985 -12231986 -12231987 -12231988 -12231989 -12231990 -12232004 -12232005 -122333444455555 -12233445 -122356 -122359 -122365 -122370 -122374 -122375 -122376 -122378 -122379 -122380 -122384 -122385 -122387 -122389 -122390 -122394 -122395 -122396 -122397 -122398 -122406 -122407 -12241981 -12241982 -12241985 -12241987 -12241988 -12241989 -12241990 -122436 -122458 -122465 -122467 -122469 -122470 -122473 -122475 -122476 -122479 -122480 -122483 -122485 -122487 -122489 -122490 -122493 -122495 -122496 -122497 -122498 -12251980 -12251984 -12251985 -12251986 -12251987 -12251988 -12251990 -12251993 -12252006 -122603 -122604 -122605 -122607 -122608 -12261978 -12261980 -12261985 -12261989 -12261990 -122630 -122673 -122674 -122675 -122679 -122680 -122685 -122687 -122689 -122690 -122693 -122694 -122695 -122697 -122698 -122703 -122704 -122705 -122706 -122708 -122709 -12271982 -12271993 -12271995 -122769 -122780 -122783 -122784 -122786 -122789 -122790 -122793 -122794 -122795 -122796 -122798 -122803 -122804 -122806 -122807 -122809 -12281987 -12281990 -12281994 -12281995 -12282005 -122830 -122860 -122865 -122870 -122873 -122875 -122879 -122893 -122894 -122895 -122896 -122897 -122904 -122905 -122906 -122907 -122908 -12291986 -12292006 -122930 -122967 -122973 -122974 -122975 -122976 -122978 -122980 -122983 -122984 -122985 -122986 -122987 -12301980 -12301982 -12301985 -12301986 -12301990 -12301992 -12302006 -1230456 -12304560 -12311986 -12311987 -12311988 -12311989 -12311990 -1232536 -1232580 -12340000 -12343929 -12345love -1234five -1234hello -1234kids -1234love -1234sexy -1234star -1235689 -1235789 -123578951 -1235813 -123581321 -1236951 -1236985 -12369874 -1239875 -123e456 -123iloveme -123iluvme -123iluvu -123itsme -123lookatme -123me123 -123mememe -123pescao -123playboy123 -123pormi -123rockyou -123teamo -123uandme -124356 -124357689 -124536 -124578 -1245780 -124578369 -1245789 -124578963 -124579 -124589 -124689 -124816 -12481632 -124817 -125436 -125463 -125478963 -125487 -125634 -125643 -125687 -125689 -125690 -125698 -125800 -125896 -126578 -126789 -12813863 -128500 -128900 -12ab34cd -12bucklemyshoe -12deabril -12deagosto -12dediciembre -12deenero -12defebrero -12dejunio -12denoviembre -12deoctubre -12deseptiembre -12hat93 -12qw34er -12qw!@QW -12redroses -1300882525 -13011977 -13011982 -13011983 -13011984 -13011985 -13011986 -13011987 -13011988 -13011989 -13011992 -13011994 -13011995 -13012006 -13012007 -130124 -13012531 -13012533 -130126 -130128 -130129 -130179 -130182 -130184 -130185 -130186 -130187 -130189 -130192 -130194 -130195 -130196 -130197 -130198 -130204 -130205 -130206 -130207 -130208 -13021980 -13021983 -13021984 -13021985 -13021986 -13021987 -13021988 -13021989 -13021990 -13021991 -13021992 -13021993 -13021994 -13021995 -13021996 -13022006 -13022007 -13022008 -13022528 -13022529 -13022530 -13022531 -13022532 -130228 -130269 -130273 -130274 -130277 -130278 -130279 -130280 -130281 -130282 -130283 -130284 -130285 -130286 -130287 -130288 -130289 -130290 -130292 -130293 -130294 -130295 -130296 -130297 -130298 -13031980 -13031981 -13031982 -13031983 -13031984 -13031985 -13031986 -13031987 -13031988 -13031989 -13031992 -13031994 -13031995 -13031996 -13032005 -13032007 -130325 -13032525 -13032527 -13032528 -13032529 -13032533 -130328 -130329 -130379 -130382 -130384 -130385 -130387 -130389 -130392 -130394 -130395 -130396 -130397 -130402 -130405 -130406 -130407 -130408 -130409 -130418 -13041980 -13041983 -13041984 -13041985 -13041986 -13041987 -13041988 -13041989 -13041990 -13041991 -13041992 -13041993 -13041994 -13041995 -13042006 -13042007 -130425 -13042529 -13042533 -130426 -130427 -130428 -130429 -130476 -130477 -130479 -130480 -130481 -130482 -130483 -130484 -130485 -130487 -130488 -130489 -130490 -130492 -130493 -130494 -130495 -130496 -130497 -130502 -130506 -130507 -130508 -130509 -13051977 -13051981 -13051982 -13051983 -13051984 -13051986 -13051987 -13051988 -13051989 -13051990 -13051991 -13051992 -13051993 -13051994 -13051995 -13051996 -13052006 -130521 -13052526 -13052531 -13052533 -130526 -130527 -130528 -130529 -130532 -130534 -130575 -130577 -130578 -130579 -130580 -130581 -130582 -130583 -130584 -130585 -130586 -130588 -130589 -130590 -130592 -130593 -130594 -130595 -130596 -130597 -130604 -130605 -130607 -130608 -130619 -13061977 -13061981 -13061982 -13061983 -13061984 -13061985 -13061986 -13061987 -13061988 -13061989 -13061990 -13061991 -13061992 -13061993 -13061994 -13061995 -13061996 -13062007 -130622 -13062527 -13062530 -13062532 -13062533 -13062534 -130628 -130635 -130679 -130680 -130681 -130682 -130685 -130686 -130687 -130688 -130689 -130690 -130692 -130693 -130694 -130695 -130696 -130697 -130704 -130705 -130706 -130708 -13071979 -13071981 -13071982 -13071983 -13071984 -13071985 -13071986 -13071987 -13071988 -13071989 -13071990 -13071991 -13071992 -13071993 -13071994 -13071995 -13072007 -130725 -13072527 -13072528 -13072530 -13072532 -13072533 -130728 -130729 -130732 -130736 -130774 -130776 -130778 -130779 -130780 -130781 -130782 -130783 -130784 -130786 -130787 -130788 -130789 -130790 -130792 -130793 -130794 -130795 -130796 -13081980 -13081982 -13081983 -13081984 -13081985 -13081986 -13081987 -13081988 -13081989 -13081990 -13081991 -13081992 -13081993 -13081994 -13081995 -13082005 -13082006 -130821 -130822 -13082531 -13082534 -130826 -130827 -130828 -130829 -130832 -130877 -130878 -130879 -130882 -130884 -130885 -130886 -130887 -130889 -130892 -130893 -130894 -130895 -130896 -130897 -130899 -130904 -130905 -130906 -130907 -130908 -13091979 -13091981 -13091983 -13091984 -13091985 -13091986 -13091987 -13091988 -13091989 -13091992 -13091994 -13091995 -13091996 -130921 -130925 -13092525 -13092526 -13092527 -13092529 -13092530 -13092536 -130926 -130928 -130932 -130934 -130973 -130975 -130976 -130977 -130978 -130979 -130980 -130981 -130982 -130983 -130984 -130985 -130986 -130988 -130989 -130992 -130994 -130995 -130996 -130997 -13101977 -13101978 -13101979 -13101980 -13101981 -13101982 -13101983 -13101984 -13101985 -13101986 -13101987 -13101988 -13101989 -13101992 -13101994 -13101995 -13102006 -13102007 -131025 -13102526 -13102527 -13102529 -13102530 -13102531 -13102532 -13102534 -131026 -131027 -131028 -131078 -131079 -131082 -131084 -131085 -131086 -131087 -131089 -131092 -131094 -131095 -131096 -131097 -13111980 -13111982 -13111984 -13111985 -13111986 -13111987 -13112005 -13112006 -13112007 -13112526 -13112528 -13112529 -13112530 -131204 -131205 -131207 -131208 -13121979 -13121980 -13121981 -13121982 -13121983 -13121984 -13121985 -13121986 -13121987 -13121988 -13121989 -13121990 -13121994 -13121995 -13122006 -13122007 -13122526 -13122528 -13122529 -13122534 -131276 -131278 -131279 -131280 -131284 -131285 -131286 -131287 -131289 -131290 -131294 -131295 -131296 -131297 -131407 -131408 -131409 -13141516 -131420 -131427 -131428 -131452 -1314520 -1314521 -1314925 -1314love -131520 -131526 -131527 -131528 -131529 -131724 -131725 -131726 -131820 -13243546 -13245768 -132465798 -13413640205 -134256 -134625 -134652 -134679 -1346790 -134679258 -1346795 -1346798 -13467982 -134679825 -13467985 -134679852 -1346798520 -13572468 -1357902468 -135791113 -1357913579 -135792468 -1357924680 -135797531 -135798462 -135798642 -136479 -136900 -136912 -137900 -137924685 -137946 -137950 -137955 -137982 -13798246 -13879428 -139742685 -13deabril -13deagosto -13dediciembre -13deenero -13dejunio -13denoviembre -13deoctubre -13goingon30 -13love13 -14011984 -14011986 -14011987 -14011988 -14011989 -14011992 -14011993 -14011995 -14011996 -14012007 -140125 -14012530 -14012533 -140128 -140129 -140136 -140179 -140182 -140183 -140185 -140186 -140187 -140189 -140192 -140193 -140195 -140196 -140198 -140203 -140205 -140206 -140207 -140208 -140209 -14021979 -14021981 -14021982 -14021983 -14021984 -14021985 -14021986 -14021987 -14021988 -14021989 -14021990 -14021991 -14021992 -14021993 -14021994 -14021995 -14021996 -14021997 -14022005 -14022006 -14022007 -14022008 -14022009 -140225 -14022525 -14022528 -14022529 -14022532 -14022533 -14022534 -14022535 -140226 -140227 -140228 -140229 -140230 -140232 -140233 -140235 -140236 -140275 -140277 -140278 -140279 -140280 -140281 -140282 -140283 -140284 -140285 -140286 -140287 -140288 -140289 -140290 -140292 -140293 -140294 -140295 -140296 -140297 -140298 -140299 -140302 -140305 -140307 -140308 -140309 -14031980 -14031983 -14031984 -14031985 -14031986 -14031987 -14031988 -14031989 -14031990 -14031991 -14031992 -14031993 -14031994 -14031995 -14032007 -14032008 -140322 -14032527 -14032528 -14032529 -140326 -140327 -140329 -140332 -140377 -140379 -140380 -140381 -140382 -140383 -140384 -140385 -140387 -140388 -140389 -140390 -140392 -140393 -140394 -140395 -140396 -140397 -14041980 -14041983 -14041984 -14041985 -14041986 -14041987 -14041988 -14041989 -14041992 -14041993 -14041995 -14041996 -14041997 -14042007 -14042526 -14042527 -14042529 -14042530 -14042532 -14042533 -140426 -140427 -140428 -140429 -140435 -140479 -140482 -140483 -140485 -140487 -140489 -140492 -140493 -140495 -140496 -140497 -140498 -140502 -140506 -140507 -140508 -140509 -14051982 -14051983 -14051984 -14051985 -14051986 -14051987 -14051988 -14051989 -14051990 -14051991 -14051992 -14051993 -14051994 -14051995 -14051996 -140523 -14052528 -14052530 -14052531 -14052534 -140526 -140527 -140529 -140530 -140532 -140533 -140534 -140535 -140571 -140575 -140577 -140578 -140579 -140580 -140581 -140582 -140583 -140584 -140585 -140586 -140588 -140589 -140590 -140592 -140593 -140594 -140595 -140596 -140597 -140599 -140602 -140603 -140605 -140607 -140608 -14061980 -14061982 -14061984 -14061985 -14061986 -14061987 -14061988 -14061989 -14061990 -14061991 -14061992 -14061993 -14061994 -14061995 -14062008 -14062532 -14062535 -140626 -140627 -140628 -140629 -140630 -140676 -140677 -140679 -140680 -140681 -140682 -140685 -140686 -140687 -140688 -140689 -140690 -140692 -140693 -140694 -140695 -140696 -140697 -140702 -140703 -140705 -140706 -140708 -14071981 -14071983 -14071984 -14071985 -14071986 -14071987 -14071988 -14071989 -14071990 -14071991 -14071992 -14071993 -14071994 -14071995 -14071996 -14072007 -14072526 -14072531 -14072534 -140729 -140730 -140731 -140776 -140778 -140779 -140780 -140781 -140782 -140783 -140784 -140786 -140787 -140788 -140789 -140790 -140792 -140793 -140794 -140795 -140796 -140797 -140802 -140805 -140806 -140807 -14081983 -14081984 -14081985 -14081986 -14081987 -14081988 -14081989 -14081990 -14081991 -14081992 -14081993 -14081994 -14081995 -140823 -14082527 -14082528 -14082529 -14082531 -14082532 -140826 -140827 -140828 -140829 -140830 -140831 -140832 -140833 -140872 -140877 -140878 -140879 -140882 -140883 -140885 -140886 -140887 -140889 -140892 -140893 -140894 -140895 -140896 -140897 -140898 -140902 -140903 -140905 -140906 -140907 -140908 -14091980 -14091982 -14091983 -14091984 -14091985 -14091986 -14091987 -14091988 -14091989 -14091992 -14091993 -14091995 -14092525 -14092530 -14092531 -14092532 -14092535 -140928 -140930 -140931 -140932 -140933 -140974 -140976 -140977 -140978 -140979 -140980 -140981 -140982 -140983 -140984 -140985 -140986 -140988 -140989 -140992 -140993 -140995 -140996 -14101977 -14101980 -14101981 -14101982 -14101983 -14101984 -14101985 -14101986 -14101987 -14101988 -14101989 -14101992 -14101993 -14101996 -14102006 -14102007 -141023 -141025 -14102525 -14102527 -14102528 -14102530 -14102531 -14102532 -14102533 -14102534 -141026 -141028 -141032 -141035 -141069 -141075 -141078 -141079 -141082 -141083 -141085 -141086 -141087 -141089 -141092 -141093 -141095 -141096 -141097 -14111978 -14111980 -14111982 -14111983 -14111985 -14111986 -14111987 -14112006 -14112007 -14112526 -14112528 -14112530 -14112531 -14112532 -14121979 -14121980 -14121981 -14121982 -14121983 -14121984 -14121985 -14121986 -14121987 -14121988 -14121989 -14121990 -14121993 -14121995 -14121996 -14122526 -14122527 -14122528 -14122529 -14122531 -14122532 -14122533 -14122535 -14122536 -14124869 -141508 -14151617 -141516171819 -141520 -141523 -141526 -141527 -141529 -141530 -141589 -141603 -141608 -141620 -141623 -141627 -141628 -141630 -141703 -141720 -141723 -141725 -141728 -141823 -141826 -141830 -142026 -142130 -14215469 -142209 -142300 -142307 -142325 -142328 -142356 -142430 -142536475869 -142619 -142630 -142708 -142709 -142800 -142820 -142857 -142902 -143187 -143200 -143216 -143245 -143247 -143256 -143269 -143288 -143420 -1434435254 -1434452 -143445254 -1434456 -1434ever -143525 -1435254 -143526 -143619 -143625 -143637 -143808 -143823 -143iluvu -145200 -145236 -145236987 -145263 -145300 -145623 -145632 -145698 -145836 -145896 -146900 -1475369 -1475963 -1478523690 -1478951 -1478953 -1478956 -1478963 -14789630 -14789635 -1478965 -147896523 -14789653 -14789654 -149200 -14babii_ -14deabril -14deagosto -14defebrero -14dejunio -14deoctubre -14u2nv -15011974 -15011978 -15011983 -15011984 -15011986 -15011987 -15011988 -15011989 -15011992 -15011993 -15011994 -15011996 -15012007 -15012524 -15012530 -15012533 -15021980 -15021982 -15021983 -15021984 -15021985 -15021986 -15021987 -15021988 -15021989 -15021990 -15021991 -15021992 -15021993 -15021994 -15021995 -15021996 -15021997 -15022006 -15022007 -15022531 -15031982 -15031983 -15031984 -15031985 -15031986 -15031987 -15031988 -15031989 -15031990 -15031991 -15031992 -15031993 -15031994 -15031995 -15031996 -15032007 -15032531 -15032532 -15032533 -15041982 -15041983 -15041984 -15041985 -15041986 -15041987 -15041988 -15041989 -15041990 -15041991 -15041992 -15041993 -15041994 -15041995 -15041996 -15042005 -15042008 -15042529 -15042530 -15042534 -15051981 -15051982 -15051984 -15051985 -15051986 -15051987 -15051988 -15051989 -15051992 -15051993 -15051994 -15051996 -15052528 -15052530 -15052531 -15052533 -15052534 -15052535 -15061981 -15061983 -15061985 -15061986 -15061987 -15061988 -15061989 -15061990 -15061991 -15061992 -15061993 -15061994 -15061995 -15061997 -15071980 -15071983 -15071984 -15071985 -15071986 -15071987 -15071988 -15071989 -15071990 -15071991 -15071992 -15071993 -15071994 -15072531 -15081983 -15081984 -15081985 -15081986 -15081987 -15081988 -15081989 -15081990 -15081991 -15081992 -15081993 -15081994 -15081995 -15082006 -15082526 -15082528 -15082529 -15082531 -15082532 -15082534 -15091981 -15091982 -15091983 -15091984 -15091985 -15091986 -15091987 -15091988 -15091989 -15091992 -15091993 -15091994 -15092002 -15092007 -15092525 -15092529 -15092532 -15092534 -15101980 -15101981 -15101982 -15101983 -15101984 -15101985 -15101986 -15101987 -15101988 -15101989 -15101992 -15101993 -15101994 -15101996 -151024 -15102528 -15102530 -15102533 -15102534 -15102535 -15102536 -151027 -151028 -151032 -151034 -151076 -151078 -151079 -151082 -151083 -151084 -151086 -151087 -151089 -151092 -151093 -151094 -151096 -15111982 -15111983 -15111984 -15111986 -15111987 -15121976 -15121979 -15121981 -15121982 -15121983 -15121984 -15121985 -15121986 -15121987 -15121988 -15121989 -15121990 -15121993 -15121994 -15121996 -15121997 -15122004 -15122006 -15122007 -15122530 -15122537 -151608 -15161718 -151620 -151623 -151624 -151627 -151630 -151820 -151823 -151827 -152023 -152026 -152030 -152031 -152103 -152130 -152206 -152207 -152300 -152301 -152303 -152306 -152310 -152327 -152328 -152406 -152417 -152427 -152436 -152463 -152504 -152508 -152530 -152534 -15253545 -152536 -152537 -152538 -152603 -152630 -152634 -152707 -152730 -152800 -152830 -152923 -153045 -153264 -153426 -153426789 -153462 -153624 -154236 -154263 -156324 -156354 -156423 -157359 -157953 -159263487 -1592648 -159357159357 -1593572468 -1593572486 -159357258456 -1593572684 -159357456258 -1593574682 -1593574862 -1593578426 -159357852456 -1594826 -159487263 -1596321 -15963214 -159632478 -1596357 -15963574 -159635741 -159753159753 -1597532468 -1597532486 -159753258456 -1597532684 -1597532846 -159753456852 -1597534682 -1597534862 -1597538246 -1597538426 -159753852456 -1597538624 -1598741 -15987410 -159874123 -159874236 -159874632 -1598753 -15987532 -159875321 -159951123 -15995123 -15deabril -15deagosto -15dediciembre -15deenero -15defebrero -15dejunio -15deoctubre -15deseptiembre -16011983 -16011985 -16011986 -16011987 -16011988 -16011989 -16011992 -16011993 -16011994 -16011995 -16012008 -16012530 -16012532 -16012533 -160178 -160179 -160182 -160183 -160184 -160185 -160187 -160189 -160192 -160193 -160194 -160195 -160197 -160203 -160204 -160205 -160207 -160208 -160209 -16021981 -16021982 -16021983 -16021985 -16021986 -16021987 -16021988 -16021989 -16021990 -16021991 -16021992 -16021993 -16021994 -16021995 -16021996 -16022007 -16022008 -160224 -16022529 -16022530 -160228 -160230 -160232 -160236 -160237 -160276 -160277 -160278 -160279 -160280 -160281 -160282 -160283 -160284 -160285 -160286 -160287 -160288 -160289 -160290 -160292 -160293 -160294 -160295 -160296 -160297 -160298 -160302 -160305 -160307 -160308 -160309 -16031983 -16031984 -16031985 -16031986 -16031987 -16031988 -16031989 -16031990 -16031991 -16031992 -16031993 -16031994 -16031995 -16032007 -16032529 -16032533 -160326 -160327 -160328 -160378 -160379 -160380 -160381 -160382 -160383 -160384 -160385 -160387 -160388 -160389 -160390 -160392 -160393 -160394 -160395 -160396 -160397 -160402 -160405 -160407 -16041982 -16041984 -16041985 -16041986 -16041987 -16041988 -16041989 -16041990 -16041991 -16041992 -16041993 -16041994 -16041995 -16041996 -16042526 -16042532 -16042533 -160426 -160428 -160429 -160433 -160436 -160477 -160479 -160480 -160481 -160482 -160483 -160484 -160485 -160487 -160488 -160489 -160490 -160492 -160493 -160494 -160495 -160496 -160497 -160502 -160503 -160507 -160508 -16051980 -16051981 -16051982 -16051983 -16051984 -16051985 -16051986 -16051987 -16051988 -16051989 -16051990 -16051991 -16051992 -16051993 -16051994 -16051995 -16051997 -16052527 -16052530 -160527 -160528 -160529 -160530 -160533 -160574 -160575 -160577 -160578 -160579 -160580 -160581 -160582 -160583 -160584 -160585 -160586 -160588 -160589 -160590 -160592 -160593 -160594 -160595 -160596 -160597 -160598 -16061980 -16061983 -16061984 -16061985 -16061986 -16061987 -16061988 -16061989 -16061992 -16061993 -16061994 -16061995 -160624 -160625 -16062529 -16062532 -160628 -160632 -160635 -160679 -160682 -160685 -160687 -160689 -160692 -160693 -160694 -160695 -160702 -160703 -160704 -160705 -160708 -16071983 -16071984 -16071985 -16071986 -16071987 -16071988 -16071989 -16071990 -16071991 -16071992 -16071993 -16071994 -16071995 -16072006 -16072529 -16072532 -16072533 -16072536 -160729 -160779 -160780 -160781 -160782 -160783 -160784 -160786 -160787 -160788 -160789 -160790 -160792 -160793 -160794 -160795 -160796 -160802 -160803 -160804 -160805 -160807 -16081979 -16081980 -16081982 -16081984 -16081985 -16081986 -16081987 -16081988 -16081989 -16081990 -16081991 -16081992 -16081993 -16081995 -16082525 -16082533 -160828 -160829 -160830 -160832 -160833 -160875 -160877 -160878 -160879 -160882 -160883 -160884 -160885 -160887 -160889 -160892 -160893 -160894 -160895 -160896 -160897 -160898 -160902 -160904 -160905 -160907 -160908 -16091981 -16091982 -16091983 -16091984 -16091985 -16091986 -16091987 -16091988 -16091989 -16091992 -16091993 -16091994 -16092007 -160923 -16092526 -16092528 -16092529 -16092532 -16092533 -16092534 -160927 -160928 -160929 -160930 -160931 -160932 -160972 -160976 -160977 -160978 -160979 -160980 -160981 -160982 -160983 -160984 -160985 -160986 -160988 -160989 -160992 -160993 -160994 -160995 -16101980 -16101981 -16101982 -16101983 -16101984 -16101985 -16101986 -16101987 -16101988 -16101989 -16101992 -16101993 -16101994 -16101995 -16102007 -161024 -161025 -16102526 -16102527 -16102528 -16102530 -16102531 -16102532 -16102533 -16102534 -16102535 -161027 -161028 -161032 -161078 -161079 -161082 -161083 -161084 -161085 -161087 -161089 -161092 -161093 -161094 -161095 -161097 -16111982 -16111984 -16111985 -16111987 -16112003 -16112004 -16112007 -16112529 -16112530 -16112532 -16112533 -16112535 -16112537 -161203 -161204 -161205 -161207 -161208 -16121978 -16121980 -16121982 -16121983 -16121984 -16121985 -16121986 -16121987 -16121988 -16121989 -16121990 -16121993 -16121994 -16121995 -16122005 -16122530 -16122531 -16122532 -161230 -161235 -161278 -161279 -161280 -161283 -161284 -161285 -161287 -161289 -161290 -161293 -161294 -161295 -161297 -16171819 -161723 -161724 -161725 -161728 -161729 -161820 -161824 -161825 -161827 -161829 -162023 -162024 -162207 -162305 -162325 -162327 -162328 -162329 -162425 -162428 -162507 -162508 -162519 -162520 -162523 -162524 -162527 -162528 -162529 -162530 -162532 -162533 -162534 -162536 -162538 -162729 -162800 -162808 -163425 -164325 -164352 -167349 -167669123 -167943 -16deabril -16deagosto -16dediciembre -16defebrero -16dejunio -16deoctubre -17011980 -17011984 -17011985 -17011986 -17011987 -17011988 -17011989 -17011992 -17011993 -17011994 -17011995 -170124 -17012530 -17012532 -170134 -170182 -170183 -170184 -170185 -170186 -170189 -170192 -170193 -170194 -170195 -170196 -170203 -170204 -170205 -170206 -170208 -170209 -17021980 -17021982 -17021983 -17021984 -17021985 -17021986 -17021987 -17021988 -17021989 -17021990 -17021991 -17021992 -17021993 -17021994 -17021995 -17021996 -17021997 -170223 -170225 -17022526 -17022530 -17022531 -17022533 -170232 -170279 -170280 -170281 -170282 -170283 -170284 -170285 -170286 -170287 -170288 -170289 -170290 -170292 -170293 -170294 -170295 -170296 -170297 -170305 -170308 -170309 -17031982 -17031983 -17031986 -17031987 -17031988 -17031989 -17031990 -17031991 -17031992 -17031993 -17031994 -17031995 -17032007 -170325 -17032527 -17032529 -170329 -170332 -170376 -170378 -170379 -170380 -170381 -170382 -170383 -170384 -170385 -170387 -170388 -170389 -170390 -170392 -170393 -170394 -170395 -170396 -170397 -170402 -170405 -170406 -170408 -17041980 -17041983 -17041984 -17041985 -17041986 -17041987 -17041988 -17041989 -17041990 -17041991 -17041992 -17041993 -17041994 -17041995 -17041996 -170421 -170425 -17042530 -17042532 -17042533 -170428 -170429 -170430 -170433 -170434 -170475 -170479 -170480 -170481 -170482 -170483 -170484 -170485 -170487 -170488 -170489 -170490 -170492 -170493 -170494 -170495 -170496 -170497 -170502 -170503 -170506 -170508 -17051981 -17051983 -17051984 -17051985 -17051986 -17051987 -17051988 -17051989 -17051990 -17051991 -17051992 -17051993 -17051994 -17051995 -17051996 -17052007 -170521 -17052526 -17052531 -17052533 -170527 -170528 -170529 -170530 -170532 -170533 -170534 -170576 -170578 -170579 -170580 -170581 -170582 -170583 -170584 -170585 -170586 -170588 -170589 -170590 -170592 -170593 -170594 -170595 -170596 -170597 -170602 -170603 -170604 -170605 -170608 -17061980 -17061982 -17061983 -17061984 -17061985 -17061986 -17061987 -17061988 -17061989 -17061990 -17061991 -17061992 -17061993 -17061994 -17061995 -17061996 -17062006 -17062533 -17062534 -170626 -170630 -170632 -170633 -170634 -170637 -170679 -170680 -170681 -170682 -170685 -170686 -170687 -170688 -170689 -170690 -170692 -170693 -170694 -170695 -170696 -170697 -170698 -17071984 -17071985 -17071986 -17071987 -17071988 -17071989 -17071992 -17071993 -17071994 -17071995 -17071996 -17072527 -17072528 -17072529 -17072532 -170728 -170729 -170732 -170782 -170783 -170784 -170786 -170789 -170792 -170793 -170794 -170795 -170796 -170802 -170803 -170804 -170805 -170806 -17081945 -17081980 -17081982 -17081983 -17081984 -17081985 -17081986 -17081987 -17081988 -17081989 -17081990 -17081991 -17081992 -17081993 -17081994 -17081995 -17081996 -17082006 -17082007 -17082008 -170823 -170824 -170825 -17082531 -17082533 -170829 -170830 -170831 -170832 -170833 -170845 -170875 -170879 -170882 -170883 -170884 -170885 -170886 -170889 -170892 -170893 -170894 -170895 -170896 -170904 -170905 -170906 -170908 -17091981 -17091982 -17091983 -17091984 -17091985 -17091986 -17091987 -17091988 -17091989 -17091992 -17091993 -17091994 -17091995 -17091996 -17092005 -170925 -17092527 -17092531 -17092534 -170930 -170931 -170932 -170934 -170935 -170936 -170980 -170981 -170982 -170983 -170984 -170985 -170986 -170988 -170989 -170992 -170993 -170994 -170995 -170996 -17101978 -17101980 -17101981 -17101982 -17101983 -17101984 -17101985 -17101986 -17101987 -17101988 -17101989 -17101992 -17101993 -17101994 -17101995 -17101996 -17102005 -17102006 -171023 -171025 -17102526 -17102529 -17102531 -17102532 -17102533 -171026 -171028 -171032 -171034 -171082 -171083 -171084 -171085 -171086 -171089 -171092 -171093 -171094 -171095 -171096 -17111983 -17111984 -17111985 -17111986 -17112005 -17112006 -17112523 -17112526 -17112528 -17112529 -17112530 -17112532 -171203 -171204 -171205 -171208 -17121978 -17121980 -17121981 -17121983 -17121984 -17121985 -17121986 -17121987 -17121988 -17121989 -17121990 -17121993 -17121994 -17121995 -17121996 -17122005 -17122523 -17122532 -17122534 -17122535 -171230 -171235 -171236 -171280 -171283 -171284 -171285 -171286 -171289 -171290 -171293 -171294 -171295 -171296 -171298 -17181920 -171820 -171823 -171824 -171825 -171830 -172023 -172028 -172130 -172230 -172300 -172328 -172426 -172500 -172508 -172518 -172523 -172524 -172526 -172528 -172529 -172530 -172532 -172533 -172534 -172535 -172536 -172538 -1726354 -172730 -172804 -172900 -172930 -175448682346519007 -178239 -1783174 -178900 -17932486 -179324865 -17deabril -17deagosto -17deenero -17defebrero -17dejunio -17deoctubre -18002262727 -18011978 -18011984 -18011985 -18011986 -18011987 -18011992 -18011993 -18011994 -18011995 -18011996 -18012007 -18012525 -18012526 -18012533 -180129 -180192 -180193 -180194 -180195 -180196 -180203 -180204 -180205 -180206 -180207 -18021982 -18021984 -18021985 -18021986 -18021987 -18021988 -18021989 -18021990 -18021991 -18021992 -18021993 -18021994 -18021996 -18022529 -18022532 -180230 -180232 -180233 -180278 -180279 -180283 -180284 -180285 -180286 -180287 -180289 -180290 -180292 -180293 -180294 -180295 -180296 -180297 -180302 -180305 -180307 -18031980 -18031981 -18031982 -18031983 -18031984 -18031985 -18031986 -18031987 -18031988 -18031989 -18031990 -18031991 -18031992 -18031993 -18031994 -18031995 -18031996 -18032529 -18032531 -18032535 -180327 -180328 -180329 -180334 -180376 -180377 -180378 -180382 -180384 -180385 -180387 -180389 -180390 -180392 -180393 -180394 -180395 -180396 -180397 -180405 -180406 -180407 -18041983 -18041984 -18041985 -18041986 -18041987 -18041988 -18041989 -18041990 -18041991 -18041992 -18041993 -18041994 -18041995 -180422 -180425 -18042528 -18042530 -18042532 -180428 -180430 -180431 -180475 -180479 -180482 -180483 -180485 -180487 -180489 -180490 -180492 -180493 -180494 -180495 -180496 -180497 -180498 -180503 -180506 -180507 -18051979 -18051980 -18051981 -18051982 -18051985 -18051986 -18051987 -18051988 -18051989 -18051990 -18051991 -18051992 -18051993 -18051994 -18051995 -18051996 -18052007 -180521 -180523 -18052529 -18052530 -18052532 -180526 -180530 -180574 -180579 -180582 -180583 -180584 -180586 -180589 -180590 -180592 -180593 -180594 -180595 -180596 -180598 -180604 -180605 -180607 -18061982 -18061983 -18061984 -18061985 -18061986 -18061987 -18061988 -18061989 -18061990 -18061991 -18061992 -18061993 -18061994 -18061995 -18062005 -18062525 -18062529 -18062533 -18062535 -180631 -180632 -180633 -180636 -180677 -180679 -180682 -180685 -180687 -180689 -180690 -180692 -180693 -180694 -180695 -180696 -180702 -180703 -180704 -180705 -180706 -18071983 -18071984 -18071985 -18071986 -18071987 -18071988 -18071989 -18071990 -18071991 -18071992 -18071993 -18071994 -18071995 -18071996 -18072526 -18072529 -18072530 -18072532 -18072533 -180730 -180731 -180776 -180782 -180783 -180784 -180786 -180789 -180790 -180792 -180793 -180794 -180795 -180796 -180798 -18081982 -18081983 -18081984 -18081985 -18081986 -18081987 -18081992 -18081993 -18081994 -18081995 -18082007 -18082531 -18082532 -180826 -180827 -180829 -180832 -180834 -180879 -180892 -180893 -180894 -180895 -180896 -180897 -18091983 -18091984 -18091985 -18091986 -18091987 -18091992 -18091993 -18091994 -18091995 -18092007 -18092526 -18092530 -18092532 -18092533 -18101982 -18101983 -18101984 -18101985 -18101986 -18101987 -18101992 -18101993 -18101994 -18101995 -18101996 -18102005 -18102006 -18102007 -181024 -181025 -18102525 -18102530 -18102535 -181027 -181032 -181074 -181076 -181079 -181092 -181093 -181094 -181095 -181096 -18112005 -18112006 -18112526 -18112529 -18112531 -18112532 -181203 -181204 -181205 -181207 -18121979 -18121980 -18121984 -18121985 -18121986 -18121987 -18121990 -18121993 -18121994 -18121995 -18122006 -18122529 -181230 -181235 -181276 -181279 -181290 -181293 -181294 -181295 -181296 -181297 -181530 -18192021 -182023 -182024 -182025 -182026 -182030 -182107 -182130 -182305 -182306 -182324 -182325 -182326 -182400 -182410 -182425 -182426 -182430 -182508 -182517 -182519 -182520 -182523 -182524 -182526 -182527 -182529 -182530 -182532 -182533 -182534 -182535 -182600 -182607 -182629 -182730 -182736 -18273645 -182930 -183461 -1834997 -183729 -183792 -183927 -18436572 -187420 -1878200 -1888celtic -18celtic88 -18deabril -18deagosto -18deenero -18dejunio -18deoctubre -19001560 -19001900123 -19011982 -19011983 -19011985 -19011986 -19011987 -19012006 -19012007 -19012529 -19012531 -19021983 -19021984 -19021985 -19021986 -19021987 -19021988 -19021989 -19021993 -19021994 -19021995 -19021996 -19021997 -19022005 -19022008 -19022530 -19031980 -19031982 -19031983 -19031984 -19031985 -19031986 -19031987 -19031988 -19031989 -19031992 -19031994 -19031995 -19031996 -19031997 -19032003 -19032007 -19032525 -19041980 -19041984 -19041986 -19041987 -19041988 -19041989 -19041992 -19041993 -19041995 -19042007 -19042526 -19042531 -19042532 -19042534 -19051980 -19051981 -19051982 -19051984 -19051985 -19051986 -19051987 -19051988 -19051989 -19051992 -19051993 -19051994 -19051996 -19052005 -19052525 -19061978 -19061982 -19061984 -19061985 -19061986 -19061987 -19061988 -19061989 -19061992 -19061993 -19061994 -19061995 -19062006 -19062007 -19071981 -19071983 -19071984 -19071985 -19071986 -19071987 -19071988 -19071989 -19071992 -19071993 -19071994 -19071995 -19071996 -19072007 -19072531 -1907fener -19081982 -19081983 -19081985 -19081986 -19081987 -19081992 -19081993 -19081994 -19081995 -19082006 -19082007 -19082532 -19091982 -19091983 -19091984 -19091985 -19091986 -19091987 -19092005 -19092528 -19092531 -19092532 -19101982 -19101983 -19101984 -19101985 -19101986 -19101987 -19102006 -19102007 -19102526 -19102529 -19102530 -19102531 -19102532 -19102533 -19102535 -19112004 -19112006 -19112007 -19112524 -19112527 -19112530 -19112532 -19112534 -19121980 -19121983 -19121984 -19121985 -19121986 -19121987 -19122527 -19122531 -19122532 -19122533 -19122534 -19181716 -192.168.1.1 -19283746 -192837465 -1928374655 -19372846 -193728465 -193746825 -19391945 -1941.Salembbb.41 -1955chevy -19671994 -19691970 -19692512 -1969camaro -19701974 -19702513 -197328465 -19734682 -197346825 -197382465 -19741975 -19741976 -19751976 -19752518 -19762519 -19772000 -19772520 -19781980 -19782521 -19791980 -19792522 -19801983 -19801984 -19801985 -19802000 -19802523 -19812007 -19812524 -19821983 -19821984 -19822007 -19822525 -19831029 -19831230 -19831984 -19831985 -19831986 -19832002 -19832006 -19832526 -19841982 -19841983 -19841985 -19841986 -19841987 -19842002 -19842003 -19842008 -19842527 -19850101 -19850903 -19851110 -19851120 -19851210 -19851216 -19851982 -19851986 -19851987 -19852003 -19852004 -19852005 -19852006 -19852007 -19852008 -19852528 -19860126 -19860404 -19860606 -19861010 -19861011 -19861020 -19861216 -19861231 -19861982 -19861985 -19861987 -19862004 -19862005 -19862006 -19862007 -19862008 -19862529 -19870000 -19870214 -19870811 -19870901 -19871011 -19871015 -19871023 -19871026 -19871028 -19871110 -19871121 -19871122 -19871126 -19871217 -19871221 -19871982 -19871985 -19871986 -19872005 -19872006 -19872007 -19872008 -19872530 -19880513 -19880823 -19881005 -19881106 -19881107 -19881205 -19881206 -19881224 -19881226 -19882006 -19882007 -19882008 -19882009 -19882531 -19890309 -19890322 -19890525 -19891013 -19891014 -19891023 -19891031 -19891206 -19891209 -19891227 -19891905 -19892006 -19892007 -19892008 -19892009 -19892532 -19901986 -19902005 -19902006 -19902007 -19902008 -19902533 -19910304 -19912006 -19912007 -19912008 -19912534 -1991baby -19920103 -19920404 -19920509 -19920602 -19922006 -19922007 -19922008 -19922535 -1992exelshan -19932005 -19932006 -19932007 -19932008 -19932536 -19942007 -19942008 -19942009 -19942537 -1994baby -1994love -19952006 -19952007 -19952008 -19952009 -19952538 -1995girl -19962006 -19962007 -19962008 -19962009 -1996baby -19982001 -19982002 -19akp73 -19deabril -19deagosto -19defebrero -19dejunio -19denoviembre -19deoctubre -1a2a3a4a -1a2a3a4a5a -1a2a3a4a5a6a -1abc23 -1andonly -1ANDONLY -1angelbaby -1babyboo -1babycakes -1babygurl -#1babygurl -1babylove -1babymama -1babyphat -1badazz -1badbitch -1badchick -1badgirl -1basketbal -1bestfriend -1bigbitch -1bigbuck -1bigbutt -1bigpimp -1bitch1 -1blackrose -1boobear -1bossbitch -1boy1girl -1boy2girls -1butthole -1cashmoney -1cat1dog -1chrisbrown -1cooldude -1coolgirl -1coolkid -1crazybitch -1crazygirl -1crazymom -1cutegirl -1cuttie -1daddygirl -1daddysgirl -1daysoon -1ddf2556 -1derful -1derwoman -1dipset -1dirtbike -1dog1cat -1f2frfbf -1flygirl -1forlife -1g,2al,ja -1getmoney -1goodgirl -1happygirl -1heartyou -1hellokitty -1hotbabe -1hotbitch -1hotboy -1hotchic -1hotgirl -1hotgurl -1hotguy -1hotmama -1hotmamma -1hotmomma -#1hustla -1ilovehim -1iluvme -1inamillion -1inuyasha -1johncena -1juggalo -1lasttime -1life1love -1life2live -1lifesucks -1lilbit -1lilmama -1lilsexy -1lilwayne -1lipgloss -1lostlove -1lostsoul -1love! -1love1life -1love2 -1love3 -1love4 -1love4ever -1love4life -1love4me -1love4you -1loveaaron -1lovealex -1lovebaby -1loveboys -1lovebug -1lovechris -1lovedaddy -1lovedavid -1loveforme -1loveher -1lovehim -1lovehurts -1lovejames -1lovejason -1lovejc -1lovejesse -1lovejesus -1lovejoe -1lovejohn -1lovejosh -1lovekevin -1lovelife -1lovematt -1lovemike -1lovemom -1lovemymom -1lovemyself -1loveonly -1lovergirl -1loveryan -1lovescott -1lovesex -1lovesteve -1lovesucks -1lovetim -1lovetony -1loveu2 -1loveya -1luckygirl -1luv4eva -1luv4ever -1luv4me -1luv4u -1luvbaby -1luvchris -1luvyou -1man4me -1meandyou -1momanddad -1momdad -1newday -1newlove -1newstart -1norte4 -1ofakind -1onelove -1pinklady -1prettygirl -1princess1 -1qaz0okm -1qaz-pl, -1qaz@WSX -1qazXSW@ -1qazZAQ! -1queenb -1realnigga -1rockyou -1sexkitten -1sexy1 -1sexyass -1sexybabe -1sexybaby -1sexybeast -1sexybitch -#1sexybitch -1sexyboy -1sexychick -1sexydiva -1sexygirl -1sexygurl -1sexylady -1sexylove -1sexymama -#1sexymama -1sexymami -1sexyman -1sexyme -1sexymom -1sexymomma -1sexyred -1sexythang -1shawty -1shot1kill -1smartass -1soulmate -1spongebob -1starbucks -1sweetday -1sweetgirl -1thuglife -1tigger1 -1tim412 -1timeonly -1tinkerbel -1toomany -1trackstar -1treehill -1truegod -1trueluv -1two3four -1twothree -1wayjesus -1weezy -1wetpussy -#1wifey -1x556w -1yourmom -20011980 -20011983 -20011984 -20011985 -20011986 -20011987 -20011988 -20011989 -20011993 -20011994 -20011995 -20011996 -20012529 -20012531 -20021980 -20021982 -20021983 -20021984 -20021985 -20021986 -20021987 -20021988 -20021989 -20021993 -20021994 -20021995 -20021996 -2002ford -20031982 -20031984 -20031985 -20031986 -20031987 -20031988 -20031989 -20031990 -20031991 -20031992 -20031993 -20031994 -20031995 -20031996 -20032529 -20041979 -20041982 -20041983 -20041984 -20041985 -20041986 -20041987 -20041988 -20041989 -20041990 -20041991 -20041992 -20041993 -20041994 -20041995 -20041996 -20042533 -2004grad -20051981 -20051982 -20051983 -20051984 -20051985 -20051986 -20051987 -20051988 -20051989 -20051990 -20051991 -20051992 -20051993 -20051994 -20051995 -20051996 -2005grad -20061979 -20061982 -20061983 -20061984 -20061985 -20061986 -20061987 -20061988 -20061989 -20061990 -20061991 -20061992 -20061993 -20061994 -20061995 -2006-2007 -20062527 -20062532 -2006baby -2006grad -2006love -20071979 -20071980 -20071981 -20071982 -20071983 -20071984 -20071985 -20071986 -20071987 -20071988 -20071989 -20071990 -20071991 -20071992 -20071993 -20071994 -20071995 -20071996 -20072531 -20072532 -2007baby -2007grad -2007love -20081981 -20081982 -20081983 -20081984 -20081985 -20081986 -20081987 -20081988 -20081989 -20081990 -20081991 -20081992 -20081993 -20081994 -20081995 -20081996 -20081997 -20082531 -20082532 -20082533 -20082534 -20082551 -2008baby -2008grad -20091979 -20091980 -20091983 -20091984 -20091985 -20091986 -20091987 -20091988 -20091989 -20091993 -20091994 -20091995 -20091996 -20091997 -20092526 -20092527 -20092532 -2009baby -2009grad -20101979 -20101980 -20101981 -20101982 -20101983 -20101984 -20101985 -20101986 -20101988 -20101993 -20101994 -20101995 -20102524 -20102529 -20102532 -20102533 -20102534 -20102535 -2010allday -2010baby -2010grad -2010runit -20111977 -20111981 -20111982 -20111984 -20111985 -20111986 -20111987 -20111988 -20111989 -20111993 -20111994 -20111995 -20111996 -20112527 -20112529 -20112531 -201136 -201174 -201175 -201176 -201178 -201179 -201183 -201184 -201185 -201186 -201187 -201189 -201193 -201194 -201195 -201196 -201197 -201198 -20121980 -20121981 -20121982 -20121983 -20121984 -20121985 -20121986 -20121988 -20121993 -20121994 -20121995 -20121996 -20122527 -20122528 -20122529 -20122530 -20122531 -20122532 -201237 -201273 -201275 -201276 -201278 -201279 -201283 -201284 -201285 -201286 -201287 -201289 -201293 -201294 -201295 -201296 -201297 -201428 -201516 -201518 -201816 -202416 -202517 -20304050 -20406080 -20cmrecords -20deabril -20deagosto -20deenero -20defebrero -20dejunio -20denoviembre -20deoctubre -21011983 -21011984 -21011985 -21011986 -21011988 -21011993 -21011994 -21011995 -21011997 -21012529 -21012531 -21021981 -21021984 -21021985 -21021986 -21021988 -21021993 -21021994 -21021995 -21021996 -21022528 -21031980 -21031982 -21031983 -21031984 -21031985 -21031986 -21031987 -21031988 -21031989 -21031990 -21031991 -21031992 -21031993 -21031994 -21031995 -21032007 -21032528 -21032529 -21032531 -21032532 -21032535 -21041981 -21041982 -21041983 -21041984 -21041985 -21041986 -21041987 -21041988 -21041989 -21041990 -21041991 -21041992 -21041993 -21041994 -21041995 -21041996 -21042526 -21051982 -21051983 -21051984 -21051985 -21051986 -21051987 -21051988 -21051989 -21051990 -21051991 -21051992 -21051993 -21051994 -21051995 -21051996 -21051997 -21052533 -21061980 -21061983 -21061984 -21061985 -21061986 -21061987 -21061988 -21061989 -21061990 -21061991 -21061992 -21061993 -21061994 -21061995 -21061996 -21061997 -21062526 -21062529 -21062530 -21062531 -21062533 -21071981 -21071983 -21071984 -21071985 -21071986 -21071987 -21071988 -21071989 -21071990 -21071991 -21071992 -21071993 -21071994 -21071995 -21072528 -21072529 -21072530 -21072532 -21072534 -21081980 -21081983 -21081984 -21081985 -21081986 -21081987 -21081988 -21081989 -21081990 -21081991 -21081992 -21081993 -21081994 -21081995 -21082007 -21082525 -21082530 -21082531 -21082532 -21091983 -21091984 -21091985 -21091986 -21091987 -21091988 -21091989 -21091993 -21091994 -21091995 -21092007 -21092526 -21092532 -21092533 -21101981 -21101982 -21101983 -21101984 -21101985 -21101986 -21101988 -21101993 -21101994 -21101995 -21101996 -21102526 -21102528 -21102529 -21102530 -21102531 -21102533 -21102534 -21102536 -21111976 -21111983 -21111984 -21111985 -21111986 -21111987 -21121978 -21121980 -21121983 -21121984 -21121985 -21121986 -212224236 -212224236248 -2122242362482510 -212307 -212409 -212506 -212530 -212534 -212537 -212630 -212705 -212830 -212930 -213546879 -214365 -21436587 -214563 -214619 -214789 -215487 -21deabril -21deagosto -21dediciembre -21deenero -21defebrero -21dejunio -21denoviembre -21deoctubre -22011979 -22011982 -22011985 -22011986 -22011987 -22011988 -22011989 -22011993 -22011994 -22011995 -22012526 -22012529 -22012531 -22012534 -22012535 -22021980 -22021981 -22021982 -22021983 -22021984 -22021985 -22021986 -22021987 -22021988 -22021989 -22021993 -22021994 -22021995 -22021996 -22021997 -22031979 -22031981 -22031982 -22031983 -22031984 -22031985 -22031986 -22031987 -22031988 -22031989 -22031990 -22031991 -22031992 -22031993 -22031994 -22031995 -22031996 -22031998 -22032534 -220375 -220379 -220381 -220384 -220385 -220387 -220389 -220394 -220395 -220396 -220397 -220398 -22041980 -22041982 -22041983 -22041984 -22041985 -22041986 -22041987 -22041988 -22041989 -22041990 -22041991 -22041992 -22041993 -22041994 -22041995 -22041997 -22042529 -22042530 -22042538 -220475 -220479 -220481 -220483 -220485 -220487 -220489 -220493 -220495 -220496 -220497 -22051978 -22051982 -22051985 -22051986 -22051987 -22051988 -22051989 -22051990 -22051991 -22051992 -22051993 -22051994 -22051995 -22051997 -22052531 -220576 -220578 -220579 -220581 -220583 -220584 -220586 -220589 -220593 -220594 -220596 -220597 -220598 -220618 -22061980 -22061981 -22061984 -22061985 -22061986 -22061987 -22061988 -22061989 -22061990 -22061991 -22061992 -22061993 -22061994 -22061995 -22062527 -22062531 -22062533 -220631 -220634 -220679 -220681 -220685 -220687 -220689 -220693 -220694 -220695 -220697 -220698 -22071981 -22071982 -22071984 -22071985 -22071986 -22071987 -22071988 -22071989 -22071990 -22071991 -22071992 -22071993 -22071994 -22071995 -22071996 -22072529 -22072531 -22072532 -220731 -220734 -220781 -220783 -220784 -220786 -220789 -220793 -220794 -220795 -220796 -22081981 -22081983 -22081984 -22081985 -22081986 -22081987 -22081988 -22081989 -22081990 -22081991 -22081992 -22081993 -22081994 -22081995 -22082526 -22082529 -22082531 -220834 -220879 -220893 -220894 -220895 -220896 -220897 -22091980 -22091983 -22091984 -22091985 -22091986 -22091987 -22091988 -22091989 -22091993 -22091994 -22091995 -22092532 -220931 -220934 -220936 -220974 -220975 -220976 -220978 -220981 -220983 -220984 -220985 -220986 -22101980 -22101981 -22101982 -22101983 -22101984 -22101985 -22101986 -22101988 -22101993 -22101994 -22101995 -22101996 -22102526 -22102528 -22102529 -22102530 -22102531 -22102532 -22102535 -22102538 -221074 -221076 -221078 -221079 -221083 -221084 -221085 -221086 -221087 -221089 -221093 -221094 -221095 -221096 -221097 -22111976 -22111980 -22111983 -22111984 -22111985 -22111986 -22111987 -22112530 -22121980 -22121983 -22121984 -22121985 -22121986 -22122530 -221309 -221406 -221530 -223105 -2233445566 -224236248 -224426628816 -22765462 -22deabril -22deagosto -22dediciembre -22deenero -22defebrero -22dejunio -22deoctubre -230104 -230106 -230107 -230108 -230109 -23011984 -23011985 -23011987 -23011988 -23011989 -23011990 -23011991 -23011992 -23011993 -23011994 -23011995 -23011996 -23012006 -230125 -23012529 -23012531 -23012533 -23012534 -230128 -230129 -230134 -230176 -230178 -230179 -230180 -230181 -230182 -230183 -230184 -230185 -230186 -230187 -230188 -230189 -230190 -230192 -230193 -230194 -230195 -230196 -230197 -230199 -23021981 -23021982 -23021983 -23021984 -23021985 -23021986 -23021987 -23021988 -23021989 -23021990 -23021991 -23021992 -23021993 -23021994 -23021995 -23021996 -23022529 -23022531 -230274 -230278 -230279 -230281 -230284 -230285 -230286 -230287 -230289 -230294 -230295 -230296 -230297 -23031978 -23031981 -23031982 -23031983 -23031984 -23031985 -23031986 -23031987 -23031988 -23031989 -23031990 -23031991 -23031992 -23031993 -23031994 -23031995 -23032528 -23032529 -23032531 -23032534 -230375 -230378 -230379 -230381 -230384 -230385 -230387 -230389 -230394 -230395 -230396 -230397 -230398 -230401 -230405 -230406 -230407 -230408 -230409 -23041979 -23041981 -23041982 -23041983 -23041984 -23041985 -23041986 -23041987 -23041988 -23041989 -23041990 -23041991 -23041992 -23041993 -23041994 -23041995 -23041996 -23042007 -23042525 -23042529 -23042533 -23042534 -230427 -230428 -230429 -230477 -230479 -230480 -230481 -230482 -230483 -230484 -230485 -230487 -230488 -230489 -230490 -230492 -230493 -230494 -230495 -230496 -230497 -230498 -230499 -230501 -230506 -230507 -230508 -230509 -23051981 -23051983 -23051984 -23051985 -23051986 -23051987 -23051988 -23051989 -23051990 -23051991 -23051992 -23051993 -23051994 -23051995 -23051996 -23052007 -230524 -23052528 -23052531 -230528 -230529 -230534 -230573 -230577 -230578 -230579 -230580 -230581 -230582 -230583 -230584 -230585 -230586 -230588 -230589 -230590 -230592 -230593 -230594 -230595 -230596 -230597 -230604 -230605 -230607 -230608 -230617 -23061979 -23061982 -23061983 -23061984 -23061985 -23061986 -23061987 -23061988 -23061989 -23061990 -23061991 -23061992 -23061993 -23061994 -23061995 -23061996 -23062007 -23062524 -23062526 -23062531 -23062532 -23062535 -230628 -230634 -230635 -230675 -230677 -230679 -230680 -230681 -230682 -230685 -230686 -230687 -230688 -230689 -230690 -230692 -230693 -230694 -230695 -230696 -230697 -230698 -230704 -230705 -230706 -230708 -23071977 -23071981 -23071983 -23071984 -23071985 -23071986 -23071987 -23071988 -23071989 -23071990 -23071991 -23071992 -23071993 -23071994 -23071995 -23071996 -23072005 -230724 -230725 -23072528 -23072532 -23072533 -23072536 -230726 -230728 -230729 -230776 -230778 -230779 -230780 -230781 -230782 -230783 -230784 -230786 -230787 -230788 -230789 -230790 -230792 -230793 -230794 -230795 -230796 -230797 -230804 -230805 -230806 -230807 -23081980 -23081982 -23081983 -23081984 -23081985 -23081986 -23081987 -23081988 -23081989 -23081990 -23081991 -23081992 -23081993 -23081994 -23081995 -23081996 -23082525 -23082527 -23082529 -23082531 -23082532 -23082533 -230827 -230829 -230831 -230834 -230836 -230877 -230878 -230879 -230881 -230884 -230885 -230886 -230887 -230889 -230892 -230893 -230894 -230895 -230896 -230897 -230898 -230904 -230905 -230906 -230907 -230908 -23091980 -23091981 -23091983 -23091985 -23091986 -23091987 -23091988 -23091989 -23091990 -23091991 -23091992 -23091993 -23091994 -23091995 -23092006 -23092526 -23092527 -23092528 -23092529 -23092530 -23092533 -230926 -230927 -230928 -230931 -230934 -230937 -230971 -230976 -230977 -230978 -230979 -230980 -230981 -230982 -230983 -230984 -230985 -230986 -230988 -230989 -230994 -230995 -230996 -230997 -230998 -23101978 -23101979 -23101980 -23101981 -23101982 -23101983 -23101984 -23101985 -23101986 -23101988 -23101990 -23101991 -23101992 -23101993 -23101994 -23101995 -23101996 -23102004 -23102007 -23102528 -23102529 -23102532 -23102533 -23111981 -23111982 -23111983 -23111984 -23111985 -23111986 -23111987 -23111988 -23111989 -23111990 -23111994 -23112006 -23112007 -23112529 -23112534 -23121981 -23121983 -23121984 -23121985 -23121986 -23121988 -23121990 -23121994 -23121995 -23122007 -23122524 -23122527 -23122528 -23122530 -23122534 -23122537 -23170207 -232406 -232407 -232410 -23242526 -232506 -232510 -232517 -232518 -232519 -232906 -235612 -235689 -235689741 -235711 -236589 -237426 -2374262 -238610 -239637 -23deabril -23deagosto -23deenero -23defebrero -23dejunio -23denoviembre -23deoctubre -23isback -23wesdxc -240105 -240106 -240107 -240108 -240109 -24011985 -24011986 -24011987 -24011988 -24011989 -24011990 -24011991 -24011992 -24011993 -24011994 -24011995 -24011996 -24012007 -24012532 -24012533 -24012535 -240130 -240131 -240136 -240172 -240179 -240180 -240181 -240182 -240183 -240184 -240185 -240186 -240187 -240188 -240189 -240190 -240192 -240193 -240194 -240195 -240196 -240197 -240198 -24021981 -24021983 -24021984 -24021985 -24021986 -24021987 -24021989 -24021990 -24021991 -24021992 -24021993 -24021994 -24021995 -24021996 -24021997 -24022526 -24022527 -24022529 -24022531 -24022532 -24022533 -240236 -240276 -240279 -240281 -240283 -240285 -240286 -240287 -240289 -240293 -240295 -240296 -240297 -240298 -240305 -240307 -240308 -24031982 -24031983 -24031984 -24031985 -24031986 -24031987 -24031988 -24031989 -24031990 -24031991 -24031992 -24031993 -24031994 -24031995 -24032526 -24032530 -24032532 -24032533 -24032534 -240326 -240327 -240328 -240329 -240335 -240377 -240378 -240379 -240380 -240381 -240382 -240383 -240384 -240385 -240387 -240388 -240389 -240390 -240392 -240393 -240394 -240395 -240396 -240397 -240398 -24041981 -24041984 -24041985 -24041986 -24041987 -24041988 -24041989 -24041990 -24041991 -24041992 -24041993 -24041994 -24041996 -24042529 -24042530 -24042532 -24042533 -24042534 -240431 -240436 -240475 -240476 -240479 -240481 -240483 -240485 -240487 -240489 -240493 -240495 -240496 -24051980 -24051981 -24051982 -24051984 -24051985 -24051986 -24051987 -24051988 -24051989 -24051990 -24051991 -24051992 -24051993 -24051994 -24051995 -24052532 -24052534 -24052535 -240603 -240605 -240607 -240608 -24061982 -24061984 -24061985 -24061986 -24061987 -24061988 -24061989 -24061990 -24061991 -24061992 -24061993 -24061994 -24061995 -24061996 -24062528 -240628 -240629 -240630 -240631 -240632 -240635 -240677 -240679 -240680 -240681 -240682 -240685 -240686 -240687 -240688 -240689 -240690 -240692 -240693 -240694 -240695 -240696 -240697 -240699 -240703 -240705 -240706 -240708 -24071982 -24071983 -24071984 -24071985 -24071987 -24071988 -24071989 -24071990 -24071991 -24071992 -24071993 -24071994 -24071995 -24072527 -24072532 -240730 -240733 -240735 -240769 -240776 -240778 -240779 -240780 -240781 -240782 -240783 -240784 -240786 -240787 -240788 -240789 -240790 -240792 -240793 -240794 -240795 -240796 -240799 -24081980 -24081981 -24081982 -24081983 -24081984 -24081985 -24081986 -24081987 -24081988 -24081989 -24081990 -24081991 -24081992 -24081993 -24081994 -24081995 -24082526 -24082530 -24082532 -240903 -240905 -240906 -240907 -24091983 -24091985 -24091986 -24091987 -24091988 -24091989 -24091990 -24091991 -24091992 -24091993 -24091995 -24092527 -24092530 -24092532 -24092533 -240927 -240928 -240930 -240931 -240933 -240935 -240971 -240974 -240975 -240976 -240977 -240979 -240980 -240981 -240982 -240983 -240984 -240985 -240986 -240988 -240989 -240993 -240995 -240996 -240997 -240998 -241003 -241005 -241008 -24101980 -24101982 -24101983 -24101984 -24101985 -24101986 -24101987 -24101988 -24101989 -24101990 -24101991 -24101992 -24101993 -24101994 -24101995 -24101996 -24102006 -24102007 -241023 -241025 -24102524 -24102525 -24102526 -24102528 -24102529 -24102531 -24102532 -24102533 -24102534 -24102536 -241026 -241027 -241028 -241030 -241031 -241032 -241033 -241034 -241035 -241038 -241075 -241077 -241078 -241079 -241080 -241081 -241082 -241083 -241084 -241085 -241086 -241087 -241088 -241089 -241090 -241092 -241093 -241094 -241095 -241096 -241097 -241105 -241106 -241107 -241108 -24111979 -24111980 -24111981 -24111982 -24111983 -24111984 -24111985 -24111986 -24111987 -24111988 -24111989 -24111990 -24111993 -24111995 -24112006 -24112007 -24112526 -24112529 -24112530 -24112531 -24112532 -24112534 -241130 -241176 -241178 -241179 -241180 -241183 -241185 -241186 -241187 -241189 -241190 -241193 -241195 -241196 -241197 -241203 -241205 -241207 -241208 -24121979 -24121980 -24121981 -24121983 -24121985 -24121986 -24121987 -24121988 -24121989 -24121990 -24121993 -24121995 -24121996 -24122006 -24122007 -24122527 -24122528 -24122532 -241230 -241276 -241278 -241279 -241280 -241283 -241285 -241286 -241287 -241289 -241290 -241293 -241295 -241296 -241297 -241618 -241627 -241800 -2419302 -242507 -242510 -242513 -242518 -24252627 -242530 -242536 -242537 -242630 -242631 -242703 -2427543 -242816 -242930 -243546 -2468013579 -24681011 -24681012 -2468101214 -246810121416 -2468101214161820 -24681234 -24681357 -246813579 -24681379 -24683579 -247365 -2475962 -2482510 -24861379 -24861793 -248657913 -24992530 -24deabril -24deagosto -24dediciembre -24deenero -24defebrero -24dejunio -24denoviembre -24deoctubre -2500hd -250104 -250106 -250107 -250108 -25011980 -25011983 -25011984 -25011985 -25011986 -25011987 -25011988 -25011989 -25011990 -25011991 -25011992 -25011993 -25011994 -25011995 -25011996 -25012008 -25012524 -25012528 -25012529 -25012532 -250128 -250129 -250131 -250137 -250176 -250178 -250179 -250180 -250181 -250182 -250183 -250184 -250185 -250186 -250187 -250188 -250189 -250190 -250192 -250193 -250194 -250195 -250196 -250197 -25021982 -25021984 -25021985 -25021986 -25021987 -25021988 -25021989 -25021990 -25021991 -25021992 -25021993 -25021994 -25021995 -250236 -250278 -250279 -250281 -250283 -250284 -250286 -250287 -250289 -250293 -250294 -250296 -250297 -250307 -250308 -25031983 -25031985 -25031986 -25031987 -25031988 -25031989 -25031990 -25031991 -25031992 -25031993 -25031994 -25031995 -25031996 -25032528 -25032529 -25032534 -250327 -250375 -250376 -250377 -250378 -250379 -250380 -250381 -250382 -250383 -250384 -250385 -250387 -250388 -250389 -250390 -250392 -250393 -250394 -250395 -250396 -250397 -250406 -250407 -250408 -25041982 -25041983 -25041984 -25041985 -25041986 -25041987 -25041988 -25041989 -25041990 -25041991 -25041992 -25041993 -25041994 -25041995 -25041996 -25042007 -25042528 -25042530 -25042532 -25042533 -250426 -250429 -250430 -250431 -250433 -250477 -250479 -250480 -250481 -250482 -250483 -250484 -250485 -250487 -250488 -250489 -250490 -250492 -250493 -250494 -250495 -250496 -250497 -250498 -250499 -25051982 -25051983 -25051984 -25051985 -25051986 -25051987 -25051988 -25051989 -25051990 -25051991 -25051992 -25051993 -25051994 -250578 -250579 -250581 -250583 -250584 -250586 -250589 -250593 -250594 -250596 -250597 -250603 -250604 -250607 -250608 -25061979 -25061982 -25061983 -25061984 -25061985 -25061986 -25061987 -25061988 -25061989 -25061990 -25061991 -25061992 -25061993 -25061994 -25061995 -25062530 -25062532 -250627 -250629 -250630 -250632 -250634 -250677 -250679 -250680 -250681 -250682 -250685 -250686 -250687 -250688 -250689 -250690 -250692 -250693 -250694 -250695 -250696 -250697 -250699 -250701 -250703 -250704 -250706 -250708 -25071980 -25071981 -25071982 -25071984 -25071985 -25071986 -25071987 -25071988 -25071989 -25071990 -25071991 -25071992 -25071993 -25071994 -25071995 -25071996 -25072531 -25072532 -25072533 -250726 -250729 -250779 -250780 -250781 -250782 -250783 -250784 -250786 -250787 -250788 -250789 -250790 -250792 -250793 -250794 -250795 -250796 -250797 -250803 -250804 -250806 -250807 -25081982 -25081983 -25081984 -25081985 -25081986 -25081987 -25081988 -25081989 -25081990 -25081991 -25081992 -25081993 -25081994 -25081995 -25082007 -25082529 -25082530 -25082532 -25082533 -25082535 -250829 -250830 -250831 -250832 -250834 -250875 -250878 -250879 -250881 -250883 -250884 -250886 -250887 -250889 -250892 -250893 -250894 -250895 -250896 -250897 -25091979 -25091981 -25091984 -25091985 -25091986 -25091987 -25091988 -25091989 -25091990 -25091991 -25091992 -25091993 -25091994 -25092007 -25092526 -25092531 -25092532 -251003 -251004 -251008 -25101979 -25101980 -25101981 -25101982 -25101983 -25101984 -25101985 -25101986 -25101987 -25101988 -25101989 -25101990 -25101991 -25101992 -25101993 -25101994 -25101995 -25101996 -25102006 -251023 -25102526 -25102527 -25102528 -25102529 -25102531 -25102532 -25102534 -251026 -251027 -251028 -251030 -251031 -251032 -251033 -251038 -251074 -251076 -251077 -251078 -251079 -251080 -251081 -251082 -251083 -251084 -251085 -251086 -251087 -251088 -251089 -251090 -251092 -251093 -251094 -251095 -251096 -251097 -251099 -251104 -251106 -251107 -251108 -25111980 -25111981 -25111982 -25111983 -25111984 -25111985 -25111986 -25111987 -25111988 -25111989 -25111990 -25111993 -25111994 -25112006 -25112007 -25112530 -251130 -251134 -251136 -251139 -251174 -251176 -251178 -251179 -251180 -251183 -251184 -251186 -251187 -251189 -251190 -251193 -251194 -251196 -251197 -251203 -251204 -251207 -251208 -25121969 -25121978 -25121980 -25121981 -25121982 -25121983 -25121984 -25121985 -25121986 -25121987 -25121988 -25121989 -25121990 -25121993 -25121994 -25122004 -25122006 -25122007 -25122530 -251230 -251238 -251270 -251278 -251279 -251280 -251283 -251284 -251286 -251287 -251289 -251290 -251293 -251294 -251296 -251297 -251298 -251300 -25131970 -251327 -25141971 -251508 -25151972 -251600 -25161973 -25171974 -251800 -251819 -25181975 -25182519 -251827 -251830 -25191976 -252018 -25201977 -252031 -25211978 -252130 -25221979 -252307 -252310 -252316 -25231980 -252410 -252417 -252418 -25241981 -25242518 -25251982 -252607 -252610 -252613 -252614 -252618 -25261983 -25262530 -25262728 -252630 -252708 -25271984 -25272530 -252730 -252731 -252789 -252809 -252810 -252816 -252819 -25281985 -25282530 -252830 -252831 -252910 -252913 -252917 -25291986 -25292530 -25292531 -252930 -252931 -253008 -253014 -253016 -253017 -253018 -253019 -25301987 -253021 -25302527 -25302528 -25302529 -25302531 -253027 -253028 -253029 -253031 -253108 -253110 -253116 -253117 -253118 -25311988 -253120 -25312528 -25312529 -253126 -253129 -253219 -25321989 -253316 -25331990 -253400 -253412 -253417 -253418 -25341991 -25351992 -253600 -253614 -25361993 -25371994 -253800 -25381995 -253912 -25391996 -253947 -254789 -254900 -25512008 -256341 -2580456 -258794613 -25deabril -25deagosto -25dediciembre -25deenero -25defebrero -25dejunio -25denoviembre -25deoctubre -25tolife -260104 -260105 -260107 -260108 -260109 -26011985 -26011986 -26011987 -26011988 -26011989 -26011990 -26011991 -26011992 -26011993 -26011994 -26011995 -26011996 -26011998 -26012008 -26012529 -26012532 -260128 -260129 -260130 -260178 -260179 -260180 -260181 -260182 -260183 -260184 -260185 -260186 -260187 -260188 -260189 -260190 -260192 -260193 -260194 -260195 -260196 -26021981 -26021983 -26021984 -26021985 -26021986 -26021987 -26021988 -26021989 -26021990 -26021991 -26021992 -26021993 -26021994 -26021995 -26021997 -26022528 -26022529 -260235 -260279 -260281 -260283 -260284 -260285 -260287 -260289 -260293 -260294 -260295 -260297 -260305 -260307 -260308 -260309 -26031981 -26031982 -26031983 -26031984 -26031985 -26031986 -26031987 -26031988 -26031989 -26031990 -26031991 -26031992 -26031993 -26031994 -26031995 -26031996 -26032528 -260328 -260329 -260371 -260379 -260380 -260381 -260382 -260383 -260384 -260385 -260387 -260388 -260389 -260390 -260392 -260393 -260394 -260395 -260396 -260397 -260399 -260405 -260407 -260408 -26041983 -26041984 -26041985 -26041986 -26041987 -26041988 -26041989 -26041990 -26041991 -26041992 -26041993 -26041994 -26041995 -26041996 -26042531 -26042533 -26042534 -260430 -260431 -260434 -260477 -260479 -260480 -260481 -260482 -260483 -260484 -260485 -260487 -260488 -260489 -260490 -260492 -260493 -260494 -260495 -260496 -260497 -260501 -260503 -260507 -260508 -26051983 -26051984 -26051985 -26051986 -26051987 -26051988 -26051989 -26051990 -26051991 -26051992 -26051993 -26051994 -26051995 -26052529 -26052530 -260529 -260530 -260532 -260534 -260577 -260580 -260581 -260582 -260583 -260584 -260585 -260586 -260588 -260589 -260590 -260592 -260593 -260594 -260595 -260596 -26061980 -26061981 -26061982 -26061983 -26061984 -26061985 -26061986 -26061987 -26061988 -26061989 -26061990 -26061991 -26061992 -26061993 -26061994 -26061995 -26061996 -26062528 -26062529 -26062532 -26062533 -26062534 -260634 -260674 -260679 -260681 -260685 -260687 -260689 -260693 -260694 -260695 -260697 -260698 -260701 -260703 -260704 -260705 -260708 -26071980 -26071982 -26071983 -26071984 -26071985 -26071986 -26071987 -26071988 -26071989 -26071990 -26071991 -26071992 -26071993 -26071994 -26071995 -26071996 -26072529 -26072530 -26072532 -260732 -260733 -260778 -260779 -260780 -260781 -260782 -260783 -260784 -260786 -260787 -260788 -260789 -260790 -260792 -260793 -260794 -260795 -260796 -260797 -260801 -260803 -260804 -260805 -260807 -26081982 -26081983 -26081984 -26081985 -26081986 -26081987 -26081988 -26081989 -26081990 -26081991 -26081992 -26081993 -26081994 -26081995 -26082529 -26082530 -26082532 -26082534 -260830 -260835 -260875 -260877 -260878 -260879 -260881 -260883 -260884 -260885 -260887 -260889 -260892 -260893 -260894 -260895 -260896 -260897 -260901 -260903 -260904 -260905 -260907 -260908 -26091982 -26091983 -26091984 -26091985 -26091986 -26091987 -26091988 -26091989 -26091990 -26091991 -26091992 -26091993 -26091994 -26091995 -26092007 -26092528 -26092529 -260927 -260928 -260930 -260932 -260933 -260974 -260978 -260979 -260980 -260981 -260982 -260983 -260984 -260985 -260986 -260988 -260989 -260993 -260994 -260995 -260997 -261003 -261004 -261005 -261008 -26101977 -26101979 -26101982 -26101983 -26101984 -26101985 -26101986 -26101987 -26101988 -26101989 -26101990 -26101991 -26101992 -26101993 -26101994 -26101995 -26102007 -26102522 -26102525 -26102528 -26102529 -26102531 -26102532 -26102533 -261028 -261030 -261031 -261032 -261033 -261034 -261075 -261077 -261078 -261079 -261080 -261081 -261082 -261083 -261084 -261085 -261086 -261087 -261088 -261089 -261090 -261092 -261093 -261094 -261095 -261096 -261104 -261105 -261107 -26111980 -26111981 -26111982 -26111983 -26111985 -26111986 -26111987 -26111988 -26111989 -26111990 -26111993 -26111994 -26111995 -26112005 -26112007 -26112530 -26112531 -261130 -261134 -261173 -261178 -261179 -261180 -261183 -261184 -261185 -261187 -261189 -261190 -261193 -261194 -261195 -261197 -261203 -261204 -261205 -261207 -261208 -26121978 -26121982 -26121983 -26121984 -26121985 -26121986 -26121987 -26121988 -26121989 -26121990 -26121993 -26121994 -26121995 -26122005 -26122528 -26122529 -26122530 -26122532 -26122534 -261230 -261274 -261278 -261280 -261283 -261284 -261285 -261287 -261289 -261290 -261293 -261294 -261295 -261297 -261419 -261469933 -26241882 -262513 -262518 -262530 -262534 -262710 -263739 -263900 -264352 -264356 -266859 -26deabril -26deagosto -26deenero -26dejunio -270104 -270105 -270106 -270108 -27011983 -27011984 -27011985 -27011986 -27011988 -27011989 -27011990 -27011991 -27011992 -27011993 -27011994 -27011995 -27012006 -27012527 -27012530 -27012531 -27012535 -270129 -270130 -270179 -270180 -270181 -270182 -270183 -270184 -270185 -270186 -270187 -270188 -270189 -270190 -270192 -270193 -270194 -270195 -270196 -270197 -270198 -27021980 -27021983 -27021984 -27021985 -27021986 -27021987 -27021988 -27021989 -27021990 -27021991 -27021992 -27021993 -27021994 -27021995 -27021996 -270235 -270281 -270283 -270284 -270285 -270286 -270289 -270305 -270308 -270309 -27031981 -27031984 -27031985 -27031986 -27031987 -27031988 -27031989 -27031990 -27031991 -27031992 -27031993 -27031994 -27031995 -27031996 -27032526 -27032532 -270328 -270379 -270380 -270381 -270382 -270383 -270384 -270385 -270387 -270388 -270389 -270390 -270392 -270393 -270394 -270395 -270396 -270397 -270398 -270399 -270405 -270406 -270408 -27041981 -27041984 -27041985 -27041986 -27041987 -27041988 -27041989 -27041990 -27041991 -27041992 -27041993 -27041994 -27041995 -27042008 -27042526 -27042533 -27042534 -270426 -270429 -270430 -270433 -270435 -270479 -270480 -270481 -270482 -270483 -270484 -270485 -270487 -270488 -270489 -270490 -270492 -270493 -270494 -270495 -270496 -270497 -270503 -270506 -270508 -27051977 -27051982 -27051984 -27051985 -27051986 -27051987 -27051988 -27051989 -27051990 -27051991 -27051992 -27051993 -27051994 -27051995 -27051996 -27052530 -27052535 -27052536 -270530 -270534 -270579 -270580 -270581 -270582 -270583 -270584 -270585 -270586 -270588 -270589 -270590 -270592 -270593 -270594 -270595 -270596 -270597 -270603 -270604 -270605 -270608 -27061983 -27061984 -27061985 -27061986 -27061987 -27061988 -27061989 -27061990 -27061991 -27061992 -27061994 -27061995 -27062525 -27062530 -270630 -270632 -270634 -270675 -270679 -270680 -270681 -270682 -270685 -270686 -270687 -270688 -270689 -270690 -270692 -270693 -270694 -270695 -270696 -270697 -27071978 -27071980 -27071983 -27071984 -27071985 -27071986 -27071987 -27071988 -27071989 -27071990 -27071991 -27071992 -27071993 -27071994 -27071995 -27071997 -27071998 -27072528 -27072529 -27072531 -270731 -270781 -270783 -270784 -270786 -270789 -270793 -270794 -270795 -270796 -270798 -270803 -270804 -270805 -270806 -27081979 -27081980 -27081982 -27081984 -27081985 -27081986 -27081987 -27081988 -27081989 -27081990 -27081991 -27081992 -27081993 -27081994 -27081995 -27081996 -27082529 -27082530 -27082531 -27082532 -27082533 -270830 -270831 -270832 -270833 -270879 -270881 -270883 -270884 -270885 -270886 -270889 -270892 -270893 -270894 -270895 -270896 -270903 -270904 -270905 -270906 -27091981 -27091982 -27091983 -27091985 -27091986 -27091987 -27091988 -27091989 -27091990 -27091991 -27091992 -27091993 -27091995 -270931 -270932 -270980 -270981 -270982 -270983 -270984 -270985 -270986 -270988 -270989 -270993 -270994 -270995 -270996 -271003 -271004 -271005 -271008 -27101979 -27101980 -27101981 -27101982 -27101983 -27101984 -27101985 -27101986 -27101987 -27101988 -27101989 -27101990 -27101991 -27101992 -27101993 -27101994 -27101995 -271025 -27102528 -27102529 -27102530 -27102531 -27102532 -27102533 -271026 -271028 -271030 -271031 -271032 -271033 -271078 -271079 -271080 -271081 -271082 -271083 -271084 -271085 -271086 -271087 -271088 -271089 -271090 -271092 -271093 -271094 -271095 -271096 -271097 -271099 -271104 -271105 -271106 -271108 -27111978 -27111980 -27111982 -27111983 -27111984 -27111985 -27111986 -27111987 -27111988 -27111989 -27111990 -27111993 -27111994 -27111995 -27112004 -27112529 -27112530 -27112531 -27112532 -271130 -271134 -271169 -271180 -271183 -271184 -271185 -271186 -271189 -271190 -271193 -271194 -271195 -271196 -271203 -271204 -271205 -271208 -27121978 -27121981 -27121982 -27121983 -27121984 -27121985 -27121986 -27121987 -27121988 -27121989 -27121990 -27121993 -27121994 -27121995 -27121996 -27122526 -27122529 -27122532 -27122533 -27122534 -271230 -271235 -271280 -271283 -271284 -271285 -271286 -271289 -271290 -271293 -271294 -271295 -271296 -272513 -272518 -272519 -272530 -272534 -272536 -272639 -27282930 -272830 -273296 -274539 -276653 -27deabril -27deagosto -27defebrero -27dejunio -27deoctubre -280104 -280105 -280106 -280107 -280109 -28011980 -28011983 -28011984 -28011985 -28011986 -28011987 -28011988 -28011989 -28011990 -28011991 -28011992 -28011993 -28011994 -28011995 -28012007 -28012525 -28012528 -280129 -280131 -280174 -280178 -280183 -280184 -280185 -280186 -280187 -280189 -280190 -280192 -280193 -280194 -280195 -280196 -280197 -28021980 -28021983 -28021984 -28021985 -28021986 -28021987 -28021988 -28021989 -28021990 -28021991 -28021992 -28021993 -28021994 -28021995 -28021996 -28022532 -28022534 -280275 -280279 -280293 -280294 -280295 -280296 -280301 -280305 -280307 -28031979 -28031984 -28031985 -28031986 -28031987 -28031988 -28031989 -28031990 -28031991 -28031992 -28031993 -28031994 -28031995 -28031996 -28032531 -28032536 -280329 -280377 -280378 -280379 -280381 -280384 -280385 -280387 -280389 -280390 -280392 -280393 -280394 -280395 -280396 -280398 -280401 -280405 -280406 -280407 -28041979 -28041982 -28041984 -28041985 -28041986 -28041987 -28041988 -28041989 -28041990 -28041991 -28041992 -28041993 -28041994 -28041995 -28041996 -28042006 -28042007 -280429 -280431 -280433 -280477 -280479 -280481 -280483 -280485 -280487 -280489 -280490 -280492 -280493 -280494 -280495 -280496 -280497 -28051984 -28051985 -28051986 -28051987 -28051988 -28051989 -28051990 -28051991 -28051992 -28051993 -28051994 -28051995 -28051996 -28052527 -280601 -280603 -280604 -280605 -280607 -28061980 -28061983 -28061985 -28061986 -28061987 -28061988 -28061989 -28061990 -28061991 -28061992 -28061993 -28061994 -28061996 -28062531 -28062532 -28062534 -280631 -280634 -28064212 -280674 -280675 -280679 -280685 -280687 -280689 -280690 -280692 -280693 -280694 -280695 -280696 -280701 -280703 -280704 -280705 -280706 -28071981 -28071983 -28071984 -28071985 -28071986 -28071987 -28071988 -28071989 -28071990 -28071991 -28071992 -28071993 -28071994 -28071995 -28072531 -28072535 -280729 -280730 -280731 -280779 -280781 -280783 -280784 -280786 -280789 -280790 -280792 -280793 -280794 -280795 -280796 -280797 -28081980 -28081982 -28081983 -28081984 -28081985 -28081986 -28081987 -28081988 -28081989 -28081990 -28081991 -28081992 -28081993 -28081994 -28081995 -28082532 -280831 -280893 -280894 -280895 -280896 -280897 -280901 -280903 -280904 -280905 -280906 -280907 -28091982 -28091983 -28091984 -28091985 -28091986 -28091987 -28091988 -28091989 -28091990 -28091991 -28091992 -28091993 -28091994 -28091995 -28092005 -280924 -28092525 -28092529 -280930 -280931 -280932 -280933 -280977 -280978 -280979 -280981 -280983 -280984 -280985 -280986 -280993 -280994 -280995 -280996 -281003 -281004 -281005 -281016 -28101980 -28101981 -28101982 -28101983 -28101984 -28101985 -28101986 -28101987 -28101988 -28101989 -28101990 -28101991 -28101992 -28101993 -28101994 -28101995 -28102005 -28102006 -281025 -28102524 -28102525 -28102528 -28102530 -28102531 -28102533 -28102535 -281026 -281027 -281030 -281031 -281032 -281034 -281035 -281075 -281077 -281078 -281079 -281083 -281084 -281085 -281086 -281087 -281089 -281090 -281092 -281093 -281094 -281095 -281096 -281097 -281104 -281105 -281106 -281107 -28111983 -28111984 -28111985 -28111986 -28111987 -28111990 -28111993 -28111994 -28111995 -28111996 -28112003 -28112007 -28112524 -28112530 -281130 -281134 -281175 -281176 -281179 -281190 -281193 -281194 -281195 -281196 -281197 -281203 -281204 -281205 -281207 -28121979 -28121980 -28121983 -28121984 -28121985 -28121986 -28121987 -28121990 -28121993 -28121994 -28121995 -28122007 -28122529 -28122532 -28122533 -281230 -281235 -281236 -281237 -281273 -281279 -281290 -281293 -281294 -281295 -281296 -281297 -2813308004 -282519 -282530 -282534 -282930 -284650 -284655 -28deabril -28deagosto -28deenero -28defebrero -28denoviembre -28deoctubre -290104 -290105 -290106 -290107 -290108 -29011981 -29011983 -29011985 -29011986 -29011987 -29011988 -29011989 -29011993 -29011994 -29012528 -29012529 -29012533 -29012534 -290130 -290131 -290134 -290169 -290178 -290180 -290181 -290182 -290183 -290184 -290185 -290186 -290187 -290188 -290189 -290193 -290194 -290195 -290196 -290197 -29021984 -29021988 -290284 -29031980 -29031982 -29031984 -29031985 -29031986 -29031987 -29031988 -29031989 -29031990 -29031991 -29031992 -29031993 -29031994 -29031995 -29032528 -29032529 -29032530 -29032535 -290405 -290406 -290407 -290408 -29041980 -29041983 -29041984 -29041985 -29041986 -29041987 -29041988 -29041989 -29041990 -29041991 -29041992 -29041993 -29041994 -29041995 -29041996 -29042531 -290430 -290431 -290434 -290479 -290480 -290481 -290482 -290483 -290484 -290485 -290487 -290488 -290489 -290493 -290495 -290496 -290497 -290503 -290506 -290507 -290508 -29051984 -29051985 -29051986 -29051987 -29051988 -29051989 -29051990 -29051991 -29051992 -29051993 -29051994 -29051995 -290532 -290533 -290534 -290575 -290577 -290578 -290579 -290580 -290581 -290582 -290583 -290584 -290585 -290586 -290588 -290589 -290593 -290594 -290596 -290597 -290603 -290604 -290605 -290607 -29061983 -29061984 -29061985 -29061986 -29061987 -29061988 -29061989 -29061990 -29061991 -29061992 -29061993 -29061994 -29061995 -29062533 -290632 -290633 -290670 -290676 -290679 -290680 -290681 -290682 -290685 -290686 -290687 -290688 -290689 -290693 -290694 -290695 -290703 -290705 -290706 -290708 -29071981 -29071983 -29071984 -29071985 -29071986 -29071987 -29071988 -29071989 -29071990 -29071991 -29071992 -29071993 -29071994 -29071995 -290730 -290731 -290732 -290735 -290780 -290781 -290782 -290783 -290784 -290786 -290787 -290788 -290789 -290793 -290794 -290795 -290796 -290803 -290804 -290805 -290806 -290807 -29081980 -29081981 -29081983 -29081984 -29081985 -29081986 -29081987 -29081988 -29081989 -29081990 -29081991 -29081992 -29081993 -29081994 -29081995 -29081996 -29082529 -29082532 -29082535 -290831 -290835 -290877 -290878 -290879 -290881 -290883 -290884 -290885 -290886 -290887 -290893 -290894 -290895 -290896 -29091974 -29091983 -29091984 -29091985 -29091986 -29091987 -29091988 -29091989 -29091993 -29091994 -29091995 -29092531 -29092535 -29092536 -290931 -290975 -290978 -290981 -290983 -290984 -290985 -290986 -291003 -291004 -291005 -291016 -29101981 -29101983 -29101984 -29101985 -29101986 -29101987 -29101988 -29101989 -29101993 -29101994 -29101995 -29102005 -29102007 -29102525 -29102528 -29102529 -29102530 -29102532 -291027 -291030 -291031 -291032 -291033 -291034 -291035 -291076 -291077 -291078 -291079 -291080 -291081 -291082 -291083 -291084 -291085 -291086 -291087 -291088 -291089 -291093 -291094 -291095 -291096 -291097 -291104 -291105 -291106 -291107 -29111980 -29111983 -29111984 -29111985 -29111986 -29111987 -29112526 -29112530 -29112531 -29112534 -291130 -291173 -291176 -291178 -291180 -291183 -291184 -291185 -291186 -291187 -291203 -291204 -291205 -291207 -291208 -29121980 -29121983 -29121984 -29121985 -29121986 -29121987 -29122007 -29122530 -29122532 -291230 -291236 -291276 -291278 -291280 -291283 -291284 -291285 -291286 -291287 -292516 -292518 -292530 -292534 -293031 -293036 -2979047cc -299792458 -29deabril -29deagosto -29deenero -29dejunio -29deoctubre -2babyboys -2babygirls -2bad4u -2bad4you -2become1 -2beornot -2beornot2be -2bestfriends -2bigboobs -2blue4u -2blueyes -2boys1girl -2boys4me -2brnot2b -2browneyes -2canplay -2cool4school -2cool4skool -2cool4u -2COOL4U -2cool4you -2cor517 -2crazy4u -2cute1 -2cute2 -2cute4 -2cute4u -2CUTE4U -2cute4ya -2cute4you -2cuteforu -2cutekids -2damnsexy -2dope4u -2dumb2live -2easy4u -2fast2furious -2fast4u -2fast4you -2fine4u -2fly4u -2fresh4u -2getha4eva -2gether4eva -2gether4ever -2girls1boy -2good2be -2good2btru -2good2btrue -2good4u -2good4you -2grandkids -2greeneyes -2gud4u -2havefun -2hot2handle -2hot2touch -2hot2trot -2hot4me -2hot4tv -2hot4u -2hot4u! -2HOT4U -2hot4ya -2hot4you -2hotforu -2hott4u -2jazzy4u -2jordan3 -2kewl4u -2kl4skl -2kool4skool -2kool4u -2kul4u -2kute4u -2livecrew -2love2 -2lovehim -2lovelife -2loveu -2manykids -2minutos -2much2handle -2much4me -2much4u -2much4you -2muchdrama -2muchfun -2muchlove -2muchluv -2muchmoney -2ofakind -2pac4eva -2pac4ever -2pac4life -2pacalypse -2paclives -2pacshakur -2pretty4u -2qt2bstr8 -2real4u -2sexc4u -2sexi4u -2sexxy -2sexy1 -2sexy2 -2sexy4me -2sexy4u -2SEXY4U -2sexy4u2 -2sexy4ya -2sexy4you -2smart4u -2sweet4u -2sweet4you -2sxc4u -2sxy4u -2tall4u -2thick4u -2twokids -2w3e4r -2w3e4r5t -2wsx@WSX -3000512mb -30011984 -30011985 -30011986 -30011987 -30011988 -30011989 -30011992 -30011994 -30011995 -30012529 -30012534 -300179 -300182 -300184 -300185 -300186 -300187 -300189 -300192 -300194 -300195 -300196 -300197 -30031982 -30031984 -30031986 -30031987 -30031988 -30031989 -30031992 -30031994 -30031995 -30041984 -30041985 -30041986 -30041987 -30041988 -30041989 -30041990 -30041991 -30041992 -30041993 -30041994 -30041996 -30042529 -300428 -300476 -300479 -300481 -300482 -300485 -300487 -300489 -300492 -300495 -300496 -300497 -30051979 -30051980 -30051982 -30051984 -30051985 -30051986 -30051987 -30051988 -30051989 -30051990 -30051991 -30051992 -30051994 -300578 -300579 -300581 -300582 -300584 -300586 -300589 -300592 -300594 -300596 -300597 -30061983 -30061984 -30061985 -30061986 -30061987 -30061988 -30061989 -30061990 -30061991 -30061992 -30061993 -30061994 -30061995 -30062528 -30062529 -30062532 -300629 -300675 -300679 -300681 -300682 -300685 -300687 -300689 -300692 -300694 -300695 -300697 -30071981 -30071983 -30071984 -30071985 -30071986 -30071987 -30071988 -30071989 -30071990 -30071991 -30071992 -30071993 -30071994 -30072528 -300728 -300781 -300782 -300784 -300786 -300789 -300792 -300794 -300795 -300796 -30081981 -30081982 -30081984 -30081985 -30081986 -30081987 -30081988 -30081989 -30081990 -30081991 -30081992 -30081993 -30081994 -30081995 -300825 -30082529 -30082532 -300829 -300892 -300894 -300895 -300896 -30091982 -30091984 -30091985 -30091986 -30091987 -30091988 -30091989 -30091992 -30091994 -30091995 -30092534 -300927 -300974 -300978 -300981 -300982 -300984 -300985 -300986 -30101979 -30101980 -30101982 -30101983 -30101984 -30101985 -30101986 -30101988 -30101992 -30101994 -30101995 -30102004 -30102006 -30102527 -30102528 -30102529 -30102530 -30102533 -30102535 -30102536 -30111982 -30111983 -30111984 -30111986 -30111987 -30111988 -30111989 -30111992 -30111994 -30111995 -30112007 -30112524 -30112525 -30112526 -30112533 -30112535 -301204 -301205 -301207 -301208 -301218 -30121980 -30121982 -30121983 -30121984 -30121985 -30121986 -30121988 -30121990 -30121991 -30121992 -30121993 -30121994 -30121995 -30121996 -301224 -30122525 -30122528 -30122530 -30122531 -30122532 -30122535 -301227 -301228 -301229 -301268 -301274 -301275 -301276 -301277 -301278 -301279 -301280 -301281 -301282 -301283 -301284 -301285 -301286 -301287 -301288 -301289 -301290 -301292 -301293 -301294 -301295 -301296 -301299 -302524 -302526 -302527 -302528 -302529 -302798 -3054life -305tilidie -305tillidie -30624700 -30deabril -30deagosto -30deenero -30denoviembre -30deoctubre -30secondstomars -31011980 -31011981 -31011984 -31011985 -31011986 -31011987 -31011988 -31011989 -31011992 -31011994 -31011995 -31012534 -310128 -310175 -310179 -310182 -310184 -310185 -310186 -310187 -310189 -310192 -310194 -310195 -310196 -310197 -310198 -31031980 -31031982 -31031984 -31031985 -31031986 -31031987 -31031988 -31031989 -31031992 -31031994 -31032529 -31032530 -31032533 -310329 -310378 -310379 -310382 -310384 -310385 -310387 -310389 -310392 -310394 -310395 -310396 -310397 -310502 -310506 -310507 -310508 -31051984 -31051985 -31051986 -31051987 -31051988 -31051989 -31051990 -31051991 -31051992 -31051993 -31051994 -31051995 -31052532 -31052533 -31052536 -310534 -310575 -310578 -310579 -310580 -310581 -310582 -310583 -310584 -310585 -310586 -310588 -310589 -310590 -310592 -310593 -310594 -310595 -310596 -310597 -310702 -310704 -310705 -310706 -31071979 -31071984 -31071985 -31071986 -31071987 -31071988 -31071989 -31071990 -31071991 -31071992 -31071993 -31071994 -31071995 -31071996 -310724 -31072530 -310729 -310732 -310734 -310735 -310778 -310779 -310780 -310781 -310782 -310783 -310784 -310786 -310787 -310788 -310789 -310790 -310792 -310793 -310794 -310795 -310796 -310797 -310798 -310802 -310804 -310805 -310806 -310807 -31081982 -31081983 -31081984 -31081985 -31081986 -31081987 -31081988 -31081989 -31081990 -31081991 -31081992 -31081993 -31081994 -31081995 -31081996 -31082007 -31082525 -31082528 -31082529 -31082533 -310827 -310828 -310832 -310837 -310857 -310877 -310879 -310882 -310884 -310885 -310886 -310887 -310889 -310892 -310893 -310894 -310895 -310896 -310897 -31101980 -31101981 -31101983 -31101984 -31101985 -31101986 -31101987 -31101988 -31101989 -31101992 -31101994 -31101995 -31101996 -311025 -31102527 -31102528 -31102529 -31102532 -31102533 -31102534 -311028 -311067 -311069 -311075 -311078 -311079 -311082 -311084 -311085 -311086 -311087 -311089 -311092 -311094 -311095 -311096 -311097 -31121974 -31121979 -31121980 -31121981 -31121982 -31121984 -31121985 -31121986 -31121987 -31121988 -31121989 -31121990 -31121994 -31121995 -31121996 -31122004 -31122006 -31122007 -31122528 -31122530 -311420 -313326339 -3133263393412 -3135134162 -3.141592654 -3.1416 -316497 -317704 -31deagosto -31deenero -31minutos -3214789 -32147896 -3215987 -325698 -326435 -3264352 -326598 -332960073452 -3344520 -3352487 -3393412 -34416912 -34514793 -34erdfcv -3505262 -3571138 -3578951 -357895123 -365214 -365412 -369121518 -3698741 -36987410 -36987412 -369874125 -3705smart -3825968 -3825you -383940 -392817 -3babyboys -3badkids -3blindmice -3boys1girl -3cfe170c -3crazykids -3daysgrace -3doorsdown -3edc#EDC -3girls1boy -3girlz -3grandkids -3greatkids -3kids4me -3lilpigs -3littlepigs -3love3 -3muskateers -3ofakind -3p1c1zzle -3rugrats -3three3 -3threekids -410520 -41149512 -412365 -412563 -4144284312 -4144589 -420169 -420187 -4204ever -4204life -42069420 -4209211 -42162541625 -4227435 -426153 -4390116 -4444four -451200 -451208 -451236 -451278 -45683968 -457812 -461352 -462300 -46650754 -46709394 -46986414 -475107 -4792825 -4802915 -481216 -4815162342 -4815926 -484950 -486257913 -48691412 -4878286 -49erfan -49ersrock -49ersrule -4courtney4 -4elementos -4evaluv -4evaurs -4ever1 -4ever21 -4ever2gether -4everalone -4everandalways -4everandever -4everbabe -4everbaby -4everfriends -4everhis -4everinlove -4everlove -4everloved -4everluv -4evermylove -4evernluv -4evertrue -4everurs -4everyou -4everyoung -4everyours -4four4 -4getmenot -4getyou -4giveme -4got10 -4grandkids -4leafclover -4love4 -4me2know -4me2no -4me2use -4myeyesonly -4ofakind -4piriquitos -4r5t6y -4rockyou -4shizzle -4thekids -4thelove -4thofjuly -4u2nvme -4wheelin -4yourlove -5021314 -504boyz -50centgunit -50firstdates -5101314 -5122530 -515069 -51525354 -51535759 -51552105315 -520131 -5201314 -52013143344 -5201314520 -5203344 -5211314 -521478963 -5254143 -525414344 -52545658 -52545856 -525487 -526341 -527462 -528437 -5287462 -529766 -52hoova -52sky17 -5300block -5301314 -53638332 -53664337 -5377422 -541236 -54585652 -547789 -55255630 -55378008 -5566123 -5566183 -5566778899 -562389 -563214 -564789 -5649335 -56628426 -5678dance -5683love -5688722 -568923 -56red56 -573707p -57515953 -575-910-0071 -57595153 -584520 -5845201314 -5845211314 -58545256 -58565254 -589632147 -5estrellas -5five5 -5grandkids -5mentarios -5minutos -5pointstar -5sentidos -5t6y7u8i -615243 -618920 -62325462 -624153 -624715380 -626835 -6277930 -627846 -628400 -6288439 -632541 -6345789 -635472 -6354772 -6424235 -64243553 -644835 -6541230 -671164796 -681428 -68iou1 -69203741 -6942069 -69allthetime -69isfine -69mebaby -69sexy69 -6cyclemind -6droppin -6feetunder -6grandkids -6pointstar -6voltios -709394 -7116544 -713htown -7142128 -714825936 -71772147321 -718293 -722435 -724zgh110 -726352 -726835 -72779673 -729264 -739182465 -74108520963. -741085209630 -7410852963 -7412365 -74123698 -741236985 -741236987 -741456963 -7415369 -7415953 -7415963 -742141189 -7422736 -742617000027 -745896 -7465386 -746997643 -7530159 -753159852456 -7532147 -7532159 -753951456852 -7539518246 -7539518426 -753951852456 -761028 -761349 -762378 -766253 -76qq309 -7708801314520 -77462377 -7758521 -7788250 -7788994455 -781024 -784512 -7845120 -78451296 -784512963 -784533 -784569 -784596 -786110 -789451 -78946123 -789510 -789512 -7895123 -78951230 -789512357 -78951236 -789520 -789521 -7895214 -789523 -789551 -78963214 -789632147 -7898520 -7898521 -790501 -791008 -791023 -791106 -791346 -791350 -791355 -79138246 -794613 -7946130 -794613258 -7946135 -794613852 -7946138520 -795130 -798465 -798465132 -7f4df451 -7jesus7 -7love7 -7ronaldo7 -7veces7 -80048821 -8008135 -80087355 -800925 -801023 -801025 -801216 -810126 -810225 -810506 -810530 -810623 -810728 -810927 -810928 -811025 -811026 -811027 -8162432 -81726354 -8194000 -820104 -820116 -820311 -820316 -820324 -820326 -820410 -820418 -820430 -820509 -820612 -820614 -820619 -820624 -820630 -820715 -820717 -820726 -820729 -820730 -820816 -820817 -820912 -820914 -820917 -820918 -820919 -820921 -820924 -820925 -821005 -821009 -821013 -821014 -821015 -821016 -821017 -821019 -821023 -821024 -821025 -821030 -821031 -821104 -821105 -821106 -821107 -821130 -821205 -821207 -821230 -824650 -824655 -824657913 -82469173 -8263772 -82891lam -830106 -830107 -830117 -830206 -830209 -830215 -830217 -830317 -830329 -830406 -830412 -830414 -830415 -830416 -830421 -830423 -830424 -830506 -830512 -830514 -830515 -830518 -830521 -830526 -830527 -830604 -830611 -830612 -830616 -830622 -830623 -830627 -830628 -830629 -830706 -830709 -830711 -830712 -830716 -830725 -830731 -830817 -830824 -830902 -830904 -830907 -830915 -830916 -830918 -830920 -830923 -830925 -830928 -830929 -831004 -831005 -831009 -831014 -831015 -831017 -831019 -831024 -831025 -831026 -831027 -831028 -831104 -831105 -831106 -831107 -831109 -831120 -831124 -831125 -831129 -831201 -831202 -831203 -831207 -831208 -831216 -831217 -831219 -831220 -831226 -831227 -831229 -831230 -837829318 -840117 -840121 -840124 -840125 -840126 -840128 -840130 -840131 -840205 -840207 -840214 -840216 -840218 -840221 -840301 -840310 -840315 -840316 -840317 -840319 -840322 -840324 -840325 -840326 -840327 -840415 -840416 -840417 -840425 -840426 -840501 -840506 -840509 -840510 -840512 -840513 -840514 -840517 -840519 -840520 -840521 -840522 -840523 -840524 -840527 -840528 -840529 -840601 -840609 -840611 -840612 -840617 -840619 -840620 -840621 -840622 -840626 -840629 -840702 -840710 -840713 -840715 -840723 -840725 -840728 -840729 -840730 -840731 -840812 -840815 -840817 -840823 -840825 -840827 -840831 -840901 -840902 -840903 -840905 -840906 -840912 -840913 -840914 -840915 -840916 -840918 -840920 -840922 -840923 -840924 -840926 -840927 -840929 -840930 -842657913 -84269713 -842867 -8433269 -845620 -846900 -850104 -850106 -850107 -850109 -850113 -850114 -850116 -850120 -850121 -850122 -850124 -850125 -850128 -850129 -850130 -850131 -850203 -850206 -850207 -850209 -850212 -850214 -850215 -850217 -850218 -850226 -850227 -850301 -850302 -850307 -850309 -850311 -850313 -850315 -850316 -850317 -850318 -850319 -850320 -850322 -850323 -850324 -850325 -850326 -850327 -850328 -850401 -850402 -850406 -850407 -850409 -850410 -850411 -850412 -850417 -850418 -850419 -850420 -850421 -850422 -850423 -850424 -850425 -850426 -850427 -850428 -850429 -850430 -850512 -850513 -850514 -850516 -850517 -850521 -850523 -850524 -850526 -850527 -850529 -850601 -850602 -850603 -850604 -850607 -850609 -850611 -850612 -850613 -850614 -850615 -850616 -850617 -850618 -850619 -850620 -850621 -850622 -850624 -850625 -850626 -850627 -850628 -850629 -850630 -850701 -850703 -850710 -850712 -850714 -850715 -850716 -850717 -850718 -850719 -850720 -850723 -850724 -850725 -850726 -850728 -850730 -850812 -850813 -850816 -850817 -850821 -850823 -850824 -850826 -850829 -850831 -850901 -850902 -850904 -850906 -850907 -850910 -850912 -850913 -850914 -850915 -850917 -850918 -850919 -850920 -850921 -850922 -850923 -850924 -850925 -850927 -850928 -850929 -850930 -851003 -851004 -851009 -851013 -851014 -851016 -851017 -851019 -851021 -851023 -851024 -851025 -851026 -851027 -851028 -851030 -851031 -851102 -851104 -851106 -851107 -851109 -851120 -851124 -851126 -851129 -851130 -851201 -851202 -851203 -851204 -851205 -851207 -851208 -851216 -851217 -851219 -851220 -851223 -851224 -851226 -851227 -851229 -851230 -8520456 -85207410 -852456753951 -8524567913 -852456852456 -852456951753 -854712 -860104 -860105 -860107 -860109 -860113 -860114 -860117 -860120 -860121 -860122 -860124 -860125 -860126 -860128 -860129 -860130 -860131 -860203 -860204 -860205 -860207 -860209 -860212 -860214 -860215 -860217 -860218 -860219 -860221 -860223 -860224 -860225 -860227 -860301 -860302 -860305 -860307 -860309 -860310 -860311 -860313 -860316 -860317 -860318 -860319 -860320 -860322 -860323 -860324 -860325 -860326 -860327 -860328 -860329 -860401 -860402 -860405 -860407 -860409 -860410 -860411 -860412 -860414 -860415 -860416 -860417 -860418 -860419 -860420 -860421 -860422 -860423 -860424 -860425 -860426 -860427 -860428 -860429 -860430 -860501 -860502 -860503 -860507 -860509 -860510 -860512 -860513 -860514 -860515 -860516 -860517 -860518 -860519 -860520 -860521 -860522 -860524 -860525 -860526 -860527 -860528 -860529 -860530 -860612 -860613 -860614 -860615 -860617 -860619 -860621 -860623 -860624 -860625 -860627 -860629 -860701 -860702 -860703 -860704 -860705 -860709 -860710 -860711 -860712 -860713 -860714 -860715 -860716 -860717 -860718 -860719 -860723 -860724 -860725 -860726 -860728 -860729 -860730 -860731 -860812 -860813 -860814 -860815 -860817 -860819 -860821 -860823 -860825 -860827 -860829 -860831 -860901 -860902 -860903 -860904 -860905 -860907 -860910 -860912 -860913 -860914 -860915 -860916 -860918 -860919 -860920 -860922 -860923 -860924 -860925 -860926 -860927 -860928 -860929 -860930 -861003 -861004 -861005 -861009 -861013 -861014 -861015 -861017 -861019 -861021 -861023 -861024 -861025 -861026 -861027 -861028 -861030 -861031 -861102 -861104 -861105 -861107 -861109 -861120 -861124 -861125 -861129 -861130 -861201 -861202 -861203 -861204 -861205 -861207 -861208 -861217 -861219 -861220 -861223 -861224 -861227 -861229 -861230 -870104 -870105 -870106 -870109 -870113 -870114 -870116 -870120 -870121 -870122 -870124 -870125 -870126 -870128 -870129 -870130 -870131 -870203 -870204 -870205 -870206 -870209 -870212 -870214 -870215 -870216 -870218 -870219 -870221 -870223 -870224 -870225 -870226 -870301 -870302 -870305 -870309 -870310 -870311 -870313 -870315 -870316 -870317 -870318 -870319 -870320 -870322 -870323 -870324 -870325 -870326 -870327 -870328 -870329 -870401 -870402 -870405 -870406 -870409 -870410 -870411 -870412 -870414 -870415 -870416 -870417 -870418 -870419 -870420 -870421 -870422 -870423 -870424 -870425 -870426 -870427 -870428 -870429 -870430 -870501 -870502 -870503 -870506 -870509 -870510 -870512 -870513 -870514 -870515 -870516 -870517 -870518 -870519 -870520 -870521 -870522 -870523 -870524 -870525 -870526 -870527 -870528 -870529 -870530 -870601 -870602 -870603 -870604 -870605 -870609 -870611 -870612 -870613 -870614 -870615 -870616 -870617 -870618 -870619 -870620 -870621 -870621345 -870622 -870623 -870624 -870625 -870626 -870627 -870628 -870629 -870630 -870712 -870713 -870714 -870715 -870716 -870719 -870723 -870724 -870725 -870726 -870729 -870731 -870813 -870814 -870815 -870816 -870819 -870821 -870823 -870824 -870825 -870826 -870829 -870831 -870901 -870902 -870903 -870904 -870905 -870906 -870910 -870912 -870913 -870914 -870915 -870916 -870917 -870918 -870919 -870920 -870921 -870922 -870923 -870924 -870925 -870926 -870927 -870928 -870929 -870930 -871003 -871004 -871005 -871009 -871013 -871014 -871015 -871016 -871019 -871021 -871023 -871024 -871025 -871026 -871027 -871028 -871030 -871031 -871102 -871104 -871105 -871106 -871109 -871120 -871124 -871125 -871126 -871129 -871130 -871201 -871202 -871203 -871204 -871205 -871207 -871208 -871216 -871219 -871220 -871223 -871224 -871226 -871229 -871230 -875421 -879546213 -880124 -880125 -880126 -880129 -880214 -880215 -880216 -880217 -880219 -880315 -880316 -880317 -880319 -880324 -880325 -880326 -880327 -880329 -880412 -880415 -880416 -880419 -880421 -880423 -880425 -880426 -880427 -880429 -880512 -880513 -880514 -880516 -880517 -880519 -880521 -880523 -880524 -880526 -880527 -880529 -880612 -880613 -880614 -880615 -880617 -880619 -880621 -880623 -880624 -880625 -880627 -880629 -880712 -880713 -880714 -880715 -880716 -880719 -880723 -880724 -880725 -880726 -880729 -880731 -880912 -880913 -880914 -880915 -880916 -880917 -880921 -880923 -880924 -880925 -880926 -880927 -881023 -881024 -881025 -881026 -881027 -881203 -881204 -881205 -881207 -881230 -88dalejr -891003 -891004 -891005 -891013 -891014 -891015 -891016 -891017 -891021 -891023 -891024 -891025 -891026 -891027 -891028 -891030 -891031 -891102 -891104 -891105 -891106 -891107 -891120 -891124 -891125 -891126 -891130 -891201 -891202 -891203 -891204 -891205 -891207 -891208 -891216 -891217 -891220 -891223 -891224 -891226 -891227 -891230 -891707 -894523 -895623 -89631139 -896523 -8eight8 -8gerrard8 -8;k,iyd -8;k,]y[ -8love8 -8nicole8 -8oojkiyd -8simplerules -8star8 -900124 -900125 -900126 -900128 -900315 -900316 -900317 -900318 -900324 -900325 -900326 -900327 -900328 -900412 -900415 -900416 -900417 -900418 -900421 -900423 -900425 -900426 -900427 -900428 -900512 -900514 -900516 -900517 -900518 -900521 -900523 -900524 -900526 -900527 -900528 -900612 -900613 -900614 -900615 -900617 -900621 -900623 -900624 -900625 -900627 -900628 -900712 -900713 -900714 -900715 -900716 -900718 -900723 -900724 -900725 -900726 -900728 -900731 -900812 -900814 -900815 -900816 -900817 -900821 -900823 -900824 -900825 -900826 -900827 -900831 -901023 -901024 -901025 -901026 -901027 -901028 -901124 -901125 -901126 -901128 -901203 -901204 -901205 -901207 -901208 -901216 -901217 -901218 -901223 -901224 -901226 -901227 -901228 -901230 -90807060 -910124 -910125 -910126 -910128 -910203 -910204 -910205 -910206 -910207 -910214 -910215 -910216 -910217 -910218 -910225 -910226 -910227 -910228 -910305 -910316 -910317 -910318 -910320 -910322 -910324 -910325 -910326 -910327 -910328 -910329 -910402 -910405 -910406 -910407 -910408 -910412 -910415 -910416 -910417 -910418 -910420 -910421 -910423 -910424 -910425 -910426 -910427 -910428 -910429 -910430 -910503 -910506 -910507 -910508 -910513 -910514 -910516 -910517 -910518 -910520 -910521 -910522 -910523 -910524 -910526 -910527 -910528 -910529 -910530 -910602 -910603 -910604 -910605 -910607 -910608 -910612 -910613 -910614 -910615 -910617 -910618 -910620 -910621 -910623 -910624 -910625 -910626 -910627 -910628 -910630 -910702 -910705 -910708 -910712 -910713 -910714 -910715 -910716 -910718 -910720 -910723 -910724 -910726 -910728 -910730 -910731 -910802 -910803 -910804 -910806 -910807 -910812 -910813 -910814 -910815 -910816 -910817 -910820 -910821 -910822 -910823 -910825 -910826 -910827 -910829 -910831 -910923 -910924 -910925 -910926 -910928 -9110024 -917156628103 -918273 -918273645 -9182736455 -91929394 -91992189327 -920214 -920215 -920216 -920217 -920218 -920301 -920305 -920307 -920310 -920311 -920313 -920315 -920316 -920317 -920318 -920319 -920324 -920327 -920328 -920401 -920406 -920407 -920408 -920410 -920411 -920414 -920415 -920416 -920417 -920418 -920419 -920423 -920425 -920426 -920427 -920428 -920503 -920507 -920510 -920512 -920513 -920514 -920515 -920516 -920517 -920518 -920519 -920521 -920523 -920526 -920527 -920528 -920530 -920601 -920603 -920605 -920607 -920608 -920611 -920612 -920613 -920614 -920616 -920618 -920619 -920623 -920625 -920627 -920628 -920630 -920701 -920703 -920705 -920710 -920712 -920714 -920718 -920731 -920801 -920803 -920804 -920807 -920810 -920811 -920812 -920813 -920814 -920815 -920816 -920821 -920824 -920825 -920827 -920830 -920831 -920914 -920916 -920917 -920918 -921003 -921004 -921008 -921013 -921014 -921015 -921016 -921017 -921018 -921023 -921024 -921025 -921026 -921027 -921028 -921030 -921031 -921104 -921105 -921106 -921107 -921108 -921130 -921204 -921205 -921230 -92631043 -92702689 -930104 -930105 -930106 -930107 -930114 -930116 -930118 -930120 -930121 -930126 -930128 -930129 -930205 -930206 -930207 -930215 -930216 -930218 -930219 -930221 -930224 -930226 -930228 -930315 -930325 -930326 -930407 -930410 -930411 -930412 -930416 -930420 -930421 -930423 -930424 -930429 -930506 -930510 -930512 -930513 -930514 -930517 -930518 -930521 -930522 -930524 -930525 -930526 -930527 -930528 -930529 -930602 -930604 -930605 -930607 -930608 -930611 -930615 -930616 -930622 -930623 -930625 -930628 -930704 -930706 -930708 -930710 -930712 -930713 -930715 -930718 -930719 -930726 -930728 -930729 -930801 -930802 -930804 -930805 -930810 -930811 -930816 -930821 -930822 -930823 -930824 -930826 -930827 -930828 -930831 -930912 -930915 -930917 -931004 -931008 -931015 -931018 -931021 -931023 -931024 -931025 -931026 -931027 -931102 -931104 -931105 -931106 -931120 -931124 -931128 -931201 -931202 -931203 -931204 -931205 -931207 -931216 -931217 -931218 -931220 -931224 -931227 -931228 -931230 -940105 -940108 -940113 -940118 -940121 -940126 -940214 -940215 -940216 -940217 -940226 -940305 -940316 -940318 -940319 -940325 -940329 -940417 -940502 -940503 -940506 -940512 -940513 -940517 -940521 -940528 -940529 -940530 -940605 -940615 -940618 -940708 -940711 -940716 -940717 -940723 -940728 -940803 -940812 -940827 -940921 -941003 -941005 -941021 -941023 -941024 -941025 -941028 -941030 -941031 -941107 -941108 -941130 -941203 -941208 -941220 -941223 -941230 -9455426 -950117 -950122 -950228 -950308 -950411 -950612 -950620 -950629 -950717 -950724 -950824 -9512357 -951753456852 -9517538426 -951753852456 -951753951753 -953751 -960423 -960927 -961102 -96321478 -963214785 -963214789 -9632587410 -9635741 -968431187 -976431 -976431852 -978645312 -98188729 -985632 -986532 -986753421 -987412 -9874123 -98741236 -9874561 -9874563 -9875321 -994769487 -9988776655 -99redballoons -9i8u7y6t -9inchnails -9v3tf58t71ty -9y;g]Hd -9ziliarow -a100493 -a123b456 -a12b34 -a1a2a3a4 -a1a2a3a4a5 -a1a2a3a4a5a6 -a1e2i3o4u5 -a1l2e3x4 -a1n2a3 -a1n2g3e4l5 -a3eilm2s2y -a5201314 -a7x4life -aabbccddee -aaron4ever -aaron4life -aaronbaby -aaroncarter -aaroncito -aarondiaz -aaronjames -aaronjohn -aaronlewis -aaronlove -aaronlover -aaronpaul -aaronsgirl -aaronteamo -ab12cd34 -abangsayang -abarquez -abbafather -abbagail -abbapadre -abbeygirl -abbeyroad -abbiegail -abbielouise -abbigail -abbigail1 -abbigale -abby2001 -abby2002 -abby2004 -abby2005 -abby2006 -abby2007 -abby2008 -abbycat1 -abbycute -abbydog1 -abbygail -abbygale -abbygirl -abbygirl1 -abbylynn -abbyrocks -abceasyas123 -abcezas123 -abdirahman -abdulkadir -abejamaya -abelhinha -abellanosa -abelteamo -aberdare -aberdeen1903 -abersoch -abhilash -abigayle1 -abiteamo -abrahamteamo -abramburica -abrenica -abretesesamo -abril2007 -abrunhosa -abturluv -abubacar -abuelita1 -abuelitos -aceofspades -aceraspire -acerview -acesand8s -acesandeights -aceshigh -acidburn -acidpops -acidtrip -acmilan22 -acorralada -activision -acuerdate -acurarsx1 -adam2000 -adam2002 -adam2004 -adam2005 -adam2006 -adam2007 -adam2008 -adam2009 -adam2326 -adam4eva -adam4ever -adam4life -adamandeve -adambaby -adambrody -adambrody1 -adamgarcia -adamiscool -adamissexy -adamlazzara -adamlevine -adamlove -adamlover -adamlover1 -adamsandler -adamsgirl -adamsgirl1 -adanteamo -adanyeva -adedeji -adelapopescu -adelinutza -adelutza -adevarat -adewunmi -adgjmptw -adidasnike -adikmode -adinutza -adiosamor -adivinha -adolfhitler -adorkable -adorotemuito -adrianalima -adrianateamo -adriancito -adrianmutu -adriansito -adrianteamo -adrijana -adriteamo -adventchildren -adynutza -aeiou12345 -aeiouaeiou -aekara21 -aerlingus -aeromexico -af1892 -afc4eva -aferdita -afg4life -afganisme -afireinside -afonsinho -africanqueen -afrodisiac -afterdark -agapelove -agbdlcid -agentorange -agentzero -ageofempire -ageofempires -aggiegirl -aggroberlin -agnesmonica -agosto1986 -aguafria -ahnjaewook - Date: Wed, 3 Feb 2016 18:12:09 +0000 Subject: [PATCH 36/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 15aec8b..eb7c56c 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -219,6 +219,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 2.9.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Fri Oct 23 2015 Tomáš Mráz - 2.9.6-1 - new upstream release - cleanup of the word lists From aff542331c9e59e5973d0a91bb91946afff954df Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 19 Jul 2016 06:50:28 +0000 Subject: [PATCH 37/85] - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index eb7c56c..cf8ba09 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -219,6 +219,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Tue Jul 19 2016 Fedora Release Engineering - 2.9.6-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + * Wed Feb 03 2016 Fedora Release Engineering - 2.9.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 345a730d4538bde4b6d47348adc6dd294ccdf098 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 8 Dec 2016 18:09:03 +0100 Subject: [PATCH 38/85] fix CVE-2016-6318 - avoid overflows in GECOS handling and mangling password (#1364944) --- cracklib-2.9.6-cve-2016-6318.patch | 144 +++++++++++++++++++++++++++++ cracklib.spec | 7 +- 2 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 cracklib-2.9.6-cve-2016-6318.patch diff --git a/cracklib-2.9.6-cve-2016-6318.patch b/cracklib-2.9.6-cve-2016-6318.patch new file mode 100644 index 0000000..370b403 --- /dev/null +++ b/cracklib-2.9.6-cve-2016-6318.patch @@ -0,0 +1,144 @@ +diff -up cracklib-2.9.6/lib/fascist.c.overflow cracklib-2.9.6/lib/fascist.c +--- cracklib-2.9.6/lib/fascist.c.overflow 2015-10-23 16:58:38.403319225 +0200 ++++ cracklib-2.9.6/lib/fascist.c 2016-12-08 17:28:41.490101358 +0100 +@@ -515,7 +515,7 @@ FascistGecosUser(char *password, const c + char gbuffer[STRINGSIZE]; + char tbuffer[STRINGSIZE]; + char *uwords[STRINGSIZE]; +- char longbuffer[STRINGSIZE * 2]; ++ char longbuffer[STRINGSIZE]; + + if (gecos == NULL) + gecos = ""; +@@ -596,38 +596,47 @@ FascistGecosUser(char *password, const c + { + for (i = 0; i < j; i++) + { +- strcpy(longbuffer, uwords[i]); +- strcat(longbuffer, uwords[j]); +- +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE) + { +- return _("it is derived from your password entry"); +- } +- +- strcpy(longbuffer, uwords[j]); +- strcat(longbuffer, uwords[i]); ++ strcpy(longbuffer, uwords[i]); ++ strcat(longbuffer, uwords[j]); + +- if (GTry(longbuffer, password)) +- { +- return _("it's derived from your password entry"); ++ if (GTry(longbuffer, password)) ++ { ++ return _("it is derived from your password entry"); ++ } ++ ++ strcpy(longbuffer, uwords[j]); ++ strcat(longbuffer, uwords[i]); ++ ++ if (GTry(longbuffer, password)) ++ { ++ return _("it's derived from your password entry"); ++ } + } + +- longbuffer[0] = uwords[i][0]; +- longbuffer[1] = '\0'; +- strcat(longbuffer, uwords[j]); +- +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[j]) < STRINGSIZE - 1) + { +- return _("it is derivable from your password entry"); ++ longbuffer[0] = uwords[i][0]; ++ longbuffer[1] = '\0'; ++ strcat(longbuffer, uwords[j]); ++ ++ if (GTry(longbuffer, password)) ++ { ++ return _("it is derivable from your password entry"); ++ } + } + +- longbuffer[0] = uwords[j][0]; +- longbuffer[1] = '\0'; +- strcat(longbuffer, uwords[i]); +- +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[i]) < STRINGSIZE - 1) + { +- return _("it's derivable from your password entry"); ++ longbuffer[0] = uwords[j][0]; ++ longbuffer[1] = '\0'; ++ strcat(longbuffer, uwords[i]); ++ ++ if (GTry(longbuffer, password)) ++ { ++ return _("it's derivable from your password entry"); ++ } + } + } + } +diff -up cracklib-2.9.6/lib/rules.c.overflow cracklib-2.9.6/lib/rules.c +--- cracklib-2.9.6/lib/rules.c.overflow 2015-10-23 16:58:38.000000000 +0200 ++++ cracklib-2.9.6/lib/rules.c 2016-12-08 18:03:27.041941297 +0100 +@@ -158,6 +158,8 @@ Pluralise(string, area) /* returns a po + register int length; + length = strlen(string); + strcpy(area, string); ++ if (length > STRINGSIZE - 3) /* we add 2 characters at worst */ ++ return (area); + + if (!Suffix(string, "ch") || + !Suffix(string, "ex") || +@@ -462,11 +464,11 @@ Mangle(input, control, area) /* returns + Pluralise(area2, area); + break; + case RULE_REFLECT: +- strcat(area, Reverse(area, area2)); ++ strncat(area, Reverse(area, area2), STRINGSIZE - strlen(area) - 1); + break; + case RULE_DUPLICATE: + strcpy(area2, area); +- strcat(area, area2); ++ strncat(area, area2, STRINGSIZE - strlen(area) - 1); + break; + case RULE_GT: + if (!ptr[1]) +@@ -514,7 +516,8 @@ Mangle(input, control, area) /* returns + } else + { + area2[0] = *(++ptr); +- strcpy(area2 + 1, area); ++ strncpy(area2 + 1, area, STRINGSIZE - 2); ++ area2[STRINGSIZE - 1] = '\0'; + strcpy(area, area2); + } + break; +@@ -528,8 +531,10 @@ Mangle(input, control, area) /* returns + register char *string; + string = area; + while (*(string++)); +- string[-1] = *(++ptr); +- *string = '\0'; ++ if (string < area + STRINGSIZE) { ++ string[-1] = *(++ptr); ++ *string = '\0'; ++ } + } + break; + case RULE_EXTRACT: +@@ -600,6 +605,10 @@ Mangle(input, control, area) /* returns + } + p1 = area; + p2 = area2; ++ if (strlen(p1) > STRINGSIZE - 2) { ++ /* truncate */ ++ p1[STRINGSIZE - 2] = '\0'; ++ } + while (i && *p1) + { + i--; diff --git a/cracklib.spec b/cracklib.spec index cf8ba09..6fbadac 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 3%{?dist} +Release: 4%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -25,6 +25,7 @@ Patch2: cracklib-2.9.0-python-gzdicts.patch Patch4: cracklib-2.9.6-packlib-reentrant.patch Patch6: cracklib-2.9.6-simplistic.patch Patch7: cracklib-2.9.6-translation-updates.patch +Patch8: cracklib-2.9.6-cve-2016-6318.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -97,6 +98,7 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch4 -p1 -b .reentrant %patch6 -p1 -b .simplistic %patch7 -p1 -b .translations +%patch8 -p1 -b .overflow mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE1} @@ -219,6 +221,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Thu Dec 8 2016 Fedora Release Engineering - 2.9.6-4 +- fix CVE-2016-6318 - avoid overflows in GECOS handling and mangling password (#1364944) + * Tue Jul 19 2016 Fedora Release Engineering - 2.9.6-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages From 2edb3e61e337926a92d56ffe84bd8cdb0f625586 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 07:57:53 +0000 Subject: [PATCH 39/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 6fbadac..1a3d9f7 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 4%{?dist} +Release: 5%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -221,6 +221,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 2.9.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Thu Dec 8 2016 Fedora Release Engineering - 2.9.6-4 - fix CVE-2016-6318 - avoid overflows in GECOS handling and mangling password (#1364944) From f1a74a691bfacf1bae96737283fa1781b45523bc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 05:36:59 +0000 Subject: [PATCH 40/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 1a3d9f7..2ed2e83 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 5%{?dist} +Release: 6%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -221,6 +221,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 2.9.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Fri Feb 10 2017 Fedora Release Engineering - 2.9.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 0b46647a95de12e990c22c41bc51a42d0349242b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 19:15:12 +0000 Subject: [PATCH 41/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 2ed2e83..7b4adb5 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 6%{?dist} +Release: 7%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -221,6 +221,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 2.9.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 2.9.6-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 31ac5ac711432d1f936f403c3bd1dc1a4416a497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 19 Aug 2017 09:38:10 -0400 Subject: [PATCH 42/85] Python 2 binary package renamed to python2-cracklib --- cracklib.spec | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 7b4adb5..f550c4a 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 7%{?dist} +Release: 8%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -63,12 +63,16 @@ Requires: %{name} = %{version}-%{release} The cracklib-devel package contains the header files and libraries needed for compiling applications which use cracklib. -%package python +%package -n python2-cracklib +%{?python_provide:%python_provide python2-cracklib} +# Remove before F30 +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python < %{version}-%{release} Summary: Python bindings for applications which use cracklib Group: Development/Libraries Requires: %{name} = %{version}-%{release} -%description python +%description -n python2-cracklib The cracklib-python package contains a module which permits applications written in the Python programming language to use cracklib. @@ -215,12 +219,16 @@ EOF %{_sbindir}/mkdict %{_sbindir}/packer -%files python +%files -n python2-cracklib %defattr(-,root,root) %{_libdir}/python*/site-packages/_cracklib*.so %{_libdir}/python*/site-packages/*.py* %changelog +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 2.9.6-8 +- Python 2 binary package renamed to python2-cracklib + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + * Wed Aug 02 2017 Fedora Release Engineering - 2.9.6-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From bd8f1f551064565f58887a416050c6bf26acda01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 20 Aug 2017 09:23:26 -0400 Subject: [PATCH 43/85] Add Provides for the old name without %_isa --- cracklib.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index f550c4a..2dff3f7 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 8%{?dist} +Release: 9%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -64,13 +64,14 @@ The cracklib-devel package contains the header files and libraries needed for compiling applications which use cracklib. %package -n python2-cracklib -%{?python_provide:%python_provide python2-cracklib} -# Remove before F30 -Provides: %{name}-python%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-python < %{version}-%{release} Summary: Python bindings for applications which use cracklib Group: Development/Libraries Requires: %{name} = %{version}-%{release} +%{?python_provide:%python_provide python2-cracklib} +# Remove before F30 +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python < %{version}-%{release} %description -n python2-cracklib The cracklib-python package contains a module which permits applications @@ -225,6 +226,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 2.9.6-9 +- Add Provides for the old name without %%_isa + * Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 2.9.6-8 - Python 2 binary package renamed to python2-cracklib See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 From 96682a090d867c2cc83364ef15a657d7afa98b44 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Tue, 17 Oct 2017 15:01:06 +0000 Subject: [PATCH 44/85] Add CI tests using the standard test interface Adds tests according to the CI wiki [0] specifically the standard test interface in the spec [1]. [0]: https://fedoraproject.org/wiki/CI [1]: https://fedoraproject.org/wiki/Changes/InvokingTests --- tests/ABI-compatibility/Makefile | 64 +++++++++++++++ tests/ABI-compatibility/PURPOSE | 3 + tests/ABI-compatibility/runtest.sh | 81 +++++++++++++++++++ tests/Localization/Makefile | 63 +++++++++++++++ tests/Localization/PURPOSE | 3 + tests/Localization/runtest.sh | 125 +++++++++++++++++++++++++++++ tests/inventory | 3 + tests/tests.yml | 25 ++++++ 8 files changed, 367 insertions(+) create mode 100644 tests/ABI-compatibility/Makefile create mode 100644 tests/ABI-compatibility/PURPOSE create mode 100755 tests/ABI-compatibility/runtest.sh create mode 100644 tests/Localization/Makefile create mode 100644 tests/Localization/PURPOSE create mode 100755 tests/Localization/runtest.sh create mode 100755 tests/inventory create mode 100644 tests/tests.yml diff --git a/tests/ABI-compatibility/Makefile b/tests/ABI-compatibility/Makefile new file mode 100644 index 0000000..964c3e5 --- /dev/null +++ b/tests/ABI-compatibility/Makefile @@ -0,0 +1,64 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/cracklib/Sanity/ABI-compatibility +# Description: Test if the ABI hasn't changed +# Author: Hubert Kario +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2013 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/CoreOS/cracklib/Sanity/ABI-compatibility +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Hubert Kario " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: Test if the ABI hasn't changed" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 5m" >> $(METADATA) + @echo "RunFor: cracklib" >> $(METADATA) + @echo "Requires: cracklib cracklib-devel gcc words ltrace" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + @echo "Releases: -RHEL3 -RHEL4" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/ABI-compatibility/PURPOSE b/tests/ABI-compatibility/PURPOSE new file mode 100644 index 0000000..f256265 --- /dev/null +++ b/tests/ABI-compatibility/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /CoreOS/cracklib/Sanity/ABI-compatibility +Description: Test if the ABI hasn't changed +Author: Hubert Kario diff --git a/tests/ABI-compatibility/runtest.sh b/tests/ABI-compatibility/runtest.sh new file mode 100755 index 0000000..58f6400 --- /dev/null +++ b/tests/ABI-compatibility/runtest.sh @@ -0,0 +1,81 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/cracklib/Sanity/ABI-compatibility +# Description: Test if the ABI hasn't changed +# Author: Hubert Kario +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2013 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/bin/rhts-environment.sh || exit 1 +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="cracklib" + +if rlIsRHEL 5; then +PACKAGES="cracklib gcc words ltrace" +else +PACKAGES="cracklib cracklib-devel gcc words ltrace" +fi + +rlJournalStart + rlPhaseStartSetup + for PKG in $PACKAGES; do + rlAssertRpm $PKG + done + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "if [ ! -e /usr/share/cracklib/pw_dict.pwi ]; then create-cracklib-dict /usr/share/dict/words; fi" 0 "Create a cracklib dictionary if not already present" + rlRun "pushd $TmpDir" + rlRun "cat > test.c <<_EOF_ +#include +#include + +int main(int argc, char **argv) +{ + char const *dict = \"/usr/share/cracklib/pw_dict\"; + char const *msg = NULL; + msg = FascistCheck(\"AAAAAAAA\", dict); + if (msg == 0) + return 1; + else + { + printf(\"%s\\n\", msg); + return 0; + } +} +_EOF_" 0 "Create test application" + rlPhaseEnd + + rlPhaseStartTest + rlRun "gcc -O0 test.c -lcrack -Wall -o test" 0 "Compile the program" + rlRun "./test" 0 "Run the program" + rlRun "ltrace -o ltrace.out ./test" 0 "Run the program with ltrace" + rlRun "grep FascistCheck ltrace.out" 0 "Check if it actually uses the library function" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/Localization/Makefile b/tests/Localization/Makefile new file mode 100644 index 0000000..37c4135 --- /dev/null +++ b/tests/Localization/Makefile @@ -0,0 +1,63 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/cracklib/Sanity/Localization +# Description: Check if package localization is correct +# Author: Hubert Kario +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/CoreOS/cracklib/Sanity/Localization +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Hubert Kario " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: Check if package localization is correct" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 5m" >> $(METADATA) + @echo "RunFor: cracklib" >> $(METADATA) + @echo "Requires: cracklib" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/Localization/PURPOSE b/tests/Localization/PURPOSE new file mode 100644 index 0000000..83d8e81 --- /dev/null +++ b/tests/Localization/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /CoreOS/cracklib/Sanity/Localization +Description: Check if package localization is correct +Author: Hubert Kario diff --git a/tests/Localization/runtest.sh b/tests/Localization/runtest.sh new file mode 100755 index 0000000..6afb4ab --- /dev/null +++ b/tests/Localization/runtest.sh @@ -0,0 +1,125 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/cracklib/Sanity/Localization +# Description: Check if package localization is correct +# Author: Hubert Kario +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2014 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/bin/rhts-environment.sh || exit 1 +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="cracklib" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlAssertRpm grep + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + + rlPhaseStartTest "Sanity" + rlRun "echo 'aVk(|vDTRz$xVE-W6(Z2' | LANG=C cracklib-check | grep ': OK'" 0 "Check if cracklib-check accepts complex passwords" + rlRun "echo AAAAAAAAAAAA | LANG=C cracklib-check | grep ': OK'" 1 "Verify that cracklib-check rejects simple passwords" + rlRun "echo AAAAAAAAAAAA | LANG=C cracklib-check | grep 'DIFFERENT'" 0 "Verify that rejection message contains string 'DIFFERENT'" + rlPhaseEnd + +NAME[0]="Assamese" +CODE[0]="as_IN.utf8" + +NAME[1]="Bengali" +CODE[1]="bn_IN.utf8" + +NAME[2]="German" +CODE[2]="de_DE.utf8" + +NAME[3]="Spanish" +CODE[3]="es_ES.utf8" + +NAME[4]="French" +CODE[4]="fr_FR.utf8" + +NAME[5]="Gujarati" +CODE[5]="gu_IN.utf8" + +NAME[6]="Hindi" +CODE[6]="hi_IN.utf8" + +NAME[7]="Italian" +CODE[7]="it_IT.utf8" + +NAME[8]="Japanese" +CODE[8]="ja_JP.utf8" + +NAME[9]="Kannada" +CODE[9]="kn_IN.utf8" + +NAME[10]="Korean" +CODE[10]="ko_KR.utf8" + +NAME[11]="Malayalam" +CODE[11]="ml_IN.utf8" + +NAME[12]="Marathi" +CODE[12]="mr_IN.utf8" + +NAME[13]="Oriya" +CODE[13]="or_IN.utf8" + +NAME[14]="Punjabi" +CODE[14]="pa_IN.utf8" + +NAME[15]="Brazil Portugese" +CODE[15]="pt_BR.utf8" + +NAME[16]="Russian" +CODE[16]="ru_RU.utf8" + +NAME[17]="Tamil" +CODE[17]="ta_IN.utf8" + +NAME[18]="Telugu" +CODE[18]="te_IN.utf8" + +NAME[19]="Chinese" +CODE[19]="zh_CN.utf8" + +NAME[20]="Taiwanese Chinese" +CODE[20]="zh_TW.utf8" + +for i in ${!NAME[@]}; do + rlPhaseStartTest "${NAME[$i]}" + rlRun "echo AAAAAAAAAAAA | LANG=${CODE[$i]} cracklib-check | grep -Ev DIFFERENT\>" 0 "Check if fallback message isn't used" + rlRun "echo AAAAAAAAAAAA | LANG=${CODE[$i]} cracklib-check | grep '???????'" 1 "Check if message isn't clobbered" + rlPhaseEnd +done + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/inventory b/tests/inventory new file mode 100755 index 0000000..6238138 --- /dev/null +++ b/tests/inventory @@ -0,0 +1,3 @@ +#!/bin/bash +export TEST_DOCKER_EXTRA_ARGS="--security-opt seccomp:unconfined" +exec merge-standard-inventory "$@" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..ac40fef --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,25 @@ +--- +# Tests for Docker and Classic Context +- hosts: localhost + roles: + - role: standard-test-beakerlib + tags: + - classic + - container + tests: + - ABI-compatibility + - Localization + required_packages: + - words # required for ABI-compatibility + - cracklib-devel # required for ABI-compatibility + - ltrace # required for ABI-compatibility + - gcc # required for ABI-compatibility + +# Tests for Atomic +- hosts: localhost + roles: + - role: standard-test-beakerlib + tags: + - atomic + tests: + - Localization From 73c5a992200b5e2b7a327d203cfb2f03ec74fa18 Mon Sep 17 00:00:00 2001 From: Iryna Shcherbina Date: Wed, 3 Jan 2018 11:16:12 +0100 Subject: [PATCH 45/85] Update Python 2 dependency declarations to new packaging standards --- cracklib.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 2dff3f7..8eb93e6 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 9%{?dist} +Release: 10%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -29,7 +29,7 @@ Patch8: cracklib-2.9.6-cve-2016-6318.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root -BuildRequires: python-devel, words, gettext +BuildRequires: python2-devel, words, gettext BuildRequires: gettext-autopoint BuildRequires: zlib-devel Conflicts: cracklib-dicts < 2.8 @@ -226,6 +226,10 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Wed Jan 03 2018 Iryna Shcherbina - 2.9.6-10 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + * Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 2.9.6-9 - Add Provides for the old name without %%_isa From f69740c948e5ddfb329f27340e2883119f605762 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sat, 3 Feb 2018 18:17:40 +0100 Subject: [PATCH 46/85] Switch to %ldconfig_scriptlets Signed-off-by: Igor Gnatenko --- cracklib.spec | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 8eb93e6..18106e8 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 10%{?dist} +Release: 11%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -186,14 +186,7 @@ finally: sys.exit(0) EOF -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - -%triggerpostun -p /sbin/ldconfig -- cracklib < 2.7-24 +%ldconfig_scriptlets %files -f %{name}.lang %defattr(-,root,root) @@ -226,6 +219,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Sat Feb 03 2018 Igor Gnatenko - 2.9.6-11 +- Switch to %%ldconfig_scriptlets + * Wed Jan 03 2018 Iryna Shcherbina - 2.9.6-10 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) From 09348f50cbad1a0e4b0b17d4b41fed8faf741161 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 05:52:59 +0000 Subject: [PATCH 47/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 18106e8..816ce6c 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 11%{?dist} +Release: 12%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -219,6 +219,9 @@ EOF %{_libdir}/python*/site-packages/*.py* %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 2.9.6-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sat Feb 03 2018 Igor Gnatenko - 2.9.6-11 - Switch to %%ldconfig_scriptlets From 68dc49109f05adfc683ad37d6663ecf2ddf4e381 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 21 Feb 2018 13:14:59 +0100 Subject: [PATCH 48/85] Drop Python 2 support in RHEL --- cracklib.spec | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 816ce6c..779d5fa 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -1,11 +1,12 @@ # Reflects the values hard-coded in various Makefile.am's in the source tree. %define dictdir %{_datadir}/cracklib %define dictpath %{dictdir}/pw_dict +%define rhel 1 Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 12%{?dist} +Release: 13%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -29,9 +30,13 @@ Patch8: cracklib-2.9.6-cve-2016-6318.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root -BuildRequires: python2-devel, words, gettext +BuildRequires: gcc +BuildRequires: words, gettext BuildRequires: gettext-autopoint BuildRequires: zlib-devel +%if 0%{?rhel} == 0 +BuildRequires: python2-devel +%endif Conflicts: cracklib-dicts < 2.8 # The cracklib-format script calls gzip, but without a specific path. Requires: gzip @@ -63,6 +68,7 @@ Requires: %{name} = %{version}-%{release} The cracklib-devel package contains the header files and libraries needed for compiling applications which use cracklib. +%if 0%{?rhel} == 0 %package -n python2-cracklib Summary: Python bindings for applications which use cracklib Group: Development/Libraries @@ -76,6 +82,7 @@ Obsoletes: %{name}-python < %{version}-%{release} %description -n python2-cracklib The cracklib-python package contains a module which permits applications written in the Python programming language to use cracklib. +%endif %package dicts Summary: The standard CrackLib dictionaries @@ -113,7 +120,13 @@ done chmod +x util/cracklib-format %build -%configure --with-pic --with-python --with-default-dict=%{dictpath} --disable-static +%configure --with-pic \ +%if 0%{?rhel} == 0 + --with-python \ +%else + --without-python \ +%endif + --with-default-dict=%{dictpath} --disable-static make -C po update-gmo make @@ -158,6 +171,7 @@ fi %check make test +%if 0%{?rhel} == 0 # We want to check that the new library is able to open the new dictionaries, # using the new python module. LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir} %{__python} 2>&1 << EOF @@ -185,6 +199,7 @@ except ValueError, message: finally: sys.exit(0) EOF +%endif %ldconfig_scriptlets @@ -213,12 +228,17 @@ EOF %{_sbindir}/mkdict %{_sbindir}/packer +%if 0%{?rhel} == 0 %files -n python2-cracklib %defattr(-,root,root) %{_libdir}/python*/site-packages/_cracklib*.so %{_libdir}/python*/site-packages/*.py* +%endif %changelog +* Wed Feb 21 2018 Tomáš Mráz - 2.9.6-13 +- Drop Python 2 support in RHEL + * Wed Feb 07 2018 Fedora Release Engineering - 2.9.6-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 811f0d18291bf76dfe86cb6d6bd139c3a67f7295 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 21 Feb 2018 13:16:24 +0100 Subject: [PATCH 49/85] Drop debugging leftover --- cracklib.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 779d5fa..caacbd5 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -1,7 +1,6 @@ # Reflects the values hard-coded in various Makefile.am's in the source tree. %define dictdir %{_datadir}/cracklib %define dictpath %{dictdir}/pw_dict -%define rhel 1 Summary: A password-checking library Name: cracklib From 4dbc86aacaeac1213f6de7e545648560c8bdbbd1 Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Tue, 10 Jul 2018 00:33:52 -0500 Subject: [PATCH 50/85] Remove needless use of %defattr --- cracklib.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index caacbd5..62ad374 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -203,7 +203,6 @@ EOF %ldconfig_scriptlets %files -f %{name}.lang -%defattr(-,root,root) %doc README README-WORDS NEWS README-LICENSE AUTHORS %{!?_licensedir:%global license %%doc} %license COPYING.LIB @@ -214,13 +213,11 @@ EOF %{_mandir}/man8/* %files devel -%defattr(-,root,root) %{_includedir}/* %{_libdir}/libcrack.so %{_mandir}/man3/* %files dicts -%defattr(-,root,root) %{_datadir}/cracklib/pw_dict.* %{_datadir}/cracklib/cracklib-small.* %{_libdir}/cracklib_dict.* @@ -229,7 +226,6 @@ EOF %if 0%{?rhel} == 0 %files -n python2-cracklib -%defattr(-,root,root) %{_libdir}/python*/site-packages/_cracklib*.so %{_libdir}/python*/site-packages/*.py* %endif From 4b67c0c867b03f6602cc460db57256d8133a0609 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 22:19:52 +0000 Subject: [PATCH 51/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 62ad374..4d6591d 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 13%{?dist} +Release: 14%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -231,6 +231,9 @@ EOF %endif %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 2.9.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Feb 21 2018 Tomáš Mráz - 2.9.6-13 - Drop Python 2 support in RHEL From 8274cbbc56e478a99f29a231a094529426852b05 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Fri, 13 Jul 2018 13:59:23 +0200 Subject: [PATCH 52/85] The test must use the dictionary from the build --- cracklib.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 4d6591d..7935ceb 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 14%{?dist} +Release: 15%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -119,6 +119,8 @@ done chmod +x util/cracklib-format %build +# Use the dictionary from the build to test +sed -i 's,util/cracklib-check <,util/cracklib-check $(DESTDIR)/$(DEFAULT_CRACKLIB_DICT) <,' Makefile.in %configure --with-pic \ %if 0%{?rhel} == 0 --with-python \ @@ -169,7 +171,7 @@ fi %find_lang %{name} %check -make test +make test DESTDIR=$RPM_BUILD_ROOT %if 0%{?rhel} == 0 # We want to check that the new library is able to open the new dictionaries, # using the new python module. @@ -231,6 +233,9 @@ EOF %endif %changelog +* Fri Jul 13 2018 Tomáš Mráz - 2.9.6-15 +- The test must use the dictionary from the build + * Thu Jul 12 2018 Fedora Release Engineering - 2.9.6-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 673d98d62e3f75f01225be35801228371714eda0 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Fri, 13 Jul 2018 14:24:02 +0200 Subject: [PATCH 53/85] Properly call python2 in check. --- cracklib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 7935ceb..c5f5e6a 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -175,7 +175,7 @@ make test DESTDIR=$RPM_BUILD_ROOT %if 0%{?rhel} == 0 # We want to check that the new library is able to open the new dictionaries, # using the new python module. -LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir} %{__python} 2>&1 << EOF +LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir} %{__python2} 2>&1 << EOF import string, sys # Prepend buildroot-specific variations of the python path to the python path. syspath2=[] From e82881853970217e56320b94dff3d40f8bb08f77 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 9 Oct 2018 12:18:30 +0200 Subject: [PATCH 54/85] Updated translations --- cracklib-2.9.6-translation-updates.patch | 2593 ++++++++++++++-------- cracklib.spec | 5 +- 2 files changed, 1637 insertions(+), 961 deletions(-) diff --git a/cracklib-2.9.6-translation-updates.patch b/cracklib-2.9.6-translation-updates.patch index eb2497a..fff80c0 100644 --- a/cracklib-2.9.6-translation-updates.patch +++ b/cracklib-2.9.6-translation-updates.patch @@ -1,6 +1,6 @@ -diff -up cracklib-2.9.6/po/as.po.translations cracklib-2.9.6/po/as.po ---- cracklib-2.9.6/po/as.po.translations 2015-10-22 18:24:54.374118684 +0200 -+++ cracklib-2.9.6/po/as.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/as.po cracklib-2.9.6.new/po/as.po +--- cracklib-2.9.6.old/po/as.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/as.po 2018-10-09 11:57:33.759928725 +0200 @@ -1,82 +1,83 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. @@ -112,9 +112,92 @@ diff -up cracklib-2.9.6/po/as.po.translations cracklib-2.9.6/po/as.po msgid "error loading dictionary" -msgstr "" +msgstr "শব্দকোষ ল'ড কৰোতে ত্ৰুটি" -diff -up cracklib-2.9.6/po/bn_IN.po.translations cracklib-2.9.6/po/bn_IN.po ---- cracklib-2.9.6/po/bn_IN.po.translations 2015-10-22 18:24:54.374118684 +0200 -+++ cracklib-2.9.6/po/bn_IN.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/be.po cracklib-2.9.6.new/po/be.po +--- cracklib-2.9.6.old/po/be.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/be.po 2018-10-09 11:38:57.597040577 +0200 +@@ -0,0 +1,79 @@ ++# Viktar Siarheichyk , 2018. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2018-06-04 07:22+0000\n" ++"Last-Translator: Viktar Siarheichyk \n" ++"Language-Team: Belarusian\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: be\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "заснавана на імені карыстальніка" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "заснавана на ўпісаным пароле" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "паходзіць з вашага запісу пароля" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "паходзіць з вашага запісу пароля" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "можа паходзіць з вашага запісу пароля" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "можа паходзіць з вашага запісу пароля" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "няма вашага запісу ў файле пароляў" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "ён ЗАНАДТА кароткі" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "ён надта кароткі" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "у ім недастаткова РОЗНАСТАЙНЫХ знакаў" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "адны прабелы" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "надта просты ці распаўсюджаны" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr " надобны на нумар сацыяльнага страхавання." ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "базуецца на слоўнікавым слове" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "бвзуецца на (адваротным) слоўнікавым слове" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "памылка падчас загрузкі слоўніка" +diff -urN cracklib-2.9.6.old/po/bn_IN.po cracklib-2.9.6.new/po/bn_IN.po +--- cracklib-2.9.6.old/po/bn_IN.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/bn_IN.po 2018-10-09 11:57:33.759928725 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.po to Bengali INDIA # Copyright (C) 2009 Free Software Foundation, Inc. @@ -227,26 +310,210 @@ diff -up cracklib-2.9.6/po/bn_IN.po.translations cracklib-2.9.6/po/bn_IN.po msgid "error loading dictionary" -msgstr "" +msgstr "অভিধান লোড হতে সমস্যা" -diff -up cracklib-2.9.6/po/de.po.translations cracklib-2.9.6/po/de.po ---- cracklib-2.9.6/po/de.po.translations 2015-10-22 18:24:54.375118708 +0200 -+++ cracklib-2.9.6/po/de.po 2014-07-09 17:24:45.000000000 +0200 -@@ -4,82 +4,82 @@ +diff -urN cracklib-2.9.6.old/po/ca.po cracklib-2.9.6.new/po/ca.po +--- cracklib-2.9.6.old/po/ca.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/ca.po 2018-10-09 11:37:49.699355368 +0200 +@@ -0,0 +1,79 @@ ++# Robert Antoni Buj Gelonch , 2016. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2016-10-08 03:48+0000\n" ++"Last-Translator: Robert Antoni Buj Gelonch \n" ++"Language-Team: Catalan\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: ca\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "es basa en el vostre nom d'usuari" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "es basa en la introducció de la vostra contrasenya" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "es deriva a partir de la introducció de la vostra contrasenya" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "es deriva a partir de la introducció de la vostra contrasenya" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "es pot derivar a partir de la introducció de la vostra contrasenya" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "es pot derivar a partir de la introducció de la vostra contrasenya" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "no esteu registrat al fitxer de contrasenyes" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "és massa curt" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "és massa curt" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "no conté prou caràcters DIFERENTS" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "és tot l'espai en blanc" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "és massa simplista/sistemàtica" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr "sembla un número de la seguretat social." ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "es basa en una paraula del diccionari" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "es basa en una paraula del diccionari (revers)" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "error en carregar el diccionari" +diff -urN cracklib-2.9.6.old/po/cs.po cracklib-2.9.6.new/po/cs.po +--- cracklib-2.9.6.old/po/cs.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/cs.po 2018-10-09 11:37:54.554475070 +0200 +@@ -1,19 +1,21 @@ + # translation of cracklib.po to czech + # Klara Cihlarova , 2003. +-# ++# Jan Dittberner , 2016. #zanata ++# Marek Suchánek , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-06-23 13:18+02:00\n" +-"Last-Translator: Klara Cihlarova \n" ++"PO-Revision-Date: 2016-08-31 01:14+0000\n" ++"Last-Translator: Marek Suchánek \n" + "Language-Team: czech \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.2\n" ++"Language: cs\n" ++"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -77,4 +79,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "chyba při načítání slovníku" +diff -urN cracklib-2.9.6.old/po/da.po cracklib-2.9.6.new/po/da.po +--- cracklib-2.9.6.old/po/da.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/da.po 2018-10-09 11:39:10.434360676 +0200 +@@ -2,20 +2,22 @@ + # Copyright (C) 2005 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # Martin Møller , 2005. +-# ++# Jan Dittberner , 2016. #zanata ++# scootergrisen , 2017. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-16 20:11+0200\n" +-"Last-Translator: Martin Møller \n" ++"PO-Revision-Date: 2017-10-06 02:39+0000\n" ++"Last-Translator: scootergrisen \n" + "Language-Team: Dansk \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.10.1\n" ++"Language: da\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -43,7 +45,7 @@ + + #: lib/fascist.c:674 + msgid "you are not registered in the password file" +-msgstr "Du er ikke optegnet i adgangskodefilen" ++msgstr "du er ikke optegnet i adgangskodefilen" + + #: lib/fascist.c:709 + msgid "it is WAY too short" +@@ -59,7 +61,7 @@ + + #: lib/fascist.c:745 + msgid "it is all whitespace" +-msgstr "det er kun mellemrum/blanke tegn" ++msgstr "alt er blanktegn" + + #: lib/fascist.c:764 + msgid "it is too simplistic/systematic" +@@ -67,7 +69,7 @@ + + #: lib/fascist.c:769 + msgid "it looks like a National Insurance number." +-msgstr "det ligner et CPR nummer." ++msgstr "det ligner et \"National Insurance\"-nummer." + + #: lib/fascist.c:801 + msgid "it is based on a dictionary word" +@@ -79,4 +81,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "fejl ved indlæsning af ordbog" +diff -urN cracklib-2.9.6.old/po/de.po cracklib-2.9.6.new/po/de.po +--- cracklib-2.9.6.old/po/de.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/de.po 2018-10-09 11:38:15.372988343 +0200 +@@ -4,21 +4,21 @@ # Antje Faber , 2000-2003. # Karl Eichwalder , 1999-2003. # Martin Lohner , 2000. -# -+# rgromans , 2013. #zanata ++# Jan Dittberner , 2016. #zanata msgid "" msgstr "" - "Project-Id-Version: new\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: new\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2003-11-27 18:31GMT\n" -"Last-Translator: Novell Language \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-17 11:45-0400\n" -+"Last-Translator: rgromans \n" ++"PO-Revision-Date: 2018-08-16 12:44+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Novell Language \n" -"Language: \n" "MIME-Version: 1.0\n" @@ -256,113 +523,70 @@ diff -up cracklib-2.9.6/po/de.po.translations cracklib-2.9.6/po/de.po +"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: KBabel 1.0.2\n" -+"X-Generator: Zanata 3.1.2\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "Sie sind nicht in der passwd-Datei eingetragen." -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "Es basiert auf Ihrem Benutzernamen" +@@ -82,4 +82,4 @@ --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "Es basiert auf Ihrem Passwort-Eintrag" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "Es wird von Ihrem Passwort-Eintrag abgeleitet" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "Es wird von Ihrem Passwort-Eintrag abgeleitet" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "Es kann von Ihrem Passwort-Eintrag abgeleitet werden." - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "Es kann von Ihrem Passwort-Eintrag abgeleitet werden." - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "Sie sind nicht in der passwd-Datei eingetragen." -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "Es ist VIEL zu kurz" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "Es ist zu kurz" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "Es enthält nicht genug unterschiedliche Zeichen" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "Es besteht nur aus Leerzeichen" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "Es ist zu einfach/systematisch" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "Es schaut nach Versicherungsnummer aus" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "Es basiert auf einem Wörterbucheintrag" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "Es basiert auf einem (umgekehrten) Wörterbucheintrag" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" -+msgstr "Fehler beim Laden des Wörterbuches" -diff -up cracklib-2.9.6/po/es.po.translations cracklib-2.9.6/po/es.po ---- cracklib-2.9.6/po/es.po.translations 2015-10-22 18:24:54.375118708 +0200 -+++ cracklib-2.9.6/po/es.po 2014-07-09 17:24:45.000000000 +0200 -@@ -1,81 +1,82 @@ - # translation of cracklib.po to - # This file is put in the public domain. - # , 2003 ++msgstr "Fehler beim Laden des Wörterbuchs" +diff -urN cracklib-2.9.6.old/po/el.po cracklib-2.9.6.new/po/el.po +--- cracklib-2.9.6.old/po/el.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/el.po 2018-10-09 11:38:32.974426610 +0200 +@@ -4,20 +4,21 @@ + # This file is distributed under the same license as the PACKAGE package. + # Kostas Boukouvalas , 2005. + # Hellenic SuSE Translation Group , 2005. -# -+# gguerrer , 2013. #zanata ++# Jan Dittberner , 2016. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: el\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-26 19:19+0300\n" +-"Last-Translator: Hellenic SuSE Translation Group \n" ++"PO-Revision-Date: 2016-06-18 01:02+0000\n" ++"Last-Translator: Copied by Zanata \n" + "Language-Team: Hellenic-Ελληνικά-Greek \n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.10\n" ++"Language: el\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +diff -urN cracklib-2.9.6.old/po/es.po cracklib-2.9.6.new/po/es.po +--- cracklib-2.9.6.old/po/es.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/es.po 2018-10-09 11:38:49.684843285 +0200 +@@ -1,81 +1,83 @@ + # translation of cracklib.po to + # This file is put in the public domain. +-# , 2003 +-# ++#, 2003 ++# Waldo Ribeiro , 2016. #zanata ++# Máximo Castañeda Riloba , 2017. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 13:17+02:00\n" -"Last-Translator: Novell Language \n" -"Language-Team: Novell Language \n" -"Language: \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-23 07:39-0400\n" -+"Last-Translator: gguerrer \n" ++"PO-Revision-Date: 2018-08-16 12:44+0000\n" ++"Last-Translator: Copied by Zanata \n" +"Language-Team: Novell Language \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" @@ -370,113 +594,230 @@ diff -up cracklib-2.9.6/po/es.po.translations cracklib-2.9.6/po/es.po "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0.1\n" +"Language: es\n" -+"X-Generator: Zanata 3.1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "No está registrado en el archivo de contraseñas." -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" -msgstr "Está basada en su nombre de usuario." -+msgstr "Se basa en su nombre de usuario." ++msgstr "está basada en su nombre de usuario" --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 + #: lib/fascist.c:576 msgid "it is based upon your password entry" -msgstr "Está basada en su contraseña." -+msgstr "Se base en la entrada de su contraseña." ++msgstr "está basada en su contraseña" --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 + #: lib/fascist.c:591 msgid "it is derived from your password entry" - msgstr "Se deriva de su contraseña." +-msgstr "Se deriva de su contraseña." ++msgstr "se deriva de su contraseña" --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 + #: lib/fascist.c:599 msgid "it's derived from your password entry" - msgstr "Se deriva de su contraseña." +-msgstr "Se deriva de su contraseña." ++msgstr "se deriva de su contraseña" --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 + #: lib/fascist.c:608 msgid "it is derivable from your password entry" - msgstr "Puede derivarse de su contraseña." +-msgstr "Puede derivarse de su contraseña." ++msgstr "puede derivarse de su contraseña" --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 + #: lib/fascist.c:617 msgid "it's derivable from your password entry" - msgstr "Puede derivarse de su contraseña." +-msgstr "Puede derivarse de su contraseña." ++msgstr "puede derivarse de su contraseña" --#: lib/fascist.c:674 --msgid "you are not registered in the password file" + #: lib/fascist.c:674 + msgid "you are not registered in the password file" -msgstr "No está registrado en el archivo de contraseñas." -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 ++msgstr "no está registrado en el archivo de contraseñas" + + #: lib/fascist.c:709 msgid "it is WAY too short" - msgstr "Es DEMASIADO corta." +-msgstr "Es DEMASIADO corta." ++msgstr "es DEMASIADO corta" --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 + #: lib/fascist.c:714 msgid "it is too short" - msgstr "Es demasiado corta." +-msgstr "Es demasiado corta." ++msgstr "es demasiado corta" --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 + #: lib/fascist.c:731 msgid "it does not contain enough DIFFERENT characters" - msgstr "No contiene suficientes caracteres DIFERENTES." +-msgstr "No contiene suficientes caracteres DIFERENTES." ++msgstr "no contiene suficientes caracteres DIFERENTES" --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 + #: lib/fascist.c:745 msgid "it is all whitespace" - msgstr "Está formada sólo por espacios." +-msgstr "Está formada sólo por espacios." ++msgstr "está formada sólo por espacios" --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 + #: lib/fascist.c:764 msgid "it is too simplistic/systematic" - msgstr "Es demasiado simple/sistemática." +-msgstr "Es demasiado simple/sistemática." ++msgstr "es demasiado simple/sistemática" --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 + #: lib/fascist.c:769 msgid "it looks like a National Insurance number." - msgstr "Parece un número de la Seguridad Social." +-msgstr "Parece un número de la Seguridad Social." ++msgstr "parece un número de la Seguridad Social" --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 + #: lib/fascist.c:801 msgid "it is based on a dictionary word" - msgstr "Está basada en una palabra del diccionario." +-msgstr "Está basada en una palabra del diccionario." ++msgstr "está basada en una palabra del diccionario" --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 + #: lib/fascist.c:820 msgid "it is based on a (reversed) dictionary word" - msgstr "Está basada en una palabra del diccionario escrita al revés." +-msgstr "Está basada en una palabra del diccionario escrita al revés." ++msgstr "está basada en una palabra del diccionario escrita al revés" --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" -+msgstr "Error al cargar el diccionario" -diff -up cracklib-2.9.6/po/fr.po.translations cracklib-2.9.6/po/fr.po ---- cracklib-2.9.6/po/fr.po.translations 2015-10-22 18:24:54.375118708 +0200 -+++ cracklib-2.9.6/po/fr.po 2014-07-09 17:24:45.000000000 +0200 -@@ -1,81 +1,82 @@ ++msgstr "error al cargar el diccionario" +diff -urN cracklib-2.9.6.old/po/eu.po cracklib-2.9.6.new/po/eu.po +--- cracklib-2.9.6.old/po/eu.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/eu.po 2018-10-09 11:38:46.701768899 +0200 +@@ -0,0 +1,79 @@ ++# Mikel Olasagasti Uranga , 2017. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2017-04-11 05:46+0000\n" ++"Last-Translator: Mikel Olasagasti Uranga \n" ++"Language-Team: Basque\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: eu\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "zure erabiltzaile-izenean oinarrituta dago" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "OSO laburra da" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "laburregia da" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "ez ditu nahikoa karaktere EZBERDIN" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "karaktere guztiak zuriuneak dira" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "oso sinple edo sistematikoa" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr "Gizarte Segurantza zenbakia dirudi (National Insurance)" ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "hiztegiko hitz batean oinarritua da" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "hiztegiko hitz batean oinarritua da (alderantziz)" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "errorea hiztegia kargatzean" +diff -urN cracklib-2.9.6.old/po/fi.po cracklib-2.9.6.new/po/fi.po +--- cracklib-2.9.6.old/po/fi.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/fi.po 2018-10-09 11:39:09.467336563 +0200 +@@ -2,20 +2,22 @@ + # Copyright (C) 2005 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # Jyri Palokangas , 2005. +-# ++# Jan Dittberner , 2016. #zanata ++# Jiri Grönroos , 2017. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-25 15:20+0300\n" +-"Last-Translator: Jyri Palokangas \n" +-"Language-Team: \n" +-"Language: \n" ++"PO-Revision-Date: 2017-03-26 09:02+0000\n" ++"Last-Translator: Jiri Grönroos \n" ++"Language-Team: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.10.2\n" ++"Language: fi\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -79,4 +81,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "virhe sanakirjaa ladatessa" +diff -urN cracklib-2.9.6.old/po/fr.po cracklib-2.9.6.new/po/fr.po +--- cracklib-2.9.6.old/po/fr.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/fr.po 2018-10-09 11:38:58.577065014 +0200 +@@ -1,20 +1,22 @@ # translation of cracklib.po to Français # This file is put in the public domain. # Patricia Vaz , 2003 -# -+# Sam Friedmann , 2013. #zanata ++# Jan Dittberner , 2016. #zanata ++# Jean-Baptiste Holcroft , 2016. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 13:17+02:00\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-08 12:03-0400\n" - "Last-Translator: Novell Language \n" +-"Last-Translator: Novell Language \n" ++"PO-Revision-Date: 2018-08-16 12:44+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Novell Language \n" -"Language: \n" "MIME-Version: 1.0\n" @@ -485,95 +826,20 @@ diff -up cracklib-2.9.6/po/fr.po.translations cracklib-2.9.6/po/fr.po "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0.1\n" +"Language: fr\n" -+"X-Generator: Zanata 3.1.2\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "vous n'êtes pas enregistré dans le fichier de mot de passe" -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "basé sur votre nom d'utilisateur" +@@ -78,4 +80,4 @@ --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "basé sur votre mot de passe" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "dérivé de votre mot de passe" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "dérivé de votre mot de passe" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "dérivable de votre mot de passe" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "dérivable de votre mot de passe" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "vous n'êtes pas enregistré dans le fichier de mot de passe" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "BEAUCOUP trop court" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "trop court" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "ne contient pas suffisamment de caractères DIFFÉRENTS" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "il n'y a que des espaces" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "trop simple/systématique" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "ressemble à un numéro de sécurité sociale" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "basé sur un mot du dictionnaire" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "basé sur un mot du dictionnaire à l'envers" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" +msgstr "erreur lors du chargement du dictionnaire" -diff -up cracklib-2.9.6/po/gu.po.translations cracklib-2.9.6/po/gu.po ---- cracklib-2.9.6/po/gu.po.translations 2015-10-22 18:24:54.375118708 +0200 -+++ cracklib-2.9.6/po/gu.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/gu.po cracklib-2.9.6.new/po/gu.po +--- cracklib-2.9.6.old/po/gu.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/gu.po 2018-10-09 11:57:33.760928751 +0200 @@ -1,84 +1,85 @@ # translation of cracklib.default.cracklib.gu.po to Gujarati # Copyright (C) 2009 Free Software Foundation, Inc. @@ -688,9 +954,92 @@ diff -up cracklib-2.9.6/po/gu.po.translations cracklib-2.9.6/po/gu.po msgid "error loading dictionary" -msgstr "" +msgstr "શબ્દકોષને લાવી રહ્યા હોય ત્યારે ભૂલ" -diff -up cracklib-2.9.6/po/hi.po.translations cracklib-2.9.6/po/hi.po ---- cracklib-2.9.6/po/hi.po.translations 2015-10-22 18:24:54.376118732 +0200 -+++ cracklib-2.9.6/po/hi.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/he.po cracklib-2.9.6.new/po/he.po +--- cracklib-2.9.6.old/po/he.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/he.po 2018-10-09 11:38:19.242084195 +0200 +@@ -0,0 +1,79 @@ ++# Yaron Shahrabani , 2018. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2018-03-20 10:17+0000\n" ++"Last-Translator: Yaron Shahrabani \n" ++"Language-Team: Hebrew\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: he\n" ++"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 2 : 1;\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "מבוססת על שם המשתמש שלך" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "לא נרשמת בקובץ הססמאות" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "קצרה ביותר" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "קצרה מדי" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "אינה מכילה מספיק תווים שונים" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "כולה רווחים" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "מערכתית/פשוטה מדי" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr "נראית כמו מספר תעודת זהות/ביטוח לאומי" ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "מבוססת על מילה במילון" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "מבוססת על (היפוך של) מילה במילון" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "שגיאה בטעינת המילון" +diff -urN cracklib-2.9.6.old/po/hi.po cracklib-2.9.6.new/po/hi.po +--- cracklib-2.9.6.old/po/hi.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/hi.po 2018-10-09 11:57:33.760928751 +0200 @@ -2,84 +2,85 @@ # Hindi translations for cracklib package. # Copyright (C) 2009, 2010 Free Software Foundation, Inc. @@ -804,26 +1153,200 @@ diff -up cracklib-2.9.6/po/hi.po.translations cracklib-2.9.6/po/hi.po msgid "error loading dictionary" -msgstr "" +msgstr "शब्दकोश लोड करने में त्रुटि" -diff -up cracklib-2.9.6/po/it.po.translations cracklib-2.9.6/po/it.po ---- cracklib-2.9.6/po/it.po.translations 2015-10-22 18:24:54.376118732 +0200 -+++ cracklib-2.9.6/po/it.po 2014-07-09 17:24:45.000000000 +0200 -@@ -1,81 +1,82 @@ +diff -urN cracklib-2.9.6.old/po/hu.po cracklib-2.9.6.new/po/hu.po +--- cracklib-2.9.6.old/po/hu.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/hu.po 2018-10-09 11:38:16.351012456 +0200 +@@ -2,48 +2,49 @@ + # This file is put in the public domain. + # Marcel Hilzinger , 2003. + # Gábor Szentiványi , 2003 +-# ++# Meskó Balázs , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib.hu\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-06 20:20+0100\n" +-"Last-Translator: Szabolcs Varga \n" ++"PO-Revision-Date: 2016-09-10 06:40+0000\n" ++"Last-Translator: Meskó Balázs \n" + "Language-Team: hungarian\n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.0.1\n" ++"Language: hu\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +-msgstr "az Ön felhasználónevén alapszik" ++msgstr "a felhasználónevén alapszik" + + #: lib/fascist.c:576 + msgid "it is based upon your password entry" +-msgstr "az Ön jelszóbejegyzésén alapszik" ++msgstr "a jelszóbejegyzésén alapszik" + + #: lib/fascist.c:591 + msgid "it is derived from your password entry" +-msgstr "az Ön jelszóbejegyzéséból lett származtatva" ++msgstr "a jelszóbejegyzéséből lett származtatva" + + #: lib/fascist.c:599 + msgid "it's derived from your password entry" +-msgstr "az Ön jelszóbejegyzéséból lett származtatva" ++msgstr "a jelszóbejegyzéséből lett származtatva" + + #: lib/fascist.c:608 + msgid "it is derivable from your password entry" +-msgstr "kitalálható az Ön jelszóbejegyzéséből" ++msgstr "kitalálható a jelszóbejegyzéséből" + + #: lib/fascist.c:617 + msgid "it's derivable from your password entry" +-msgstr "kitalálható az Ön jelszóbejegyzéséből" ++msgstr "kitalálható a jelszóbejegyzéséből" + + #: lib/fascist.c:674 + msgid "you are not registered in the password file" +-msgstr "Ön nem szerepel a password fájlban" ++msgstr "nincs regisztrálva a jelszófájlban" + + #: lib/fascist.c:709 + msgid "it is WAY too short" +@@ -59,7 +60,7 @@ + + #: lib/fascist.c:745 + msgid "it is all whitespace" +-msgstr "csak szóközszerű karakterekből áll" ++msgstr "csak üres karakterekből áll" + + #: lib/fascist.c:764 + msgid "it is too simplistic/systematic" +@@ -71,12 +72,12 @@ + + #: lib/fascist.c:801 + msgid "it is based on a dictionary word" +-msgstr "a szótárban megtalálható" ++msgstr "szótári szón alapszik" + + #: lib/fascist.c:820 + msgid "it is based on a (reversed) dictionary word" +-msgstr "visszafelé olvasva egy ismert szót ad" ++msgstr "(megfordított) szótári szón alapszik" + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "hiba a szótár betöltésekor" +diff -urN cracklib-2.9.6.old/po/id.po cracklib-2.9.6.new/po/id.po +--- cracklib-2.9.6.old/po/id.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/id.po 2018-10-09 11:38:48.634817101 +0200 +@@ -0,0 +1,79 @@ ++# Andika Triwidada , 2017. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2017-07-24 12:45+0000\n" ++"Last-Translator: Andika Triwidada \n" ++"Language-Team: Indonesian\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: id\n" ++"Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "ini berbasis pada nama Anda" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "ini berbasis pada entri kata sandi Anda" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "ini diturunkan dari entri kata sandi Anda" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "ini diturunkan dari entri kata sandi Anda" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "ini dapat diturunkan dari entri kata sandi Anda" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "ini dapat diturunkan dari entri kata sandi Anda" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "Anda tidak terdaftar dalam berkas kata sandi" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "ini KETERLALUAN pendeknya" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "ini terlalu pendek" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "ini tidak memuat cukup karakter yang BERBEDA" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "ini semua keluarga spasi" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "ini terlalu sederhana/sistematis" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr "ini tampak seperti nomor Asuransi Nasional." ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "ini berbasis pada kata kamus" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "ini berbasis pada kata kamus (terbalik)" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "galat saat memuat kamus" +diff -urN cracklib-2.9.6.old/po/it.po cracklib-2.9.6.new/po/it.po +--- cracklib-2.9.6.old/po/it.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/it.po 2018-10-09 11:38:39.759595795 +0200 +@@ -1,20 +1,22 @@ # SOME DESCRIPTIVE TITLE. # This file is put in the public domain. # FIRST AUTHOR , YEAR. -# -+# fvalen , 2013. #zanata ++# Jan Dittberner , 2016. #zanata ++# Luca Ciavatta , 2017. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 13:15+02:00\n" -"Last-Translator: Novell Language \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-24 10:43-0400\n" -+"Last-Translator: fvalen \n" ++"PO-Revision-Date: 2018-08-16 12:44+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Novell Language \n" -"Language: \n" "MIME-Version: 1.0\n" @@ -832,207 +1355,140 @@ diff -up cracklib-2.9.6/po/it.po.translations cracklib-2.9.6/po/it.po "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 0.9.6\n" +"Language: it\n" -+"X-Generator: Zanata 3.1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "Non siete registrati nel file delle password" -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "Si basa sul vostro nome utente" +@@ -78,4 +80,4 @@ --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "Si basa sulla vostra password registrata" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "Deriva dalla vostra password registrata" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "Deriva dalla vostra password registrata" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "Può essere derivata dalla vostra password registrata" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "Può essere derivata dalla vostra password registrata" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "Non siete registrati nel file delle password" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "E' TROPPO breve" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "E' troppo breve" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "Non contiene abbastanza caratteri DIFFERENTI" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "E' composta solo da caratteri di spaziatura" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "E' troppo semplice/sistematica" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "Sembra essere un codice dell'Assicurazione" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "Si basa su un termine di dizionario" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "Si basa su un termine (rovesciato) di dizionario" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" -+msgstr "errore nel caricare il dizionario" -diff -up cracklib-2.9.6/po/ja.po.translations cracklib-2.9.6/po/ja.po ---- cracklib-2.9.6/po/ja.po.translations 2015-10-22 18:24:54.376118732 +0200 -+++ cracklib-2.9.6/po/ja.po 2014-07-09 17:24:45.000000000 +0200 -@@ -2,80 +2,82 @@ ++msgstr "Errore di caricamento del dizionario" +diff -urN cracklib-2.9.6.old/po/ja.po cracklib-2.9.6.new/po/ja.po +--- cracklib-2.9.6.old/po/ja.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/ja.po 2018-10-09 11:38:02.366667678 +0200 +@@ -2,19 +2,22 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# -+# noriko , 2013. #zanata ++# Jan Dittberner , 2016. #zanata ++# Ludek Janda , 2018. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-08-18 11:52-0000\n" -"Last-Translator: Novell Language \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-30 01:55-0400\n" -+"Last-Translator: noriko \n" ++"PO-Revision-Date: 2018-08-16 12:48+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Novell Language \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" -+"X-Generator: Zanata 3.1.2\n" +"Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "パスワードファイルで登録されていません" -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "パスワードファイルはユーザー名に基づいています" +@@ -78,4 +81,4 @@ --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "パスワードエントリに基づいています" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "パスワードエントリから引き出されています" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "パスワードエントリから引き出されています" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "パスワードエントリから引き出せます" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "パスワードエントリから引き出せます" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "パスワードファイルで登録されていません" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "あまりにも短かすぎます" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "短かすぎます" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "異なる文字が十分に含まれていません" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "すべて余白です" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "単純/系統的すぎます" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "国民保険番号のように見えます。" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "辞書の単語に基づいています" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "(逆順の)辞書の単語に基づいています" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" +msgstr "辞書の読み込み中二エラーが発生しました" -diff -up cracklib-2.9.6/po/kn.po.translations cracklib-2.9.6/po/kn.po ---- cracklib-2.9.6/po/kn.po.translations 2015-10-22 18:24:54.376118732 +0200 -+++ cracklib-2.9.6/po/kn.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/kk.po cracklib-2.9.6.new/po/kk.po +--- cracklib-2.9.6.old/po/kk.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/kk.po 2018-10-09 11:39:13.394434486 +0200 +@@ -0,0 +1,79 @@ ++# Baurzhan Muftakhidinov , 2017. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2017-04-11 12:05+0000\n" ++"Last-Translator: Baurzhan Muftakhidinov \n" ++"Language-Team: Kazakh\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: kk\n" ++"Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "ол сіздің пайдаланушы атыңызға негізделген" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "ол ТЫМ қысқа" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "ол тым қысқа" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr "" ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "" +diff -urN cracklib-2.9.6.old/po/kn.po cracklib-2.9.6.new/po/kn.po +--- cracklib-2.9.6.old/po/kn.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/kn.po 2018-10-09 11:57:33.760928751 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.po to Kannada # Copyright (C) 2008 Free Software Foundation, Inc. @@ -1147,28 +1603,25 @@ diff -up cracklib-2.9.6/po/kn.po.translations cracklib-2.9.6/po/kn.po msgid "error loading dictionary" -msgstr "" +msgstr "ಕೋಶವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ" -diff -up cracklib-2.9.6/po/ko.po.translations cracklib-2.9.6/po/ko.po ---- cracklib-2.9.6/po/ko.po.translations 2015-10-22 18:24:54.377118756 +0200 -+++ cracklib-2.9.6/po/ko.po 2014-07-09 17:24:45.000000000 +0200 -@@ -1,83 +1,84 @@ - # translation of cracklib.default.po to Korean - # Copyright (C) 2009 Free Software Foundation, Inc. +diff -urN cracklib-2.9.6.old/po/ko.po cracklib-2.9.6.new/po/ko.po +--- cracklib-2.9.6.old/po/ko.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/ko.po 2018-10-09 11:39:16.328507645 +0200 +@@ -3,20 +3,22 @@ # This file is distributed under the same license as the PACKAGE package. --# -+# + # # Eunju Kim , 2009. -+# eukim , 2013. #zanata ++# Jan Dittberner , 2016. #zanata ++# Ludek Janda , 2018. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib.default\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib.default\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-18 11:19+1000\n" -"Last-Translator: Eunju Kim \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-24 12:33-0400\n" -+"Last-Translator: eukim \n" ++"PO-Revision-Date: 2018-08-21 09:51+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Korean \n" -"Language: ko\n" "MIME-Version: 1.0\n" @@ -1178,94 +1631,54 @@ diff -up cracklib-2.9.6/po/ko.po.translations cracklib-2.9.6/po/ko.po -"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "암호 파일에 등록되어 있지 않습니다 " ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "이는 사용자 이름을 기반으로 합니다 " +@@ -80,4 +82,4 @@ --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "이는 암호 항목을 기반으로 합니다 " - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "이는 암호 항목에서 파생된 것입니다 " - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "이는 암호 항목에서 파생된 것입니다 " - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "이는 암호 항목에서 파생 가능합니다 " - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "이는 암호 항목에서 파생 가능합니다 " - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "암호 파일에 등록되어 있지 않습니다 " -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "너무 짧습니다 " - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "너무 짧습니다 " - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "다른 문자가 충분히 포함되어 있지 않습니다 " - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "모든 여백입니다 " - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "너무 단순/체계적입니다 " - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "국민 보험 번호와 유사합니다. " - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "사전에 있는 단어를 기반으로 합니다 " - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "(역순) 사전에 있는 단어를 기반으로 합니다 " - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" -+msgstr "사전을 불러오는 도중 오류 발생 " -diff -up cracklib-2.9.6/po/ml.po.translations cracklib-2.9.6/po/ml.po ---- cracklib-2.9.6/po/ml.po.translations 2015-10-22 18:24:54.377118756 +0200 -+++ cracklib-2.9.6/po/ml.po 2014-07-09 17:24:45.000000000 +0200 ++msgstr "사전을 로드하는 도중 오류가 발생했습니다 " +diff -urN cracklib-2.9.6.old/po/LINGUAS cracklib-2.9.6.new/po/LINGUAS +--- cracklib-2.9.6.old/po/LINGUAS 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/LINGUAS 2018-10-09 12:14:53.147237727 +0200 +@@ -0,0 +1 @@ ++as be bn_IN ca cs da de el es eu fi fr gu he hi hu id it ja kk kn ko lt ml mr nb nl or pa pl pt_BR pt ru sk sl_SI sq sv ta te tr uk zh_CN zh_TW +diff -urN cracklib-2.9.6.old/po/lt.po cracklib-2.9.6.new/po/lt.po +--- cracklib-2.9.6.old/po/lt.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/lt.po 2018-10-09 11:38:04.314715706 +0200 +@@ -2,19 +2,21 @@ + # Copyright (C) YEAR Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# ++# Jan Dittberner , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-04 12:05+0200\n" +-"Last-Translator: Linas Spraunius \n" ++"PO-Revision-Date: 2016-06-18 01:02+0000\n" ++"Last-Translator: Copied by Zanata \n" + "Language-Team: lt\n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: lt\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +diff -urN cracklib-2.9.6.old/po/ml.po cracklib-2.9.6.new/po/ml.po +--- cracklib-2.9.6.old/po/ml.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/ml.po 2018-10-09 11:57:33.760928751 +0200 @@ -2,81 +2,82 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the cracklib package. @@ -1376,9 +1789,9 @@ diff -up cracklib-2.9.6/po/ml.po.translations cracklib-2.9.6/po/ml.po msgid "error loading dictionary" -msgstr "" +msgstr "നിഘണ്ടു ലഭ്യമാക്കുന്നതില്‍ പിശക്" -diff -up cracklib-2.9.6/po/mr.po.translations cracklib-2.9.6/po/mr.po ---- cracklib-2.9.6/po/mr.po.translations 2015-10-22 18:24:54.377118756 +0200 -+++ cracklib-2.9.6/po/mr.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/mr.po cracklib-2.9.6.new/po/mr.po +--- cracklib-2.9.6.old/po/mr.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/mr.po 2018-10-09 11:57:33.761928776 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.default.cracklib.po to Marathi # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1491,9 +1904,80 @@ diff -up cracklib-2.9.6/po/mr.po.translations cracklib-2.9.6/po/mr.po msgid "error loading dictionary" -msgstr "" +msgstr "शब्दकोष लोड करतेवेळी त्रुटी" -diff -up cracklib-2.9.6/po/or.po.translations cracklib-2.9.6/po/or.po ---- cracklib-2.9.6/po/or.po.translations 2015-10-22 18:24:54.377118756 +0200 -+++ cracklib-2.9.6/po/or.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/nb.po cracklib-2.9.6.new/po/nb.po +--- cracklib-2.9.6.old/po/nb.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/nb.po 2018-10-09 11:38:53.611941207 +0200 +@@ -2,20 +2,21 @@ + # Copyright (C) 2005 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # Olav Pettershagen , 2005. +-# ++# Jan Dittberner , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: nb\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-11 20:48+0200\n" +-"Last-Translator: Olav Pettershagen \n" +-"Language-Team: \n" +-"Language: \n" ++"PO-Revision-Date: 2016-06-18 01:02+0000\n" ++"Last-Translator: Copied by Zanata \n" ++"Language-Team: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.10.2\n" ++"Language: nb\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +diff -urN cracklib-2.9.6.old/po/nl.po cracklib-2.9.6.new/po/nl.po +--- cracklib-2.9.6.old/po/nl.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/nl.po 2018-10-09 11:38:51.650892308 +0200 +@@ -4,21 +4,22 @@ + # This file is put in the public domain. + # Arthur & Ettie Kerkmeester , 2003. + # Rinse de Vries , 2005. +-# ++# Geert Warrink , 2016. #zanata ++# Jan Dittberner , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: nl\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-14 05:41+0200\n" +-"Last-Translator: Rinse de Vries \n" ++"PO-Revision-Date: 2016-09-01 06:35+0000\n" ++"Last-Translator: Geert Warrink \n" + "Language-Team: Dutch \n" +-"Language: nl\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.10.2\n" +-"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"Language: nl\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -82,4 +83,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "fout bij laden woordenboek" +diff -urN cracklib-2.9.6.old/po/or.po cracklib-2.9.6.new/po/or.po +--- cracklib-2.9.6.old/po/or.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/or.po 2018-10-09 11:57:33.761928776 +0200 @@ -1,84 +1,85 @@ # translation of cracklib.default.cracklib.or.po to Oriya # Copyright (C) 2009 Free Software Foundation, Inc. @@ -1608,29 +2092,25 @@ diff -up cracklib-2.9.6/po/or.po.translations cracklib-2.9.6/po/or.po msgid "error loading dictionary" -msgstr "" +msgstr "ଅଭିଧାନ ଧାରଣ କରିବାରେ ତ୍ରୁଟି" -diff -up cracklib-2.9.6/po/pa.po.translations cracklib-2.9.6/po/pa.po ---- cracklib-2.9.6/po/pa.po.translations 2015-10-22 18:24:54.378118779 +0200 -+++ cracklib-2.9.6/po/pa.po 2014-07-09 17:24:45.000000000 +0200 -@@ -2,84 +2,85 @@ - # translation of cracklib.po to Panjabi - # Copyright (C) 2005 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. --# -+# +diff -urN cracklib-2.9.6.old/po/pa.po cracklib-2.9.6.new/po/pa.po +--- cracklib-2.9.6.old/po/pa.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/pa.po 2018-10-09 11:38:05.301740041 +0200 +@@ -5,24 +5,26 @@ + # # Amanpreet Singh Alam[ਆਲਮ] , 2005, 2009. # A S Alam , 2009. -+# asaini , 2013. #zanata ++# Jan Dittberner , 2016. #zanata ++# A S Alam , 2017. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib.pa\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib.pa\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-11-17 05:52+0530\n" -"Last-Translator: A S Alam \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-08 08:06-0400\n" -+"Last-Translator: asaini \n" ++"PO-Revision-Date: 2017-08-18 07:15+0000\n" ++"Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" -"Language: \n" "MIME-Version: 1.0\n" @@ -1639,227 +2119,208 @@ diff -up cracklib-2.9.6/po/pa.po.translations cracklib-2.9.6/po/pa.po -"X-Generator: Lokalize 1.0\n" +"Language: pa\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "ਤੁਸੀਂ ਪਾਸਵਰਡ ਫਾਇਲ 'ਚ ਰਜਿਸਟਰ ਨਹੀਂ ਹੋ" -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "ਇਹ ਤੁਹਾਡੇ ਯੂਜ਼ਰ-ਨਾਂ ਮੁਤਾਬਿਕ ਨਹੀਂ ਹੈ" +-msgstr "ਇਹ ਤੁਹਾਡੇ ਯੂਜ਼ਰ-ਨਾਂ ਮੁਤਾਬਿਕ ਨਹੀਂ ਹੈ" ++msgstr "ਇਹ ਤੁਹਾਡੇ ਵਰਤੋਂਕਾਰ-ਨਾਂ ਮੁਤਾਬਕ ਹੈ" --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 + #: lib/fascist.c:576 msgid "it is based upon your password entry" - msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਮੁਤਾਬਕ ਹੈ" +@@ -50,7 +52,7 @@ --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਇਆ ਗਿਆ ਹੈ" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਇਆ ਗਿਆ ਹੈ" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਉਣ ਯੋਗ ਹੈ" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "ਇਹ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਐਂਟਰੀ ਤੋਂ ਬਣਾਉਣਯੋਗ ਹੈ" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "ਤੁਸੀਂ ਪਾਸਵਰਡ ਫਾਇਲ 'ਚ ਰਜਿਸਟਰ ਨਹੀਂ ਹੋ" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 + #: lib/fascist.c:709 msgid "it is WAY too short" - msgstr "ਇਹ ਬਹੁਤ ਹੀ ਛੋਟਾ ਢੰਗ ਹੈ" +-msgstr "ਇਹ ਬਹੁਤ ਹੀ ਛੋਟਾ ਢੰਗ ਹੈ" ++msgstr "ਇਹ ਬਹੁਤ ਹੀ ਛੋਟਾ ਹੈ" --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 + #: lib/fascist.c:714 msgid "it is too short" - msgstr "ਇਹ ਬਹੁਤ ਛੋਟਾ ਹੈ" +@@ -70,7 +72,7 @@ --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "ਇਹ ਵਿੱਚ ਲੋੜੀਦੇ*ਵੱਖਰੇ* ਅੱਖਰ ਮੌਜੂਦ ਨਹੀਂ ਹਨ" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "ਇਹ ਸਿਰਫ਼ ਖਾਲੀ ਥਾਂ ਹੈ" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "ਇਹ ਬਹੁਤ ਸਧਾਰਨ/ਇਕਸਾਰ ਜਿਹਾ ਹੈ" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 + #: lib/fascist.c:769 msgid "it looks like a National Insurance number." - msgstr "ਇਹ ਰਾਸ਼ਟਰੀ ਸੁਰੱਖਿਆ ਨੰਬਰ ਵਰਗਾ ਜਾਪਦਾ ਹੈ।" +-msgstr "ਇਹ ਰਾਸ਼ਟਰੀ ਸੁਰੱਖਿਆ ਨੰਬਰ ਵਰਗਾ ਜਾਪਦਾ ਹੈ।" ++msgstr "ਇਹ ਨੈਸ਼ਨਲ ਇਨਸ਼ੋਅਰੈਂਸ ਨੰਬਰ ਵਰਗਾ ਜਾਪਦਾ ਹੈ।" --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 + #: lib/fascist.c:801 msgid "it is based on a dictionary word" - msgstr "ਇਹ ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" +@@ -78,8 +80,8 @@ --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 + #: lib/fascist.c:820 msgid "it is based on a (reversed) dictionary word" - msgstr "ਇਹ (ਉਲਟੇ) ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" +-msgstr "ਇਹ (ਉਲਟੇ) ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" ++msgstr "ਇਹ (ਉਲਟ) ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" -+msgstr "ਸ਼ਬਦ-ਕੋਸ਼ ਲੋਡ ਕਰਨ ਵੇਲੇ ਗਲਤੀ" -diff -up cracklib-2.9.6/po/pt_BR.po.translations cracklib-2.9.6/po/pt_BR.po ---- cracklib-2.9.6/po/pt_BR.po.translations 2015-10-22 18:24:54.378118779 +0200 -+++ cracklib-2.9.6/po/pt_BR.po 2014-07-09 17:24:45.000000000 +0200 -@@ -2,80 +2,82 @@ ++msgstr "ਡਿਕਸ਼ਨਰੀ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" +diff -urN cracklib-2.9.6.old/po/pl.po cracklib-2.9.6.new/po/pl.po +--- cracklib-2.9.6.old/po/pl.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/pl.po 2018-10-09 11:38:10.401865781 +0200 +@@ -1,19 +1,22 @@ + # translation of pl.po to Polish + # Piotr Bolek , 2005. + # Piotr Drąg , 2009. +-# ++# Jan Dittberner , 2016. #zanata ++# Piotr Drąg , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: pl\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2009-10-12 15:57+0200\n" ++"PO-Revision-Date: 2016-08-31 09:50+0000\n" + "Last-Translator: Piotr Drąg \n" + "Language-Team: Polish \n" +-"Language: pl\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: pl\n" ++"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -21,27 +24,27 @@ + + #: lib/fascist.c:576 + msgid "it is based upon your password entry" +-msgstr "oparte na wpisie w pliku passwd" ++msgstr "oparte na wpisie w pliku passwd" + + #: lib/fascist.c:591 + msgid "it is derived from your password entry" +-msgstr "pochodzi od wpisu w pliku passwd" ++msgstr "pochodzi od wpisu w pliku passwd" + + #: lib/fascist.c:599 + msgid "it's derived from your password entry" +-msgstr "pochodzi od wpisu w pliku passwd" ++msgstr "pochodzi od wpisu w pliku passwd" + + #: lib/fascist.c:608 + msgid "it is derivable from your password entry" +-msgstr "da się odtworzyć z wpisu w pliku passwd" ++msgstr "da się odtworzyć z wpisu w pliku passwd" + + #: lib/fascist.c:617 + msgid "it's derivable from your password entry" +-msgstr "da się odtworzyć z wpisu w pliku passwd" ++msgstr "da się odtworzyć z wpisu w pliku passwd" + + #: lib/fascist.c:674 + msgid "you are not registered in the password file" +-msgstr "nie zarejestrowano w pliku passwd" ++msgstr "nie zarejestrowano w pliku passwd" + + #: lib/fascist.c:709 + msgid "it is WAY too short" +@@ -77,4 +80,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "błąd podczas wczytywania słownika" +diff -urN cracklib-2.9.6.old/po/pt_BR.po cracklib-2.9.6.new/po/pt_BR.po +--- cracklib-2.9.6.old/po/pt_BR.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/pt_BR.po 2018-10-09 11:38:18.293060531 +0200 +@@ -2,19 +2,21 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# -+# gcintra , 2013. #zanata ++# Daniel Lara , 2016. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-08-18 15:02+0000\n" -"Last-Translator: Novell Language \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-30 08:53-0400\n" -+"Last-Translator: gcintra \n" ++"PO-Revision-Date: 2018-08-16 12:44+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Novell Language \n" -"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -+"Language: pt-BR\n" -+"X-Generator: Zanata 3.1.2\n" ++"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "você não está registrado no arquivo de senha" -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "é baseada no seu nome de usuário" +@@ -78,4 +80,4 @@ --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "é baseada na sua entrada de senha" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "deriva de sua entrada de senha" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "deriva de sua entrada de senha" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "é derivável de sua entrada de senha" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "é derivável de sua entrada de senha" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "você não está registrado no arquivo de senha" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "é MUITO curta" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "é muito curta" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "não contém caracteres DIFERENTES suficientes" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "só contém espaços em branco" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "é muito simples/sistemática" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "parece um número de documento oficial." - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "é uma palavra da língua portuguesa" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "é baseada em uma palavra da língua portuguesa (ao contrário)" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" +msgstr "erro ao carregar dicionário" -diff -up cracklib-2.9.6/po/ru.po.translations cracklib-2.9.6/po/ru.po ---- cracklib-2.9.6/po/ru.po.translations 2015-10-22 18:24:54.378118779 +0200 -+++ cracklib-2.9.6/po/ru.po 2014-07-09 17:24:45.000000000 +0200 -@@ -1,85 +1,86 @@ - # translation of cracklib.pot to Russian - # Copyright (C) 2008, 2009 - # This file is distributed under the same license as the cracklib package. +diff -urN cracklib-2.9.6.old/po/pt.po cracklib-2.9.6.new/po/pt.po +--- cracklib-2.9.6.old/po/pt.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/pt.po 2018-10-09 11:37:57.475547088 +0200 +@@ -2,20 +2,22 @@ + # Copyright (C) 2005 Free Software Foundation, Inc. + # This file is distributed under the same license as the PACKAGE package. + # Antonio Cardoso Martins , 2005. -# -+# - # Anton Dobkin , 2008. - # Yulia Poyarko , 2009. -+# ypoyarko , 2013. #zanata ++# Jan Dittberner , 2016. #zanata ++# Ricardo Pinto , 2016. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib.pt\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-08-05 00:45+0100\n" +-"Last-Translator: Antonio Cardoso Martins \n" ++"PO-Revision-Date: 2016-09-05 10:12+0000\n" ++"Last-Translator: Ricardo Pinto \n" + "Language-Team: portuguese\n" +-"Language: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.10\n" ++"Language: pt\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -79,4 +81,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "erro ao carregar o dicionário" +diff -urN cracklib-2.9.6.old/po/ru.po cracklib-2.9.6.new/po/ru.po +--- cracklib-2.9.6.old/po/ru.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/ru.po 2018-10-09 11:38:50.654867472 +0200 +@@ -4,45 +4,46 @@ + # + # Anton Dobkin , 2008. + # Yulia Poyarko , 2009. ++# Igor Gorbounov , 2016. #zanata ++# Jan Dittberner , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2009-12-03 10:17+1100\n" -"Last-Translator: Yulia \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-22 07:44-0400\n" -+"Last-Translator: ypoyarko \n" ++"PO-Revision-Date: 2018-08-16 12:43+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: \n" -"Language: \n" "MIME-Version: 1.0\n" @@ -1869,100 +2330,283 @@ diff -up cracklib-2.9.6/po/ru.po.translations cracklib-2.9.6/po/ru.po -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: ru\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"X-Generator: Zanata 3.1.2\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "вы не зарегистрированы в файле паролей" -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "основан на вашем имени пользователя" +-msgstr "основан на вашем имени пользователя" ++msgstr "на основе вашего имени пользователя" --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 + #: lib/fascist.c:576 msgid "it is based upon your password entry" -msgstr "основан на вашем входном пароле" -+msgstr "основан на вашем пароле" ++msgstr "на основе введенного вами пароля" --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 + #: lib/fascist.c:591 msgid "it is derived from your password entry" - msgstr "получен из вашего входного пароля" +-msgstr "получен из вашего входного пароля" ++msgstr "получен из введенного вами пароля" --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 + #: lib/fascist.c:599 msgid "it's derived from your password entry" - msgstr "получен из вашего входного пароля" +-msgstr "получен из вашего входного пароля" ++msgstr "получен из введенного вами пароля" --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 + #: lib/fascist.c:608 msgid "it is derivable from your password entry" -msgstr "получен из вашего входного пароля" -+msgstr "получен из вашего пароля" ++msgstr "получается из введенного вами пароля" --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 + #: lib/fascist.c:617 msgid "it's derivable from your password entry" -msgstr "получен из вашего входного пароля" -+msgstr "получен из вашего пароля" ++msgstr "получается из введенного вами пароля" --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "вы не зарегистрированы в файле паролей" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" --msgstr "СЛИШКОМ короткий" + #: lib/fascist.c:674 + msgid "you are not registered in the password file" +@@ -54,11 +55,11 @@ + + #: lib/fascist.c:714 + msgid "it is too short" +-msgstr "короткий" +msgstr "слишком короткий" --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "короткий" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 + #: lib/fascist.c:731 msgid "it does not contain enough DIFFERENT characters" - msgstr "не содержит достаточное число РАЗЛИЧНЫХ символов" +-msgstr "не содержит достаточное число РАЗЛИЧНЫХ символов" ++msgstr "не содержит достаточного числа РАЗЛИЧНЫХ символов" --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 + #: lib/fascist.c:745 msgid "it is all whitespace" - msgstr "состоит из пробелов" +@@ -70,16 +71,16 @@ --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "слишком простой" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 + #: lib/fascist.c:769 msgid "it looks like a National Insurance number." - msgstr "похож на число государственного страхования." +-msgstr "похож на число государственного страхования." ++msgstr "похож на номер государственного страхования." --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 + #: lib/fascist.c:801 msgid "it is based on a dictionary word" - msgstr "основан на слове из словаря" +-msgstr "основан на слове из словаря" ++msgstr "на основе слова из словаря" --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 + #: lib/fascist.c:820 msgid "it is based on a (reversed) dictionary word" - msgstr "основан на измененном слове из словаря" +-msgstr "основан на измененном слове из словаря" ++msgstr "на основе (перевернутого) слова из словаря" --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" +msgstr "ошибка при загрузке словаря" -diff -up cracklib-2.9.6/po/ta.po.translations cracklib-2.9.6/po/ta.po ---- cracklib-2.9.6/po/ta.po.translations 2015-10-22 18:24:54.378118779 +0200 -+++ cracklib-2.9.6/po/ta.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/sk.po cracklib-2.9.6.new/po/sk.po +--- cracklib-2.9.6.old/po/sk.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/sk.po 2018-10-09 11:39:19.259580732 +0200 +@@ -1,20 +1,22 @@ + # translation of cracklib.po to Slovak + # This file is put in the public domain. + # Stanislav Visnovsky , 2003. +-# ++# Jan Dittberner , 2016. #zanata ++# feonsu , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2005-06-23 13:12+02:00\n" +-"Last-Translator: Stanislav Visnovsky \n" ++"PO-Revision-Date: 2016-10-11 06:53+0000\n" ++"Last-Translator: feonsu \n" + "Language-Team: Slovak \n" +-"Language: sk\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.2beta3\n" ++"Language: sk\n" ++"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -78,4 +80,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "chyba pri načítavaní slovníka" +diff -urN cracklib-2.9.6.old/po/sq.po cracklib-2.9.6.new/po/sq.po +--- cracklib-2.9.6.old/po/sq.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/sq.po 2018-10-09 11:39:15.354483358 +0200 +@@ -0,0 +1,79 @@ ++# Jona Azizaj , 2017. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2017-04-17 10:20+0000\n" ++"Last-Translator: Anxhela Hyseni \n" ++"Language-Team: Albanian\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: sq\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "kjo është bazuar në emrin e përdoruesit tuaj" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "kjo është bazuar në fjalëkalimin që ju keni dhënë" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "kjo është përftuar nga fjalëkalimi që ju keni dhënë" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "kjo është përftuar nga fjalëkalimi që ju keni dhënë" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "kjo u përfitua nga fjalëkalimi që ju keni dhënë" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "kjo u përfitua nga fjalëkalimi që ju keni dhënë" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "ju nuk jeni regjistruar në skedarin e fjalëkalimit" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "kjo është JASHTËZAKONISHT shumë e shkurtër" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "kjo është shumë e shkurtër" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "nuk përmban mjaftueshëm karaktere të NDRYSHME" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "është e gjitha hapësirë e bardhë" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "është shumë i thjeshtë/ sistematik" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr "ngjan sikur është numër Sigurimi Kombëtar." ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "është bazuar në një fjalë në fjalor" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "është bazuar në një fjalë (mbrapsht) në fjalor" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "gabim në ngarkimin e fjalorit" +diff -urN cracklib-2.9.6.old/po/sv.po cracklib-2.9.6.new/po/sv.po +--- cracklib-2.9.6.old/po/sv.po 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/po/sv.po 2018-10-09 11:39:17.304531983 +0200 +@@ -0,0 +1,79 @@ ++# Göran Uddeborg , 2017. #zanata ++msgid "" ++msgstr "" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2017-03-29 03:16+0000\n" ++"Last-Translator: Göran Uddeborg \n" ++"Language-Team: Swedish\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: sv\n" ++"Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 4.6.2\n" ++ ++#: lib/fascist.c:516 ++msgid "it is based on your username" ++msgstr "det är baserat på ditt användarnamn" ++ ++#: lib/fascist.c:576 ++msgid "it is based upon your password entry" ++msgstr "det är baserat på din lösenordspost" ++ ++#: lib/fascist.c:591 ++msgid "it is derived from your password entry" ++msgstr "det är härlett från din lösenordspost" ++ ++#: lib/fascist.c:599 ++msgid "it's derived from your password entry" ++msgstr "det är härlett från din lösenordspost" ++ ++#: lib/fascist.c:608 ++msgid "it is derivable from your password entry" ++msgstr "det är härledbart från din lösenordspost" ++ ++#: lib/fascist.c:617 ++msgid "it's derivable from your password entry" ++msgstr "det är härledbart från din lösenordspost" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "du är inte registrerad i lösenordsfilen" ++ ++#: lib/fascist.c:709 ++msgid "it is WAY too short" ++msgstr "det är ALLDELES för kort" ++ ++#: lib/fascist.c:714 ++msgid "it is too short" ++msgstr "det är för kort" ++ ++#: lib/fascist.c:731 ++msgid "it does not contain enough DIFFERENT characters" ++msgstr "det innehåller inte tillräckligt med OLIKA tecken" ++ ++#: lib/fascist.c:745 ++msgid "it is all whitespace" ++msgstr "det är bara blanktecken" ++ ++#: lib/fascist.c:764 ++msgid "it is too simplistic/systematic" ++msgstr "det är för simplistiskt/systematiskt" ++ ++#: lib/fascist.c:769 ++msgid "it looks like a National Insurance number." ++msgstr "det ser ut som ett personnummer" ++ ++#: lib/fascist.c:801 ++msgid "it is based on a dictionary word" ++msgstr "det är baserat på ett ord ur ordlistan" ++ ++#: lib/fascist.c:820 ++msgid "it is based on a (reversed) dictionary word" ++msgstr "det är baserat på ett (omvänt) ord ur ordlistan" ++ ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "fel när ordlistan lästes in" +diff -urN cracklib-2.9.6.old/po/ta.po cracklib-2.9.6.new/po/ta.po +--- cracklib-2.9.6.old/po/ta.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/ta.po 2018-10-09 11:57:33.761928776 +0200 @@ -1,83 +1,84 @@ # translation of cracklib.default.cracklib.po to Tamil # Copyright (C) 2009 Free Software Foundation, Inc. @@ -2075,9 +2719,9 @@ diff -up cracklib-2.9.6/po/ta.po.translations cracklib-2.9.6/po/ta.po msgid "error loading dictionary" -msgstr "" +msgstr "அகராதியை ஏற்றுவதில் பிழை" -diff -up cracklib-2.9.6/po/te.po.translations cracklib-2.9.6/po/te.po ---- cracklib-2.9.6/po/te.po.translations 2015-10-22 18:24:54.379118803 +0200 -+++ cracklib-2.9.6/po/te.po 2014-07-09 17:24:45.000000000 +0200 +diff -urN cracklib-2.9.6.old/po/te.po cracklib-2.9.6.new/po/te.po +--- cracklib-2.9.6.old/po/te.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/te.po 2018-10-09 11:57:33.761928776 +0200 @@ -1,84 +1,85 @@ # translation of cracklib.pot to Telugu # Copyright (C) 2009 Free Software Foundation, Inc. @@ -2191,221 +2835,250 @@ diff -up cracklib-2.9.6/po/te.po.translations cracklib-2.9.6/po/te.po msgid "error loading dictionary" -msgstr "" +msgstr "నిఘంటువును లోడు చేయుటలో దోషం" -diff -up cracklib-2.9.6/po/zh_CN.po.translations cracklib-2.9.6/po/zh_CN.po ---- cracklib-2.9.6/po/zh_CN.po.translations 2011-07-26 11:55:29.000000000 +0200 -+++ cracklib-2.9.6/po/zh_CN.po 2014-07-09 17:24:45.000000000 +0200 -@@ -1,78 +1,84 @@ - # translation of cracklib.default.po to Wei Liu - # Copyright (C) 2010 Free Software Foundation, Inc. +diff -urN cracklib-2.9.6.old/po/tr.po cracklib-2.9.6.new/po/tr.po +--- cracklib-2.9.6.old/po/tr.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/tr.po 2018-10-09 11:38:00.427619872 +0200 +@@ -3,19 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. --# -+# - # Leah Liu , 2010. -+# Leah Liu , 2013. #zanata + # + # Görkem Çetin , 2006. ++# Jan Dittberner , 2016. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib.default\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2010-03-02 21:00-0600\n" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2006-03-12 22:56+0200\n" +-"Last-Translator: Görkem Çetin \n" +-"Language-Team: \n" +-"Language: \n" ++"PO-Revision-Date: 2016-06-18 01:03+0000\n" ++"Last-Translator: Copied by Zanata \n" ++"Language-Team: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: KBabel 1.11\n" ++"Language: tr\n" ++"Plural-Forms: nplurals=2; plural=(n>1)\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +diff -urN cracklib-2.9.6.old/po/uk.po cracklib-2.9.6.new/po/uk.po +--- cracklib-2.9.6.old/po/uk.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/uk.po 2018-10-09 11:38:27.234283479 +0200 +@@ -2,21 +2,22 @@ + # This file is distributed under the same license as the PACKAGE package. + # + # Yuri Chornoivan , 2010. ++# Jan Dittberner , 2016. #zanata ++# Yuri Chornoivan , 2016. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: \n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"PO-Revision-Date: 2010-04-16 19:43+0300\n" ++"PO-Revision-Date: 2016-06-19 02:18+0000\n" + "Last-Translator: Yuri Chornoivan \n" + "Language-Team: Ukrainian \n" +-"Language: uk\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"X-Generator: Lokalize 1.0\n" +-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"Language: uk\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"X-Generator: Zanata 4.6.2\n" + + #: lib/fascist.c:516 + msgid "it is based on your username" +@@ -80,4 +81,4 @@ + + #: lib/fascist.c:865 + msgid "error loading dictionary" +-msgstr "" ++msgstr "помилка під час спроби завантажити словник" +diff -urN cracklib-2.9.6.old/po/zh_CN.po cracklib-2.9.6.new/po/zh_CN.po +--- cracklib-2.9.6.old/po/zh_CN.po 2011-07-26 11:55:29.000000000 +0200 ++++ cracklib-2.9.6.new/po/zh_CN.po 2018-10-09 11:38:25.279234731 +0200 +@@ -1,78 +1,86 @@ +-# translation of cracklib.default.po to Wei Liu ++# translation of cracklib.po to Wei Liu + # Copyright (C) 2010 Free Software Foundation, Inc. +-# This file is distributed under the same license as the PACKAGE package. ++# This file is distributed under the same license as the cracklib package. + # + # Leah Liu , 2010. ++# translation of cracklib.default.po to Wei Liu ++# This file is distributed under the same license as the PACKAGE package. ++# Ludek Janda , 2018. #zanata + msgid "" + msgstr "" +-"Project-Id-Version: cracklib.default\n" +-"Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-03-02 21:00-0600\n" -"PO-Revision-Date: 2010-09-07 23:42+1000\n" -+"PO-Revision-Date: 2013-09-25 01:44-0400\n" - "Last-Translator: Leah Liu \n" +-"Last-Translator: Leah Liu \n" ++"Project-Id-Version: cracklib 2.9.6\n" ++"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" ++"POT-Creation-Date: 2015-08-18 13:45-0500\n" ++"PO-Revision-Date: 2018-08-21 09:51+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Wei Liu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" -+"Language: zh-CN\n" -+"X-Generator: Zanata 3.1.2\n" -+"Plural-Forms: nplurals=1; plural=0\n" - +- -#: lib/fascist.c:550 -+#: ../lib/fascist.c:550 - msgid "you are not registered in the password file" - msgstr "尚未在口令文件中注册" +-msgid "you are not registered in the password file" +-msgstr "尚未在口令文件中注册" ++"Language: zh_CN\n" ++"Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 4.6.2\n" -#: lib/fascist.c:564 -+#: ../lib/fascist.c:564 ++#: lib/fascist.c:516 msgid "it is based on your username" - msgstr "它基于用户名" +-msgstr "它基于用户名" ++msgstr "它基于您的用户名" -#: lib/fascist.c:629 -+#: ../lib/fascist.c:629 ++#: lib/fascist.c:576 msgid "it is based upon your password entry" - msgstr "它基于输入的口令" +-msgstr "它基于输入的口令" ++msgstr "它基于您的密码" -#: lib/fascist.c:649 -+#: ../lib/fascist.c:649 ++#: lib/fascist.c:591 msgid "it is derived from your password entry" - msgstr "它派生自输入的口令" +-msgstr "它派生自输入的口令" ++msgstr "它根据您的密码生成" -#: lib/fascist.c:662 -+#: ../lib/fascist.c:662 ++#: lib/fascist.c:599 msgid "it's derived from your password entry" - msgstr "它派生自输入的口令" +-msgstr "它派生自输入的口令" ++msgstr "它根据您的密码生成" -#: lib/fascist.c:676 -+#: ../lib/fascist.c:676 ++#: lib/fascist.c:608 msgid "it is derivable from your password entry" - msgstr "可从输入的口令推断" +-msgstr "可从输入的口令推断" ++msgstr "它可以根据您的密码生成" -#: lib/fascist.c:690 -+#: ../lib/fascist.c:690 ++#: lib/fascist.c:617 msgid "it's derivable from your password entry" - msgstr "可从输入的口令推断" +-msgstr "可从输入的口令推断" ++msgstr "它可以根据您的密码生成" ++ ++#: lib/fascist.c:674 ++msgid "you are not registered in the password file" ++msgstr "您没有在密码文件中注册" -#: lib/fascist.c:726 -+#: ../lib/fascist.c:726 ++#: lib/fascist.c:709 msgid "it is WAY too short" - msgstr "WAY 过短" +-msgstr "WAY 过短" ++msgstr "太短" -#: lib/fascist.c:731 -+#: ../lib/fascist.c:731 ++#: lib/fascist.c:714 msgid "it is too short" - msgstr "过短" +-msgstr "过短" ++msgstr "太短" -#: lib/fascist.c:748 -+#: ../lib/fascist.c:748 ++#: lib/fascist.c:731 msgid "it does not contain enough DIFFERENT characters" - msgstr "它没有包含足够的不同字符" +-msgstr "它没有包含足够的不同字符" ++msgstr "不包括足够不同的字符" -#: lib/fascist.c:762 -+#: ../lib/fascist.c:762 ++#: lib/fascist.c:745 msgid "it is all whitespace" - msgstr "全是空格" +-msgstr "全是空格" ++msgstr "都是空白" -#: lib/fascist.c:781 -+#: ../lib/fascist.c:781 ++#: lib/fascist.c:764 msgid "it is too simplistic/systematic" - msgstr "过于简单化/系统化" +-msgstr "过于简单化/系统化" ++msgstr "太简单或太有规律" -#: lib/fascist.c:786 -+#: ../lib/fascist.c:786 ++#: lib/fascist.c:769 msgid "it looks like a National Insurance number." - msgstr "看起来像国家保险号码。" +-msgstr "看起来像国家保险号码。" ++msgstr "象国家保险号。" -#: lib/fascist.c:813 -+#: ../lib/fascist.c:813 ++#: lib/fascist.c:801 msgid "it is based on a dictionary word" - msgstr "它基于字典单词" +-msgstr "它基于字典单词" ++msgstr "它基于一个字典中的词" -#: lib/fascist.c:832 -+#: ../lib/fascist.c:832 ++#: lib/fascist.c:820 msgid "it is based on a (reversed) dictionary word" - msgstr "它基于(颠倒的)字典单词" +-msgstr "它基于(颠倒的)字典单词" ++msgstr "它基于一个字典中的词的反向拼写" -+#: ../lib/fascist.c:867 ++#: lib/fascist.c:865 +msgid "error loading dictionary" -+msgstr "载入字典出错" -diff -up cracklib-2.9.6/po/zh_TW.po.translations cracklib-2.9.6/po/zh_TW.po ---- cracklib-2.9.6/po/zh_TW.po.translations 2015-10-22 18:24:54.379118803 +0200 -+++ cracklib-2.9.6/po/zh_TW.po 2014-07-09 17:24:45.000000000 +0200 -@@ -2,80 +2,82 @@ ++msgstr "加载字典错误" +diff -urN cracklib-2.9.6.old/po/zh_TW.po cracklib-2.9.6.new/po/zh_TW.po +--- cracklib-2.9.6.old/po/zh_TW.po 2015-08-18 20:48:15.000000000 +0200 ++++ cracklib-2.9.6.new/po/zh_TW.po 2018-10-09 11:37:47.781308079 +0200 +@@ -2,19 +2,22 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# -+# tchuang , 2013. #zanata ++# Jan Dittberner , 2016. #zanata ++# Peter Pan , 2018. #zanata msgid "" msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" +-"Project-Id-Version: cracklib\n" ++"Project-Id-Version: cracklib 2.9.6\n" + "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" + "POT-Creation-Date: 2015-08-18 13:45-0500\n" -"PO-Revision-Date: 2005-06-23 12:52+0200\n" -"Last-Translator: Novell Language \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-22 09:50-0400\n" -+"Last-Translator: tchuang \n" ++"PO-Revision-Date: 2018-08-16 12:45+0000\n" ++"Last-Translator: Copied by Zanata \n" "Language-Team: Novell Language \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -+"Language: zh-TW\n" -+"X-Generator: Zanata 3.1.2\n" ++"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 4.6.2\n" --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "您沒有在密碼檔案中註冊。" -+ -+#: ../lib/fascist.c:564 + #: lib/fascist.c:516 msgid "it is based on your username" - msgstr "這是根據您的使用者名稱" +@@ -78,4 +81,4 @@ --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "這是根據您的密碼項目" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "這是從您的密碼項目中獲得的" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "這是從您的密碼項目中獲得的" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "這可以從您的密碼項目中獲得" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "這可以從您的密碼項目中獲得" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "您沒有在密碼檔案中註冊。" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "太短了" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "太短了" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "未包含足夠的的不同字元。" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "全部都是空格" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "太簡單/太過於系統化" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "看起來向是國際保險號碼。" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "根據辭典單字" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "根據 (顛倒的) 辭典單字" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 + #: lib/fascist.c:865 msgid "error loading dictionary" -msgstr "" -+msgstr "載入字典時發生了錯誤" ++msgstr "讀取字典時錯誤" +diff -urN cracklib-2.9.6.old/zanata.xml cracklib-2.9.6.new/zanata.xml +--- cracklib-2.9.6.old/zanata.xml 1970-01-01 01:00:00.000000000 +0100 ++++ cracklib-2.9.6.new/zanata.xml 2018-10-09 11:37:21.033648627 +0200 +@@ -0,0 +1,7 @@ ++ ++ ++ https://fedora.zanata.org/ ++ cracklib ++ master ++ gettext ++ diff --git a/cracklib.spec b/cracklib.spec index c5f5e6a..8540daf 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 15%{?dist} +Release: 16%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -233,6 +233,9 @@ EOF %endif %changelog +* Tue Oct 9 2018 Tomáš Mráz - 2.9.6-16 +- Updated translations + * Fri Jul 13 2018 Tomáš Mráz - 2.9.6-15 - The test must use the dictionary from the build From 6d35644e4b36f5297d783b37f11041f8e86f054e Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 10 Oct 2018 14:36:31 +0200 Subject: [PATCH 55/85] Fix minor bug found in the Coverity scan --- cracklib-2.9.6-coverity.patch | 20 ++++++++++++++++++++ cracklib.spec | 7 ++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 cracklib-2.9.6-coverity.patch diff --git a/cracklib-2.9.6-coverity.patch b/cracklib-2.9.6-coverity.patch new file mode 100644 index 0000000..457b55f --- /dev/null +++ b/cracklib-2.9.6-coverity.patch @@ -0,0 +1,20 @@ +diff -up cracklib-2.9.6/lib/rules.c.coverity cracklib-2.9.6/lib/rules.c +--- cracklib-2.9.6/lib/rules.c.coverity 2018-10-09 12:15:31.455187555 +0200 ++++ cracklib-2.9.6/lib/rules.c 2018-10-10 14:28:43.472740618 +0200 +@@ -774,6 +774,8 @@ Mangle(input, control, area) /* returns + } + } + } ++ break; ++ + case RULE_MLAST: + if (!ptr[1] || (ptr[1] == RULE_CLASS && !ptr[2])) + { +@@ -809,6 +811,7 @@ Mangle(input, control, area) /* returns + } + } + } ++ break; + + default: + Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control); diff --git a/cracklib.spec b/cracklib.spec index 8540daf..016e5fc 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 16%{?dist} +Release: 17%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -26,6 +26,7 @@ Patch4: cracklib-2.9.6-packlib-reentrant.patch Patch6: cracklib-2.9.6-simplistic.patch Patch7: cracklib-2.9.6-translation-updates.patch Patch8: cracklib-2.9.6-cve-2016-6318.patch +Patch9: cracklib-2.9.6-coverity.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -110,6 +111,7 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch6 -p1 -b .simplistic %patch7 -p1 -b .translations %patch8 -p1 -b .overflow +%patch9 -p1 -b .coverity mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE1} @@ -233,6 +235,9 @@ EOF %endif %changelog +* Wed Oct 10 2018 Tomáš Mráz - 2.9.6-17 +- Fix minor bug found in the Coverity scan + * Tue Oct 9 2018 Tomáš Mráz - 2.9.6-16 - Updated translations From bc61ed011962c8422848c13cf4ae19725499e218 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 26 Nov 2018 16:44:58 +0100 Subject: [PATCH 56/85] Fix regression in dictionary creation and lookup --- cracklib-2.9.6-lookup.patch | 60 +++++++++++++++++++++++++++++++++ cracklib-2.9.6-simplistic.patch | 2 +- cracklib.spec | 7 +++- 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 cracklib-2.9.6-lookup.patch diff --git a/cracklib-2.9.6-lookup.patch b/cracklib-2.9.6-lookup.patch new file mode 100644 index 0000000..52ce857 --- /dev/null +++ b/cracklib-2.9.6-lookup.patch @@ -0,0 +1,60 @@ +diff -up cracklib-2.9.6/lib/packlib.c.lookup cracklib-2.9.6/lib/packlib.c +--- cracklib-2.9.6/lib/packlib.c.lookup 2018-10-10 14:19:06.988958835 +0200 ++++ cracklib-2.9.6/lib/packlib.c 2018-11-26 16:04:34.648256614 +0100 +@@ -585,12 +585,11 @@ fprintf(stderr, "look for (%s)\n", strin + fprintf(stderr, "---- %lu, %lu ----\n", lwm, hwm); + #endif + +- middle = lwm + ((hwm - lwm + 1) / 2); +- + for (;;) + { + int cmp; + ++ middle = lwm + ((hwm - lwm + 1) / 2); + + #if DEBUG + fprintf(stderr, "lwm = %lu, middle = %lu, hwm = %lu\n", lwm, middle, hwm); +@@ -617,24 +616,28 @@ fprintf(stderr, "look for (%s)\n", strin + return(middle); + } + +- if (middle == hwm) +- { +-#if DEBUG +- fprintf(stderr, "at terminal subdivision, stopping search\n"); +-#endif +- break; +- } +- + if (cmp < 0) + { +- hwm = middle; +- middle = lwm + ((hwm - lwm ) / 2); +- } ++ if (middle == lwm) ++ { ++#if DEBUG ++ fprintf(stderr, "at terminal subdivision from right, stopping search\n"); ++#endif ++ break; ++ } ++ hwm = middle - 1; ++ } + else if (cmp > 0) + { +- lwm = middle; +- middle = lwm + ((hwm - lwm + 1) / 2); +- } ++ if (middle == hwm) ++ { ++#if DEBUG ++ fprintf(stderr, "at terminal subdivision from left, stopping search\n"); ++#endif ++ break; ++ } ++ lwm = middle + 1; ++ } + } + + return (PW_WORDS(pwp)); diff --git a/cracklib-2.9.6-simplistic.patch b/cracklib-2.9.6-simplistic.patch index 650b103..743b9cb 100644 --- a/cracklib-2.9.6-simplistic.patch +++ b/cracklib-2.9.6-simplistic.patch @@ -106,7 +106,7 @@ diff -up cracklib-2.9.6/util/cracklib-format.simplistic cracklib-2.9.6/util/crac - tr '[A-Z]' '[a-z]' | - tr -cd '\012[a-z][0-9]' | - env LC_ALL=C sort -u -+ grep -a -E -v '^.{30,}$' | ++ grep -a -E -v '^.{32,}$' | + tr '[:upper:]' '[:lower:]' | + tr -cd '\n[:graph:]' | + sort -u diff --git a/cracklib.spec b/cracklib.spec index 016e5fc..c9acbde 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 17%{?dist} +Release: 18%{?dist} Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -27,6 +27,7 @@ Patch6: cracklib-2.9.6-simplistic.patch Patch7: cracklib-2.9.6-translation-updates.patch Patch8: cracklib-2.9.6-cve-2016-6318.patch Patch9: cracklib-2.9.6-coverity.patch +Patch10: cracklib-2.9.6-lookup.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -112,6 +113,7 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch7 -p1 -b .translations %patch8 -p1 -b .overflow %patch9 -p1 -b .coverity +%patch10 -p1 -b .lookup mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE1} @@ -235,6 +237,9 @@ EOF %endif %changelog +* Mon Nov 26 2018 Tomáš Mráz - 2.9.6-18 +- Fix regression in dictionary creation and lookup + * Wed Oct 10 2018 Tomáš Mráz - 2.9.6-17 - Fix minor bug found in the Coverity scan From f67e241300c623443709a7470cd05413aefdc9e4 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:41 +0100 Subject: [PATCH 57/85] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- cracklib.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index c9acbde..f421f8d 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -6,7 +6,6 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 Release: 18%{?dist} -Group: System Environment/Libraries Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -62,7 +61,6 @@ CrackLib, you will also want to install the cracklib-dicts package. %package devel Summary: Development files needed for building applications which use cracklib -Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel @@ -72,7 +70,6 @@ for compiling applications which use cracklib. %if 0%{?rhel} == 0 %package -n python2-cracklib Summary: Python bindings for applications which use cracklib -Group: Development/Libraries Requires: %{name} = %{version}-%{release} %{?python_provide:%python_provide python2-cracklib} # Remove before F30 @@ -87,7 +84,6 @@ written in the Python programming language to use cracklib. %package dicts Summary: The standard CrackLib dictionaries -Group: System Environment/Libraries BuildRequires: words >= 2-13 Requires: cracklib = %{version}-%{release} From 1595629cca72aa6e74d595dce0e199e69578d907 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 29 Jan 2019 05:34:36 +0100 Subject: [PATCH 58/85] Remove obsolete BuildRoot tag Signed-off-by: Igor Gnatenko --- cracklib.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index f421f8d..96adad7 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -29,7 +29,6 @@ Patch9: cracklib-2.9.6-coverity.patch Patch10: cracklib-2.9.6-lookup.patch URL: http://sourceforge.net/projects/cracklib/ License: LGPLv2+ -Buildroot: %{_tmppath}/%{name}-%{version}-root BuildRequires: gcc BuildRequires: words, gettext BuildRequires: gettext-autopoint From c7cf122685d25a0263568c10e5679d31020dfca2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 16:23:54 +0000 Subject: [PATCH 59/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 96adad7..3ebc5d5 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 18%{?dist} +Release: 19%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -232,6 +232,9 @@ EOF %endif %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 2.9.6-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Mon Nov 26 2018 Tomáš Mráz - 2.9.6-18 - Fix regression in dictionary creation and lookup From 2e9952380c838219e49739bd2a767c4877afa303 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 21:09:23 +0000 Subject: [PATCH 60/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 3ebc5d5..62b9a6c 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 19%{?dist} +Release: 20%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -232,6 +232,9 @@ EOF %endif %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 2.9.6-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jan 31 2019 Fedora Release Engineering - 2.9.6-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From a11e8f0582e0389f8ac141293fc78b8ec91144ba Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Fri, 9 Aug 2019 16:46:56 +0200 Subject: [PATCH 61/85] Drop Python 2 bindings completely --- cracklib.spec | 62 ++++----------------------------------------------- 1 file changed, 4 insertions(+), 58 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 62b9a6c..0c5b473 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 20%{?dist} +Release: 21%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -33,9 +33,6 @@ BuildRequires: gcc BuildRequires: words, gettext BuildRequires: gettext-autopoint BuildRequires: zlib-devel -%if 0%{?rhel} == 0 -BuildRequires: python2-devel -%endif Conflicts: cracklib-dicts < 2.8 # The cracklib-format script calls gzip, but without a specific path. Requires: gzip @@ -66,21 +63,6 @@ Requires: %{name} = %{version}-%{release} The cracklib-devel package contains the header files and libraries needed for compiling applications which use cracklib. -%if 0%{?rhel} == 0 -%package -n python2-cracklib -Summary: Python bindings for applications which use cracklib -Requires: %{name} = %{version}-%{release} -%{?python_provide:%python_provide python2-cracklib} -# Remove before F30 -Provides: %{name}-python = %{version}-%{release} -Provides: %{name}-python%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-python < %{version}-%{release} - -%description -n python2-cracklib -The cracklib-python package contains a module which permits applications -written in the Python programming language to use cracklib. -%endif - %package dicts Summary: The standard CrackLib dictionaries BuildRequires: words >= 2-13 @@ -121,11 +103,7 @@ chmod +x util/cracklib-format # Use the dictionary from the build to test sed -i 's,util/cracklib-check <,util/cracklib-check $(DESTDIR)/$(DEFAULT_CRACKLIB_DICT) <,' Makefile.in %configure --with-pic \ -%if 0%{?rhel} == 0 - --with-python \ -%else --without-python \ -%endif --with-default-dict=%{dictpath} --disable-static make -C po update-gmo make @@ -171,35 +149,6 @@ fi %check make test DESTDIR=$RPM_BUILD_ROOT -%if 0%{?rhel} == 0 -# We want to check that the new library is able to open the new dictionaries, -# using the new python module. -LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir} %{__python2} 2>&1 << EOF -import string, sys -# Prepend buildroot-specific variations of the python path to the python path. -syspath2=[] -for element in sys.path: - syspath2.append("$RPM_BUILD_ROOT/" + element) -syspath2.reverse() -for element in syspath2: - sys.path.insert(0,element) -# Now actually do the test. If we get a different result, or throw an -# exception, the script will end with the error. -import cracklib -try: - s = cracklib.FascistCheck("cracklib", "$RPM_BUILD_ROOT/%{dictpath}") -except ValueError, message: - expected = "it is based on a dictionary word" - if message != expected: - print "Got unexpected result \"%s\"," % messgae, - print "instead of expected value of \"%s\"." % expected - sys.exit(1) - print "Got expected result \"%s\"," % message - sys.exit(0) -finally: - sys.exit(0) -EOF -%endif %ldconfig_scriptlets @@ -225,13 +174,10 @@ EOF %{_sbindir}/mkdict %{_sbindir}/packer -%if 0%{?rhel} == 0 -%files -n python2-cracklib -%{_libdir}/python*/site-packages/_cracklib*.so -%{_libdir}/python*/site-packages/*.py* -%endif - %changelog +* Fri Aug 9 2019 Tomáš Mráz - 2.9.6-21 +- Drop Python 2 bindings completely + * Wed Jul 24 2019 Fedora Release Engineering - 2.9.6-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 8dcbcb28e3b34b93193c52cfe60f8f26602674ef Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 14:58:29 +0000 Subject: [PATCH 62/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 0c5b473..1364d9c 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 21%{?dist} +Release: 22%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -175,6 +175,9 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/packer %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 2.9.6-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Fri Aug 9 2019 Tomáš Mráz - 2.9.6-21 - Drop Python 2 bindings completely From 32ce35d61ab71d8c8a64ff77b651c9f28801de7d Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 13 Jul 2020 18:54:59 +0000 Subject: [PATCH 63/85] Use make macros https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro --- cracklib.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 1364d9c..38a5162 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 22%{?dist} +Release: 23%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -110,7 +110,7 @@ make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT 'pythondir=${pyexecdir}' +%make_install 'pythondir=${pyexecdir}' ./util/cracklib-format cracklib-dicts/* | \ ./util/cracklib-packer $RPM_BUILD_ROOT/%{dictpath} ./util/cracklib-format $RPM_BUILD_ROOT/%{dictdir}/cracklib-small | \ @@ -175,6 +175,10 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/packer %changelog +* Mon Jul 13 2020 Tom Stellard - 2.9.6-23 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + * Tue Jan 28 2020 Fedora Release Engineering - 2.9.6-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 28dcf39ec147ce819f46f27b42b20bd536cc1b36 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 14:42:06 +0000 Subject: [PATCH 64/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 38a5162..5f36a78 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 23%{?dist} +Release: 24%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -175,6 +175,9 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/packer %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 2.9.6-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 13 2020 Tom Stellard - 2.9.6-23 - Use make macros - https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro From 3e85d8d26dd0952b6fd54352b7b1d961c654fefa Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 17 Dec 2020 03:59:46 +0000 Subject: [PATCH 65/85] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- cracklib.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/cracklib.spec b/cracklib.spec index 5f36a78..a07defd 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -66,6 +66,7 @@ for compiling applications which use cracklib. %package dicts Summary: The standard CrackLib dictionaries BuildRequires: words >= 2-13 +BuildRequires: make Requires: cracklib = %{version}-%{release} %description dicts From 0cc486dfc528d941314a60b21225bc943fb9dfe6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 02:40:38 +0000 Subject: [PATCH 66/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index a07defd..184407f 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 24%{?dist} +Release: 25%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -176,6 +176,9 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/packer %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 2.9.6-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 2.9.6-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From fab3ab864115b36dbf36d3e0fdefb59557ac886f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 20:05:13 +0000 Subject: [PATCH 67/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 184407f..95a574b 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 25%{?dist} +Release: 26%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -176,6 +176,9 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/packer %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 2.9.6-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Tue Jan 26 2021 Fedora Release Engineering - 2.9.6-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 5d99be852eb974b33c8a7f0434989498c6659fcd Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Mon, 30 Aug 2021 23:50:23 +0300 Subject: [PATCH 68/85] - Resolves: rhbz#1994196 Remove /usr/bin/packer symbolic link --- cracklib.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 95a574b..ac02d1b 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 26%{?dist} +Release: 27%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -119,7 +119,8 @@ make rm -f $RPM_BUILD_ROOT/%{dictdir}/cracklib-small sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > $RPM_BUILD_ROOT/%{_includedir}/crack.h ln -s cracklib-format $RPM_BUILD_ROOT/%{_sbindir}/mkdict -ln -s cracklib-packer $RPM_BUILD_ROOT/%{_sbindir}/packer +# packer link removed as it clashes with hashicorp's packer binary. +#ln -s cracklib-packer $RPM_BUILD_ROOT/%{_sbindir}/packer touch $RPM_BUILD_ROOT/top toprelpath=.. @@ -173,9 +174,11 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_datadir}/cracklib/cracklib-small.* %{_libdir}/cracklib_dict.* %{_sbindir}/mkdict -%{_sbindir}/packer %changelog +* Mon Aug 30 2021 Paul Wouters - 2.9.6-27 +- Resolves: rhbz#1994196 Remove /usr/bin/packer symbolic link + * Wed Jul 21 2021 Fedora Release Engineering - 2.9.6-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From bd42e8f9cf83eea687bbd0aac55585339ffdb72f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 23:57:59 +0000 Subject: [PATCH 69/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index ac02d1b..2129bf3 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.6 -Release: 27%{?dist} +Release: 28%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz @@ -176,6 +176,9 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/mkdict %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 2.9.6-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Mon Aug 30 2021 Paul Wouters - 2.9.6-27 - Resolves: rhbz#1994196 Remove /usr/bin/packer symbolic link From 620dc687b7fde701fcfed6c43d4666c65a0eeadd Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Mon, 7 Mar 2022 20:04:01 -0500 Subject: [PATCH 70/85] update to 2.9.7 Mostly a security fix release for CVE 2016-6318 which was already fixed in Fedora. --- cracklib-2.9.7-packlib-reentrant.patch | 671 +++++++++++++++++++++++ cracklib-2.9.7-simplistic.patch | 217 ++++++++ cracklib-2.9.7-translation-updates.patch | 118 ++++ cracklib.spec | 8 +- 4 files changed, 1009 insertions(+), 5 deletions(-) create mode 100644 cracklib-2.9.7-packlib-reentrant.patch create mode 100644 cracklib-2.9.7-simplistic.patch create mode 100644 cracklib-2.9.7-translation-updates.patch diff --git a/cracklib-2.9.7-packlib-reentrant.patch b/cracklib-2.9.7-packlib-reentrant.patch new file mode 100644 index 0000000..0615aff --- /dev/null +++ b/cracklib-2.9.7-packlib-reentrant.patch @@ -0,0 +1,671 @@ +diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c +--- cracklib-2.9.7-orig/lib/fascist.c 2019-02-13 20:54:41.000000000 -0500 ++++ cracklib-2.9.7/lib/fascist.c 2022-03-07 14:48:53.348146748 -0500 +@@ -36,8 +36,8 @@ + #undef DEBUG + #undef DEBUG2 + +-extern char *Reverse(char *buf); +-extern char *Lowercase(char *buf); ++extern char *Reverse(char *buf, char *area); ++extern char *Lowercase(char *buf, char *area); + + static char *r_destructors[] = { + ":", /* noop - must do this to test raw word. */ +@@ -439,6 +439,8 @@ + int i; + int len; + char *mp; ++ char area[STRINGSIZE]; ++ char revarea[STRINGSIZE]; + + /* use destructors to turn password into rawtext */ + /* note use of Reverse() to save duplicating all rules */ +@@ -447,7 +449,7 @@ + + for (i = 0; r_destructors[i]; i++) + { +- if (!(mp = Mangle(password, r_destructors[i]))) ++ if (!(mp = Mangle(password, r_destructors[i], area))) + { + continue; + } +@@ -462,10 +464,10 @@ + } + + #ifdef DEBUG +- printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp), rawtext, r_destructors[i]); ++ printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp, revarea), rawtext, r_destructors[i]); + #endif + +- if (!strncmp(Reverse(mp), rawtext, len)) ++ if (!strncmp(Reverse(mp, revarea), rawtext, len)) + { + return (1); + } +@@ -473,7 +475,7 @@ + + for (i = 0; r_constructors[i]; i++) + { +- if (!(mp = Mangle(rawtext, r_constructors[i]))) ++ if (!(mp = Mangle(rawtext, r_constructors[i], area))) + { + continue; + } +@@ -520,7 +522,7 @@ + + strncpy(tbuffer, gecos, STRINGSIZE); + tbuffer[STRINGSIZE-1] = '\0'; +- strcpy(gbuffer, Lowercase(tbuffer)); ++ Lowercase(tbuffer, gbuffer); + + wc = 0; + ptr = gbuffer; +@@ -704,6 +706,7 @@ + char junk[STRINGSIZE]; + char *password; + char rpassword[STRINGSIZE]; ++ char area[STRINGSIZE]; + uint32_t notfound; + + notfound = PW_WORDS(pwp); +@@ -740,7 +743,7 @@ + return _("it does not contain enough DIFFERENT characters"); + } + +- strcpy(password, (char *)Lowercase(password)); ++ strcpy(password, (char *)Lowercase(password, area)); + + Trim(password); + +@@ -796,7 +799,7 @@ + { + char *a; + +- if (!(a = Mangle(password, r_destructors[i]))) ++ if (!(a = Mangle(password, r_destructors[i], area))) + { + continue; + } +@@ -811,13 +814,13 @@ + } + } + +- strcpy(password, (char *)Reverse(password)); ++ strcpy(password, (char *)Reverse(password, area)); + + for (i = 0; r_destructors[i]; i++) + { + char *a; + +- if (!(a = Mangle(password, r_destructors[i]))) ++ if (!(a = Mangle(password, r_destructors[i], area))) + { + continue; + } +diff -Naur cracklib-2.9.7-orig/lib/packer.h cracklib-2.9.7/lib/packer.h +--- cracklib-2.9.7-orig/lib/packer.h 2022-03-07 14:47:42.224763853 -0500 ++++ cracklib-2.9.7/lib/packer.h 2022-03-07 14:48:53.349146753 -0500 +@@ -82,7 +82,7 @@ + extern unsigned int FindPW(PWDICT *pwp, char *string); + extern int PutPW(PWDICT *pwp, char *string); + extern int PMatch(char *control, char *string); +-extern char *Mangle(char *input, char *control); ++extern char *Mangle(char *input, char *control, char *area); + extern char Chop(char *string); + extern char *Trim(char *string); + extern char *FascistLook(PWDICT *pwp, char *instring); +diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c +--- cracklib-2.9.7-orig/lib/packlib.c 2019-02-13 20:54:41.000000000 -0500 ++++ cracklib-2.9.7/lib/packlib.c 2022-03-07 14:48:53.349146753 -0500 +@@ -67,8 +67,8 @@ + char *mode; + { + int use64 = 0; +- static PWDICT pdesc; +- static PWDICT64 pdesc64; ++ PWDICT *pdesc; ++ PWDICT64 pdesc64; + char iname[STRINGSIZE]; + char dname[STRINGSIZE]; + char wname[STRINGSIZE]; +@@ -76,13 +76,11 @@ + void *ifp; + void *wfp; + +- if (pdesc.header.pih_magic == PIH_MAGIC) +- { +- fprintf(stderr, "%s: another dictionary already open\n", prefix); ++ pdesc = malloc(sizeof(*pdesc)); ++ if (pdesc == NULL) + return NULL; +- } + +- memset(&pdesc, '\0', sizeof(pdesc)); ++ memset(pdesc, '\0', sizeof(*pdesc)); + memset(&pdesc64, '\0', sizeof(pdesc64)); + + snprintf(iname, STRINGSIZE, "%s.pwi", prefix); +@@ -91,77 +89,80 @@ + + if (mode[0] == 'r') + { +- pdesc.flags &= ~PFOR_USEZLIB; ++ pdesc->flags &= ~PFOR_USEZLIB; + /* first try the normal db file */ +- if (!(pdesc.dfp = fopen(dname, mode))) ++ if (!(pdesc->dfp = fopen(dname, mode))) + { + #ifdef HAVE_ZLIB_H +- pdesc.flags |= PFOR_USEZLIB; ++ pdesc->flags |= PFOR_USEZLIB; + /* try extension .gz */ + snprintf(dname, STRINGSIZE, "%s.pwd.gz", prefix); +- if (!(pdesc.dfp = gzopen(dname, mode))) ++ if (!(pdesc->dfp = gzopen(dname, mode))) + { + perror(dname); ++ free(pdesc); + return NULL; + } + #else + perror(dname); ++ free(pdesc); + return NULL; + #endif + } + } + else + { +- pdesc.flags &= ~PFOR_USEZLIB; ++ pdesc->flags &= ~PFOR_USEZLIB; + /* write mode: use fopen */ +- if (!(pdesc.dfp = fopen(dname, mode))) ++ if (!(pdesc->dfp = fopen(dname, mode))) + { + perror(dname); ++ free(pdesc); + return NULL; + } + } + +- if (!(pdesc.ifp = fopen(iname, mode))) ++ if (!(pdesc->ifp = fopen(iname, mode))) + { + #ifdef HAVE_ZLIB_H +- if (pdesc.flags & PFOR_USEZLIB) +- gzclose(pdesc.dfp); ++ if(pdesc->flags & PFOR_USEZLIB) ++ gzclose(pdesc->dfp); + else + #endif +- fclose(pdesc.dfp); ++ fclose(pdesc->dfp); + perror(iname); ++ free(pdesc); + return NULL; + } + +- if ((pdesc.wfp = fopen(wname, mode))) ++ if ((pdesc->wfp = fopen(wname, mode))) + { +- pdesc.flags |= PFOR_USEHWMS; ++ pdesc->flags |= PFOR_USEHWMS; + } + +- ifp = pdesc.ifp; +- dfp = pdesc.dfp; +- wfp = pdesc.wfp; ++ ifp = pdesc->ifp; ++ dfp = pdesc->dfp; ++ wfp = pdesc->wfp; + + if (mode[0] == 'w') + { +- pdesc.flags |= PFOR_WRITE; +- pdesc.header.pih_magic = PIH_MAGIC; +- pdesc.header.pih_blocklen = NUMWORDS; +- pdesc.header.pih_numwords = 0; ++ pdesc->flags |= PFOR_WRITE; ++ pdesc->header.pih_magic = PIH_MAGIC; ++ pdesc->header.pih_blocklen = NUMWORDS; ++ pdesc->header.pih_numwords = 0; + +- fwrite((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp); ++ fwrite((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp); + } else + { +- pdesc.flags &= ~PFOR_WRITE; ++ pdesc->flags &= ~PFOR_WRITE; + +- if (!fread((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp)) ++ if (!fread((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp)) + { + fprintf(stderr, "%s: error reading header\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if (pdesc.flags & PFOR_USEZLIB) ++ if(pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -170,10 +171,11 @@ + { + fclose(wfp); + } ++ free(pdesc); + return NULL; + } + +- if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0)) ++ if ((pdesc->header.pih_magic == 0) || (pdesc->header.pih_numwords == 0)) + { + /* uh-oh. either a broken "64-bit" file or a garbage file. */ + rewind (ifp); +@@ -181,10 +183,9 @@ + { + fprintf(stderr, "%s: error reading header\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -193,6 +194,7 @@ + { + fclose(wfp); + } ++ free(pdesc); + return NULL; + } + if (pdesc64.header.pih_magic != PIH_MAGIC) +@@ -200,10 +202,9 @@ + /* nope, not "64-bit" after all */ + fprintf(stderr, "%s: error reading header\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -213,23 +214,23 @@ + { + fclose(wfp); + } ++ free(pdesc); + return NULL; + } +- pdesc.header.pih_magic = pdesc64.header.pih_magic; +- pdesc.header.pih_numwords = pdesc64.header.pih_numwords; +- pdesc.header.pih_blocklen = pdesc64.header.pih_blocklen; +- pdesc.header.pih_pad = pdesc64.header.pih_pad; ++ pdesc->header.pih_magic = pdesc64.header.pih_magic; ++ pdesc->header.pih_numwords = pdesc64.header.pih_numwords; ++ pdesc->header.pih_blocklen = pdesc64.header.pih_blocklen; ++ pdesc->header.pih_pad = pdesc64.header.pih_pad; + use64 = 1; + } + +- if (pdesc.header.pih_magic != PIH_MAGIC) ++ if (pdesc->header.pih_magic != PIH_MAGIC) + { + fprintf(stderr, "%s: magic mismatch\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -239,17 +240,17 @@ + { + fclose(wfp); + } ++ free(pdesc); + return NULL; + } + +- if (pdesc.header.pih_numwords < 1) ++ if (pdesc->header.pih_numwords < 1) + { + fprintf(stderr, "%s: invalid word count\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -258,17 +259,17 @@ + { + fclose(wfp); + } ++ free(pdesc); + return NULL; + } + +- if (pdesc.header.pih_blocklen != NUMWORDS) ++ if (pdesc->header.pih_blocklen != NUMWORDS) + { + fprintf(stderr, "%s: size mismatch\n", prefix); + +- pdesc.header.pih_magic = 0; + fclose(ifp); + #ifdef HAVE_ZLIB_H +- if (pdesc.flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) + gzclose(dfp); + else + #endif +@@ -277,10 +278,11 @@ + { + fclose(wfp); + } ++ free(pdesc); + return NULL; + } + +- if (pdesc.flags & PFOR_USEHWMS) ++ if (pdesc->flags & PFOR_USEHWMS) + { + int i; + +@@ -288,27 +290,27 @@ + { + if (fread(pdesc64.hwms, 1, sizeof(pdesc64.hwms), wfp) != sizeof(pdesc64.hwms)) + { +- pdesc.flags &= ~PFOR_USEHWMS; ++ pdesc->flags &= ~PFOR_USEHWMS; + } +- for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++) ++ for (i = 0; i < sizeof(pdesc->hwms) / sizeof(pdesc->hwms[0]); i++) + { +- pdesc.hwms[i] = pdesc64.hwms[i]; ++ pdesc->hwms[i] = pdesc64.hwms[i]; + } +- } +- else if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms)) ++ } ++ else if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms)) + { +- pdesc.flags &= ~PFOR_USEHWMS; ++ pdesc->flags &= ~PFOR_USEHWMS; + } + #if DEBUG + for (i=1; i<=0xff; i++) + { +- printf("hwm[%02x] = %d\n", i, pdesc.hwms[i]); ++ printf("hwm[%02x] = %d\n", i, pdesc->hwms[i]); + } + #endif + } + } + +- return (&pdesc); ++ return (pdesc); + } + + int +@@ -318,6 +320,7 @@ + if (pwp->header.pih_magic != PIH_MAGIC) + { + fprintf(stderr, "PWClose: close magic mismatch\n"); ++ /* we do not try to free memory that is probably corrupted */ + return (-1); + } + +@@ -329,12 +332,14 @@ + if (fseek(pwp->ifp, 0L, 0)) + { + fprintf(stderr, "index magic fseek failed\n"); ++ free(pwp); + return (-1); + } + + if (!fwrite((char *) &pwp->header, sizeof(pwp->header), 1, pwp->ifp)) + { + fprintf(stderr, "index magic fwrite failed\n"); ++ free(pwp); + return (-1); + } + +@@ -368,6 +373,7 @@ + } + + pwp->header.pih_magic = 0; ++ free(pwp); + + return (0); + } +diff -Naur cracklib-2.9.7-orig/lib/rules.c cracklib-2.9.7/lib/rules.c +--- cracklib-2.9.7-orig/lib/rules.c 2019-02-13 20:54:41.000000000 -0500 ++++ cracklib-2.9.7/lib/rules.c 2022-03-07 15:11:48.271298263 -0500 +@@ -82,12 +82,12 @@ + } + + char * +-Reverse(str) /* return a pointer to a reversal */ ++Reverse(str, area) /* return a pointer to a reversal */ + register char *str; ++ char *area; + { + register int i; + register int j; +- static char area[STRINGSIZE]; + j = i = strlen(str); + while (*str) + { +@@ -98,11 +98,11 @@ + } + + char * +-Uppercase(str) /* return a pointer to an uppercase */ ++Uppercase(str, area) /* return a pointer to an uppercase */ + register char *str; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*str) + { +@@ -115,11 +115,11 @@ + } + + char * +-Lowercase(str) /* return a pointer to an lowercase */ ++Lowercase(str, area) /* return a pointer to an lowercase */ + register char *str; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*str) + { +@@ -132,11 +132,11 @@ + } + + char * +-Capitalise(str) /* return a pointer to an capitalised */ ++Capitalise(str, area) /* return a pointer to an capitalised */ + register char *str; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + + while (*str) +@@ -151,11 +151,11 @@ + } + + char * +-Pluralise(string) /* returns a pointer to a plural */ ++Pluralise(string, area) /* returns a pointer to a plural */ + register char *string; ++ char *area; + { + register int length; +- static char area[STRINGSIZE]; + length = strlen(string); + strcpy(area, string); + +@@ -192,13 +192,13 @@ + } + + char * +-Substitute(string, old, new) /* returns pointer to a swapped about copy */ ++Substitute(string, old, new, area) /* returns pointer to a swapped about copy */ + register char *string; + register char old; + register char new; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -210,12 +210,12 @@ + } + + char * +-Purge(string, target) /* returns pointer to a purged copy */ ++Purge(string, target, area) /* returns pointer to a purged copy */ + register char *string; + register char target; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -372,13 +372,13 @@ + } + + char * +-PolySubst(string, class, new) /* returns pointer to a swapped about copy */ ++PolySubst(string, class, new, area) /* returns pointer to a swapped about copy */ + register char *string; + register char class; + register char new; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -390,12 +390,12 @@ + } + + char * +-PolyPurge(string, class) /* returns pointer to a purged copy */ ++PolyPurge(string, class, area) /* returns pointer to a purged copy */ + register char *string; + register char class; ++ char *area; + { + register char *ptr; +- static char area[STRINGSIZE]; + ptr = area; + while (*string) + { +@@ -428,39 +428,40 @@ + } + + char * +-Mangle(input, control) /* returns a pointer to a controlled Mangle */ ++Mangle(input, control, area) /* returns a pointer to a controlled Mangle */ + char *input; + char *control; ++ char *area; + { + int limit; + register char *ptr; +- static char area[STRINGSIZE * 2] = {0}; + char area2[STRINGSIZE * 2] = {0}; + strcpy(area, input); + + for (ptr = control; *ptr; ptr++) + { ++ strcpy(area2, area); + switch (*ptr) + { + case RULE_NOOP: + break; + case RULE_REVERSE: +- strcpy(area, Reverse(area)); ++ Reverse(area2, area); + break; + case RULE_UPPERCASE: +- strcpy(area, Uppercase(area)); ++ Uppercase(area2, area); + break; + case RULE_LOWERCASE: +- strcpy(area, Lowercase(area)); ++ Lowercase(area2, area); + break; + case RULE_CAPITALISE: +- strcpy(area, Capitalise(area)); ++ Capitalise(area2, area); + break; + case RULE_PLURALISE: +- strcpy(area, Pluralise(area)); ++ Pluralise(area2, area); + break; + case RULE_REFLECT: +- strcat(area, Reverse(area)); ++ strcat(area, Reverse(area, area2)); + break; + case RULE_DUPLICATE: + strcpy(area2, area); +@@ -547,7 +548,6 @@ + Debug(1, "Mangle: extract: weird argument in '%s'\n", control); + return NULL; + } +- strcpy(area2, area); + for (i = 0; length-- && area2[start + i]; i++) + { + area[i] = area2[start + i]; +@@ -618,10 +618,10 @@ + return NULL; + } else if (ptr[1] != RULE_CLASS) + { +- strcpy(area, Purge(area, *(++ptr))); ++ Purge(area2, *(++ptr), area); + } else + { +- strcpy(area, PolyPurge(area, ptr[2])); ++ PolyPurge(area2, ptr[2], area); + ptr += 2; + } + break; +@@ -632,11 +632,11 @@ + return NULL; + } else if (ptr[1] != RULE_CLASS) + { +- strcpy(area, Substitute(area, ptr[1], ptr[2])); ++ Substitute(area2, ptr[1], ptr[2], area); + ptr += 2; + } else + { +- strcpy(area, PolySubst(area, ptr[2], ptr[3])); ++ PolySubst(area2, ptr[2], ptr[3], area); + ptr += 3; + } + break; diff --git a/cracklib-2.9.7-simplistic.patch b/cracklib-2.9.7-simplistic.patch new file mode 100644 index 0000000..a711b6f --- /dev/null +++ b/cracklib-2.9.7-simplistic.patch @@ -0,0 +1,217 @@ +diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c +--- cracklib-2.9.7-orig/lib/fascist.c 2022-03-07 15:16:11.722225350 -0500 ++++ cracklib-2.9.7/lib/fascist.c 2022-03-07 15:17:54.598692721 -0500 +@@ -55,7 +55,6 @@ + + "/?p@?p", /* purging out punctuation/symbols/junk */ + "/?s@?s", +- "/?X@?X", + + /* attempt reverse engineering of password strings */ + +@@ -454,6 +453,12 @@ + continue; + } + ++ if (len - strlen(mp) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s = %-16s (destruct %s)\n", mp, rawtext, r_destructors[i]); + #endif +@@ -480,6 +485,12 @@ + continue; + } + ++ if (len - strlen(mp) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s = %-16s (construct %s)\n", mp, password, r_constructors[i]); + #endif +@@ -708,6 +719,7 @@ + char rpassword[STRINGSIZE]; + char area[STRINGSIZE]; + uint32_t notfound; ++ int len; + + notfound = PW_WORDS(pwp); + /* already truncated if from FascistCheck() */ +@@ -757,6 +769,7 @@ + return _("it is all whitespace"); + } + ++ len = strlen(password); + i = 0; + ptr = password; + while (ptr[0] && ptr[1]) +@@ -768,10 +781,9 @@ + ptr++; + } + +- /* Change by Ben Karsin from ITS at University of Hawaii at Manoa. Static MAXSTEP +- would generate many false positives for long passwords. */ +- maxrepeat = 3+(0.09*strlen(password)); +- if (i > maxrepeat) ++ /* We were still generating false positives for long passwords. ++ Just count systematic double as a single character. */ ++ if (len - i < MINLEN) + { + return _("it is too simplistic/systematic"); + } +@@ -804,6 +816,12 @@ + continue; + } + ++ if (len - strlen(a) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s (dict)\n", a); + #endif +@@ -824,6 +842,13 @@ + { + continue; + } ++ ++ if (len - strlen(a) >= 3) ++ { ++ /* purged too much */ ++ continue; ++ } ++ + #ifdef DEBUG + printf("%-16s (reversed dict)\n", a); + #endif +diff -Naur cracklib-2.9.7-orig/lib/fascist.c.orig cracklib-2.9.7/lib/fascist.c.orig +--- cracklib-2.9.7-orig/lib/fascist.c.orig 2022-03-07 15:16:11.722225350 -0500 ++++ cracklib-2.9.7/lib/fascist.c.orig 2022-03-07 15:16:11.722225350 -0500 +@@ -36,8 +36,8 @@ + #undef DEBUG + #undef DEBUG2 + +-extern char *Reverse(char *buf); +-extern char *Lowercase(char *buf); ++extern char *Reverse(char *buf, char *area); ++extern char *Lowercase(char *buf, char *area); + + static char *r_destructors[] = { + ":", /* noop - must do this to test raw word. */ +@@ -439,6 +439,8 @@ + int i; + int len; + char *mp; ++ char area[STRINGSIZE]; ++ char revarea[STRINGSIZE]; + + /* use destructors to turn password into rawtext */ + /* note use of Reverse() to save duplicating all rules */ +@@ -447,7 +449,7 @@ + + for (i = 0; r_destructors[i]; i++) + { +- if (!(mp = Mangle(password, r_destructors[i]))) ++ if (!(mp = Mangle(password, r_destructors[i], area))) + { + continue; + } +@@ -462,10 +464,10 @@ + } + + #ifdef DEBUG +- printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp), rawtext, r_destructors[i]); ++ printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp, revarea), rawtext, r_destructors[i]); + #endif + +- if (!strncmp(Reverse(mp), rawtext, len)) ++ if (!strncmp(Reverse(mp, revarea), rawtext, len)) + { + return (1); + } +@@ -473,7 +475,7 @@ + + for (i = 0; r_constructors[i]; i++) + { +- if (!(mp = Mangle(rawtext, r_constructors[i]))) ++ if (!(mp = Mangle(rawtext, r_constructors[i], area))) + { + continue; + } +@@ -520,7 +522,7 @@ + + strncpy(tbuffer, gecos, STRINGSIZE); + tbuffer[STRINGSIZE-1] = '\0'; +- strcpy(gbuffer, Lowercase(tbuffer)); ++ Lowercase(tbuffer, gbuffer); + + wc = 0; + ptr = gbuffer; +@@ -704,6 +706,7 @@ + char junk[STRINGSIZE]; + char *password; + char rpassword[STRINGSIZE]; ++ char area[STRINGSIZE]; + uint32_t notfound; + + notfound = PW_WORDS(pwp); +@@ -740,7 +743,7 @@ + return _("it does not contain enough DIFFERENT characters"); + } + +- strcpy(password, (char *)Lowercase(password)); ++ strcpy(password, (char *)Lowercase(password, area)); + + Trim(password); + +@@ -796,7 +799,7 @@ + { + char *a; + +- if (!(a = Mangle(password, r_destructors[i]))) ++ if (!(a = Mangle(password, r_destructors[i], area))) + { + continue; + } +@@ -811,13 +814,13 @@ + } + } + +- strcpy(password, (char *)Reverse(password)); ++ strcpy(password, (char *)Reverse(password, area)); + + for (i = 0; r_destructors[i]; i++) + { + char *a; + +- if (!(a = Mangle(password, r_destructors[i]))) ++ if (!(a = Mangle(password, r_destructors[i], area))) + { + continue; + } +diff -Naur cracklib-2.9.7-orig/util/cracklib-format cracklib-2.9.7/util/cracklib-format +--- cracklib-2.9.7-orig/util/cracklib-format 2019-02-13 20:54:41.000000000 -0500 ++++ cracklib-2.9.7/util/cracklib-format 2022-03-07 15:17:54.599692726 -0500 +@@ -3,8 +3,10 @@ + # This preprocesses a set of word lists into a suitable form for input + # into cracklib-packer + # ++LC_ALL=C ++export LC_ALL + gzip -cdf "$@" | +- grep -v '^\(#\|$\)' | +- tr '[A-Z]' '[a-z]' | +- tr -cd '\012[a-z][0-9]' | +- env LC_ALL=C sort -u ++ grep -a -E -v '^.{32,}$' | ++ tr '[:upper:]' '[:lower:]' | ++ tr -cd '\n[:graph:]' | ++ sort -u diff --git a/cracklib-2.9.7-translation-updates.patch b/cracklib-2.9.7-translation-updates.patch new file mode 100644 index 0000000..4b43134 --- /dev/null +++ b/cracklib-2.9.7-translation-updates.patch @@ -0,0 +1,118 @@ +diff -Naur cracklib-2.9.7-orig/po/as.po cracklib-2.9.7/po/as.po +--- cracklib-2.9.7-orig/po/as.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/as.po 2022-03-07 15:22:59.631245123 -0500 +@@ -76,7 +76,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "শব্দকোষ ল'ড কৰোতে ত্ৰুটি" + + #~ msgid "it's derived from your password entry" + #~ msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পোৱা হৈছে" +diff -Naur cracklib-2.9.7-orig/po/gu.po cracklib-2.9.7/po/gu.po +--- cracklib-2.9.7-orig/po/gu.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/gu.po 2022-03-07 15:32:12.444115364 -0500 +@@ -77,7 +77,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "શબ્દકોષને લાવી રહ્યા હોય ત્યારે ભૂલ" + + #~ msgid "it's derived from your password entry" + #~ msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવવામાં આવેલ છે" +diff -Naur cracklib-2.9.7-orig/po/hi.po cracklib-2.9.7/po/hi.po +--- cracklib-2.9.7-orig/po/hi.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/hi.po 2022-03-07 15:33:31.445561126 -0500 +@@ -78,7 +78,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "शब्दकोश लोड करने में त्रुटि" + + #~ msgid "it's derived from your password entry" + #~ msgstr "यह आपकी कूटशब्द प्रविष्टि से निकला हुआ है" +diff -Naur cracklib-2.9.7-orig/po/kn.po cracklib-2.9.7/po/kn.po +--- cracklib-2.9.7-orig/po/kn.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/kn.po 2022-03-07 15:36:06.001428084 -0500 +@@ -77,7 +77,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "ಕೋಶವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ" + + #~ msgid "it's derived from your password entry" + #~ msgstr "ಇದು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲ್ಪಟ್ಟಿದೆ" +diff -Naur cracklib-2.9.7-orig/po/ml.po cracklib-2.9.7/po/ml.po +--- cracklib-2.9.7-orig/po/ml.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/ml.po 2022-03-07 15:37:59.048062855 -0500 +@@ -76,7 +76,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "നിഘണ്ടു ലഭ്യമാക്കുന്നതില്<200d> പിശക്" + + #~ msgid "it's derived from your password entry" + #~ msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" +diff -Naur cracklib-2.9.7-orig/po/mr.po cracklib-2.9.7/po/mr.po +--- cracklib-2.9.7-orig/po/mr.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/mr.po 2022-03-07 15:38:30.812241798 -0500 +@@ -77,7 +77,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "शब्दकोष लोड करतेवेळी त्रुटी" + + #~ msgid "it's derived from your password entry" + #~ msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्त" +diff -Naur cracklib-2.9.7-orig/po/or.po cracklib-2.9.7/po/or.po +--- cracklib-2.9.7-orig/po/or.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/or.po 2022-03-07 15:39:56.858728487 -0500 +@@ -77,7 +77,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "ଅଭିଧାନ ଧାରଣ କରିବାରେ ତ୍ରୁଟି" + + #~ msgid "it's derived from your password entry" + #~ msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରାହୋଇଥାଏ" +diff -Naur cracklib-2.9.7-orig/po/ta.po cracklib-2.9.7/po/ta.po +--- cracklib-2.9.7-orig/po/ta.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/ta.po 2022-03-07 15:44:53.857740705 -0500 +@@ -77,7 +77,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "அகராதியை ஏற்றுவதில் பிழை" + + #~ msgid "it's derived from your password entry" + #~ msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்பட்டது" +diff -Naur cracklib-2.9.7-orig/po/te.po cracklib-2.9.7/po/te.po +--- cracklib-2.9.7-orig/po/te.po 2019-03-03 12:49:42.000000000 -0500 ++++ cracklib-2.9.7/po/te.po 2022-03-07 15:45:23.810936770 -0500 +@@ -77,7 +77,7 @@ + + #: lib/fascist.c:874 + msgid "error loading dictionary" +-msgstr "" ++msgstr "నిఘంటువును లోడు చేయుటలో దోషం" + + #~ msgid "it's derived from your password entry" + #~ msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడింది" +diff -Naur cracklib-2.9.7-orig/po/zh_CN.po cracklib-2.9.7/po/zh_CN.po +--- cracklib-2.9.7-orig/po/zh_CN.po 2021-08-17 11:56:42.000000000 -0400 ++++ cracklib-2.9.7/po/zh_CN.po 2022-03-07 15:48:56.407302640 -0500 +@@ -76,3 +76,6 @@ + msgid "it is based on a (reversed) dictionary word" + msgstr "它基于(颠倒的)字典单词" + ++#: lib/fascist.c:865 ++msgid "error loading dictionary" ++msgstr "加载字典错误" diff --git a/cracklib.spec b/cracklib.spec index 2129bf3..efbccd8 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -21,10 +21,9 @@ Source10: missing-words.gz Patch1: cracklib-2.9.1-inttypes.patch Patch2: cracklib-2.9.0-python-gzdicts.patch -Patch4: cracklib-2.9.6-packlib-reentrant.patch -Patch6: cracklib-2.9.6-simplistic.patch -Patch7: cracklib-2.9.6-translation-updates.patch -Patch8: cracklib-2.9.6-cve-2016-6318.patch +Patch4: cracklib-2.9.7-packlib-reentrant.patch +Patch6: cracklib-2.9.7-simplistic.patch +Patch7: cracklib-2.9.7-translation-updates.patch Patch9: cracklib-2.9.6-coverity.patch Patch10: cracklib-2.9.6-lookup.patch URL: http://sourceforge.net/projects/cracklib/ @@ -89,7 +88,6 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po %patch4 -p1 -b .reentrant %patch6 -p1 -b .simplistic %patch7 -p1 -b .translations -%patch8 -p1 -b .overflow %patch9 -p1 -b .coverity %patch10 -p1 -b .lookup From 6d9868a4c6c2c8c9be003836b43e901da7dcabbf Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Mon, 7 Mar 2022 21:37:40 -0500 Subject: [PATCH 71/85] also apply stashed changes :P --- cracklib.spec | 56 +++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index efbccd8..dafa27a 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,14 +4,14 @@ Summary: A password-checking library Name: cracklib -Version: 2.9.6 +Version: 2.9.7 Release: 28%{?dist} -Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz -Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz +Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz +Source1: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-words-%{version}.gz # For man pages. -Source2: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.19-1.debian.tar.gz -Source40: http://ftp.us.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.8.19-1.dsc +Source2: http://archive.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.9.2-1.debian.tar.xz +Source40: http://archive.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.9.2-1.dsc # From attachment to https://bugzilla.redhat.com/show_bug.cgi?id=627449 Source3: cracklib.default.zh_CN.po @@ -26,7 +26,7 @@ Patch6: cracklib-2.9.7-simplistic.patch Patch7: cracklib-2.9.7-translation-updates.patch Patch9: cracklib-2.9.6-coverity.patch Patch10: cracklib-2.9.6-lookup.patch -URL: http://sourceforge.net/projects/cracklib/ +URL: https://github.com/cracklib/cracklib License: LGPLv2+ BuildRequires: gcc BuildRequires: words, gettext @@ -56,7 +56,7 @@ CrackLib, you will also want to install the cracklib-dicts package. %package devel Summary: Development files needed for building applications which use cracklib -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The cracklib-devel package contains the header files and libraries needed @@ -66,6 +66,7 @@ for compiling applications which use cracklib. Summary: The standard CrackLib dictionaries BuildRequires: words >= 2-13 BuildRequires: make +BuildArch: noarch Requires: cracklib = %{version}-%{release} %description dicts @@ -80,7 +81,6 @@ If you are installing CrackLib, you should also install cracklib-dicts. %setup -q -a 2 # Replace zn_CN.po with one that wasn't mis-transcoded at some point. -grep '????????????????' po/zh_CN.po install -p -m 644 %{SOURCE3} po/zh_CN.po %patch1 -p1 -b .inttypes @@ -108,41 +108,40 @@ make -C po update-gmo make %install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %make_install 'pythondir=${pyexecdir}' ./util/cracklib-format cracklib-dicts/* | \ -./util/cracklib-packer $RPM_BUILD_ROOT/%{dictpath} -./util/cracklib-format $RPM_BUILD_ROOT/%{dictdir}/cracklib-small | \ -./util/cracklib-packer $RPM_BUILD_ROOT/%{dictdir}/cracklib-small -rm -f $RPM_BUILD_ROOT/%{dictdir}/cracklib-small -sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > $RPM_BUILD_ROOT/%{_includedir}/crack.h -ln -s cracklib-format $RPM_BUILD_ROOT/%{_sbindir}/mkdict +./util/cracklib-packer $RPM_BUILD_ROOT%{dictpath} +./util/cracklib-format $RPM_BUILD_ROOT%{dictdir}/cracklib-small | \ +./util/cracklib-packer $RPM_BUILD_ROOT%{dictdir}/cracklib-small +rm -f $RPM_BUILD_ROOT%{dictdir}/cracklib-small +sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > $RPM_BUILD_ROOT%{_includedir}/crack.h +ln -s cracklib-format $RPM_BUILD_ROOT%{_sbindir}/mkdict # packer link removed as it clashes with hashicorp's packer binary. #ln -s cracklib-packer $RPM_BUILD_ROOT/%{_sbindir}/packer touch $RPM_BUILD_ROOT/top toprelpath=.. touch $RPM_BUILD_ROOT/top -while ! test -f $RPM_BUILD_ROOT/%{_libdir}/$toprelpath/top ; do +while ! test -f $RPM_BUILD_ROOT%{_libdir}/$toprelpath/top ; do toprelpath=../$toprelpath done rm -f $RPM_BUILD_ROOT/top if test %{dictpath} != %{_libdir}/cracklib_dict ; then -ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.hwm -ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd -ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwi +ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT%{_libdir}/cracklib_dict.hwm +ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT%{_libdir}/cracklib_dict.pwd +ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT%{_libdir}/cracklib_dict.pwi fi -rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/_cracklib*.*a -rm -f $RPM_BUILD_ROOT/%{_libdir}/libcrack.la +rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/_cracklib*.*a +rm -f $RPM_BUILD_ROOT%{_libdir}/libcrack.la -mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man{3,8} -install -p -m644 debian/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3/ -install -p -m644 debian/*.8 $RPM_BUILD_ROOT/%{_mandir}/man8/ -if ! test -s $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-packer.8 ; then - echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-packer.8 +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man{3,8} +install -p -m644 debian/*.3 $RPM_BUILD_ROOT%{_mandir}/man3/ +install -p -m644 debian/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/ +if ! test -s $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-packer.8 ; then + echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-packer.8 fi -if ! test -s $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 ; then - echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT/%{_mandir}/man8/cracklib-unpacker.8 +if ! test -s $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-unpacker.8 ; then + echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-unpacker.8 fi %find_lang %{name} @@ -154,7 +153,6 @@ make test DESTDIR=$RPM_BUILD_ROOT %files -f %{name}.lang %doc README README-WORDS NEWS README-LICENSE AUTHORS -%{!?_licensedir:%global license %%doc} %license COPYING.LIB %{_libdir}/libcrack.so.* %dir %{_datadir}/cracklib From d3fefae733112bf4342ee5548fc9d8549b81c8e8 Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Mon, 7 Mar 2022 21:42:42 -0500 Subject: [PATCH 72/85] update sources --- .gitignore | 4 ++++ sources | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index bee2d82..3a3d8d1 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,7 @@ cracklib-2.8.16.tar.gz /cracklib-2.9.6.tar.gz /cracklib-words-2.9.6.gz /missing-words.gz +/cracklib-2.9.7.tar.gz +/cracklib-words-2.9.7.gz +/cracklib2_2.9.2-1.debian.tar.xz +/cracklib2_2.9.2-1.dsc diff --git a/sources b/sources index a5a9a0f..9306778 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -12936e97cc34a28f2efec62e115a60e1 cracklib2_2.8.19-1.debian.tar.gz -bf8714368e0a485472b6ad7c4dba06a3 cracklib2_2.8.19-1.dsc -c52f463585d85924b28cdc1e373ae06d cracklib-2.9.6.tar.gz -cae1257e3a9f95c917cc9dbbab852316 cracklib-words-2.9.6.gz -8405c72b4f68fe569da831abff4c0544 missing-words.gz +SHA512 (cracklib-2.9.7.tar.gz) = 76d701ee521ae35b4cbab406f23a15c84937bb06d3c3747ca8ef2584a41074fc00309a676ec37ebd5b32930163213365cf508d47f614cfccea38e1ba6babb2ff +SHA512 (cracklib-words-2.9.7.gz) = 1fa34b0a2e16d6906982b248f1757bf5bf8154d8d7e8bab94a4ac25080c41434d3828a2c8dd5065e9be586f36480ab70375f09e0bb64eb495d96a460619e2bae +SHA512 (cracklib2_2.9.2-1.debian.tar.xz) = 3521f475389fdbb2ac79f745ea3c247dc179c7492e712a3f3f2620ff483c0c69a799b656d06f1e281012edfa33df53130a83a633381c6c1cd9f1d4eebf7ded8a +SHA512 (cracklib2_2.9.2-1.dsc) = e1b3bee4f015f0e3fcafa714429ae733b8377b2c4cdcfcc3b0cf77e922d78c2e57214f71ab4c8058650c8a80d5bdaf532648e038fdf37dce91045b9b9892023a +SHA512 (missing-words.gz) = 50afb5538ddd15de997883f5ff6925d9084117851cfdcfc02f05c28304d6c17b46ea669fe626ad819e732b6f291f308194300c9db9b110a5c15a4e5d97ca6caa From 7903ce885c14f6c1100690b51cfbd51f8a5d587b Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Mon, 7 Mar 2022 21:48:25 -0500 Subject: [PATCH 73/85] another stashes patch hunk that was removed in a stashed version --- cracklib-2.9.7-simplistic.patch | 105 -------------------------------- 1 file changed, 105 deletions(-) diff --git a/cracklib-2.9.7-simplistic.patch b/cracklib-2.9.7-simplistic.patch index a711b6f..6d8501f 100644 --- a/cracklib-2.9.7-simplistic.patch +++ b/cracklib-2.9.7-simplistic.patch @@ -92,111 +92,6 @@ diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c #ifdef DEBUG printf("%-16s (reversed dict)\n", a); #endif -diff -Naur cracklib-2.9.7-orig/lib/fascist.c.orig cracklib-2.9.7/lib/fascist.c.orig ---- cracklib-2.9.7-orig/lib/fascist.c.orig 2022-03-07 15:16:11.722225350 -0500 -+++ cracklib-2.9.7/lib/fascist.c.orig 2022-03-07 15:16:11.722225350 -0500 -@@ -36,8 +36,8 @@ - #undef DEBUG - #undef DEBUG2 - --extern char *Reverse(char *buf); --extern char *Lowercase(char *buf); -+extern char *Reverse(char *buf, char *area); -+extern char *Lowercase(char *buf, char *area); - - static char *r_destructors[] = { - ":", /* noop - must do this to test raw word. */ -@@ -439,6 +439,8 @@ - int i; - int len; - char *mp; -+ char area[STRINGSIZE]; -+ char revarea[STRINGSIZE]; - - /* use destructors to turn password into rawtext */ - /* note use of Reverse() to save duplicating all rules */ -@@ -447,7 +449,7 @@ - - for (i = 0; r_destructors[i]; i++) - { -- if (!(mp = Mangle(password, r_destructors[i]))) -+ if (!(mp = Mangle(password, r_destructors[i], area))) - { - continue; - } -@@ -462,10 +464,10 @@ - } - - #ifdef DEBUG -- printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp), rawtext, r_destructors[i]); -+ printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp, revarea), rawtext, r_destructors[i]); - #endif - -- if (!strncmp(Reverse(mp), rawtext, len)) -+ if (!strncmp(Reverse(mp, revarea), rawtext, len)) - { - return (1); - } -@@ -473,7 +475,7 @@ - - for (i = 0; r_constructors[i]; i++) - { -- if (!(mp = Mangle(rawtext, r_constructors[i]))) -+ if (!(mp = Mangle(rawtext, r_constructors[i], area))) - { - continue; - } -@@ -520,7 +522,7 @@ - - strncpy(tbuffer, gecos, STRINGSIZE); - tbuffer[STRINGSIZE-1] = '\0'; -- strcpy(gbuffer, Lowercase(tbuffer)); -+ Lowercase(tbuffer, gbuffer); - - wc = 0; - ptr = gbuffer; -@@ -704,6 +706,7 @@ - char junk[STRINGSIZE]; - char *password; - char rpassword[STRINGSIZE]; -+ char area[STRINGSIZE]; - uint32_t notfound; - - notfound = PW_WORDS(pwp); -@@ -740,7 +743,7 @@ - return _("it does not contain enough DIFFERENT characters"); - } - -- strcpy(password, (char *)Lowercase(password)); -+ strcpy(password, (char *)Lowercase(password, area)); - - Trim(password); - -@@ -796,7 +799,7 @@ - { - char *a; - -- if (!(a = Mangle(password, r_destructors[i]))) -+ if (!(a = Mangle(password, r_destructors[i], area))) - { - continue; - } -@@ -811,13 +814,13 @@ - } - } - -- strcpy(password, (char *)Reverse(password)); -+ strcpy(password, (char *)Reverse(password, area)); - - for (i = 0; r_destructors[i]; i++) - { - char *a; - -- if (!(a = Mangle(password, r_destructors[i]))) -+ if (!(a = Mangle(password, r_destructors[i], area))) - { - continue; - } diff -Naur cracklib-2.9.7-orig/util/cracklib-format cracklib-2.9.7/util/cracklib-format --- cracklib-2.9.7-orig/util/cracklib-format 2019-02-13 20:54:41.000000000 -0500 +++ cracklib-2.9.7/util/cracklib-format 2022-03-07 15:17:54.599692726 -0500 From 8e08eacebe00d430a6b4a6843b24b310b5334d75 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 23:43:03 +0000 Subject: [PATCH 74/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index dafa27a..d0dd0cc 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.7 -Release: 28%{?dist} +Release: 29%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-words-%{version}.gz @@ -172,6 +172,9 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/mkdict %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 2.9.7-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jan 19 2022 Fedora Release Engineering - 2.9.6-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 57c3c940caaed21c346260a8395c2a8537746cef Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Tue, 30 Aug 2022 17:12:49 +0530 Subject: [PATCH 75/85] As -dicts subpackage installs files under %{_libdir} path it should not be noarch this fixes FTBFS on F37+ --- cracklib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index d0dd0cc..62677f5 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.7 -Release: 29%{?dist} +Release: 30%{?dist} Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-words-%{version}.gz @@ -66,7 +66,6 @@ for compiling applications which use cracklib. Summary: The standard CrackLib dictionaries BuildRequires: words >= 2-13 BuildRequires: make -BuildArch: noarch Requires: cracklib = %{version}-%{release} %description dicts @@ -172,6 +171,10 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/mkdict %changelog +* Tue Aug 30 2022 Parag Nemade - 2.9.7-30 +- As -dicts subpackage installs files under %%{_libdir} path it should not be noarch +- this fixes FTBFS on F37+ + * Wed Jul 20 2022 Fedora Release Engineering - 2.9.7-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 3217e5685badc06bf433a4391329078e7dffd10a Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Tue, 30 Aug 2022 19:42:25 -0400 Subject: [PATCH 76/85] move Url: and License: to a saner spot higher up in spec file --- cracklib.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 62677f5..bba00ea 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -6,6 +6,8 @@ Summary: A password-checking library Name: cracklib Version: 2.9.7 Release: 30%{?dist} +URL: https://github.com/cracklib/cracklib +License: LGPLv2+ Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-words-%{version}.gz @@ -26,8 +28,6 @@ Patch6: cracklib-2.9.7-simplistic.patch Patch7: cracklib-2.9.7-translation-updates.patch Patch9: cracklib-2.9.6-coverity.patch Patch10: cracklib-2.9.6-lookup.patch -URL: https://github.com/cracklib/cracklib -License: LGPLv2+ BuildRequires: gcc BuildRequires: words, gettext BuildRequires: gettext-autopoint From 1a51e53e47a95c20708fb2ee04687a6ba14b32b0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 00:38:18 +0000 Subject: [PATCH 77/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index bba00ea..7e0e0e2 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.7 -Release: 30%{?dist} +Release: 31%{?dist} URL: https://github.com/cracklib/cracklib License: LGPLv2+ Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz @@ -171,6 +171,9 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/mkdict %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 2.9.7-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Tue Aug 30 2022 Parag Nemade - 2.9.7-30 - As -dicts subpackage installs files under %%{_libdir} path it should not be noarch - this fixes FTBFS on F37+ From d2f5af3f9e0552fb56a5575e22ec70f188035767 Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Fri, 7 Jul 2023 17:59:06 -0400 Subject: [PATCH 78/85] update to 2.9.11 - Resolves: rhbz#2123955 cracklib-2.9.11 is available - Remove old patches, port remaining patches to 2.9.11 - Use man pages from doc/ instead of pulling them from debian --- .gitignore | 2 + cracklib-2.9.0-python-gzdicts.patch | 104 - cracklib-2.9.1-inttypes.patch | 22 - ...=> cracklib-2.9.11-packlib-reentrant.patch | 151 +- ....patch => cracklib-2.9.11-simplistic.patch | 47 +- cracklib-2.9.6-coverity.patch | 20 - cracklib-2.9.6-cve-2016-6318.patch | 144 - cracklib-2.9.6-lookup.patch | 60 - cracklib-2.9.6-packlib-reentrant.patch | 672 ---- cracklib-2.9.6-simplistic.patch | 112 - cracklib-2.9.6-translation-updates.patch | 3084 ----------------- cracklib-2.9.7-translation-updates.patch | 118 - cracklib.spec | 92 +- sources | 6 +- 14 files changed, 138 insertions(+), 4496 deletions(-) delete mode 100644 cracklib-2.9.0-python-gzdicts.patch delete mode 100644 cracklib-2.9.1-inttypes.patch rename cracklib-2.9.7-packlib-reentrant.patch => cracklib-2.9.11-packlib-reentrant.patch (85%) rename cracklib-2.9.7-simplistic.patch => cracklib-2.9.11-simplistic.patch (63%) delete mode 100644 cracklib-2.9.6-coverity.patch delete mode 100644 cracklib-2.9.6-cve-2016-6318.patch delete mode 100644 cracklib-2.9.6-lookup.patch delete mode 100644 cracklib-2.9.6-packlib-reentrant.patch delete mode 100644 cracklib-2.9.6-simplistic.patch delete mode 100644 cracklib-2.9.6-translation-updates.patch delete mode 100644 cracklib-2.9.7-translation-updates.patch diff --git a/.gitignore b/.gitignore index 3a3d8d1..0bcf5ff 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,5 @@ cracklib-2.8.16.tar.gz /cracklib-words-2.9.7.gz /cracklib2_2.9.2-1.debian.tar.xz /cracklib2_2.9.2-1.dsc +/cracklib-2.9.11.tar.gz +/cracklib-words-2.9.11.gz diff --git a/cracklib-2.9.0-python-gzdicts.patch b/cracklib-2.9.0-python-gzdicts.patch deleted file mode 100644 index feac201..0000000 --- a/cracklib-2.9.0-python-gzdicts.patch +++ /dev/null @@ -1,104 +0,0 @@ -diff -up cracklib-2.9.0/python/_cracklib.c.gzdicts cracklib-2.9.0/python/_cracklib.c ---- cracklib-2.9.0/python/_cracklib.c.gzdicts 2013-06-01 16:47:13.000000000 +0200 -+++ cracklib-2.9.0/python/_cracklib.c 2013-08-20 12:37:32.028611493 +0200 -@@ -23,6 +23,7 @@ - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -+#include "config.h" - #ifdef PYTHON_H - #include PYTHON_H - #else -@@ -72,9 +73,8 @@ static char _cracklib_FascistCheck_doc [ - static PyObject * - _cracklib_FascistCheck(PyObject *self, PyObject *args, PyObject *kwargs) - { -- char *candidate, *dict; -- char *defaultdict = NULL; -- const char *result; -+ char *candidate; -+ const char *result, *dict; - struct stat st; - char *keywords[] = {"pw", "dictpath", NULL}; - char *dictfile; -@@ -103,44 +103,35 @@ _cracklib_FascistCheck(PyObject *self, P - "second argument was not an absolute path!"); - return NULL; - } -- dictfile = malloc(strlen(dict) + sizeof(DICT_SUFFIX)); -- if (dictfile == NULL) -- { -- PyErr_SetFromErrnoWithFilename(PyExc_OSError, dict); -- return NULL; -- } -- sprintf(dictfile, "%s" DICT_SUFFIX, dict); -- if (lstat(dictfile, &st) == -1) -- { -- PyErr_SetFromErrnoWithFilename(PyExc_OSError, dictfile); -- free(dictfile); -- return NULL; -- } -- free(dictfile); - } else - { -- defaultdict = strdup(GetDefaultCracklibDict()); -- if (errno == ENOMEM) { -- PyErr_SetFromErrno(PyExc_OSError); -- return NULL; -- } -- dictfile = malloc(strlen(defaultdict) + sizeof(DICT_SUFFIX)); -- if (dictfile == NULL) -- { -- PyErr_SetFromErrnoWithFilename(PyExc_OSError, defaultdict); -- free(defaultdict); -- return NULL; -- } -- sprintf(dictfile, "%s" DICT_SUFFIX, defaultdict); -+ /* No need to strdup() anything as this is a constant value */ -+ dict = GetDefaultCracklibDict(); -+ } -+ -+ dictfile = malloc(strlen(dict) + sizeof(DICT_SUFFIX) + 3); -+ if (dictfile == NULL) -+ { -+ PyErr_SetFromErrnoWithFilename(PyExc_OSError, dict); -+ return NULL; -+ } -+ sprintf(dictfile, "%s" DICT_SUFFIX, dict); -+ if (lstat(dictfile, &st) == -1) -+ { -+#ifdef HAVE_ZLIB_H -+ sprintf(dictfile, "%s" DICT_SUFFIX ".gz", dict); - if (lstat(dictfile, &st) == -1) - { -+ sprintf(dictfile, "%s" DICT_SUFFIX, dict); -+#endif - PyErr_SetFromErrnoWithFilename(PyExc_OSError, dictfile); -- free(defaultdict); - free(dictfile); - return NULL; -+#ifdef HAVE_ZLIB_H - } -- free(dictfile); -+#endif - } -+ free(dictfile); - - setlocale(LC_ALL, ""); - #ifdef ENABLE_NLS -@@ -148,14 +139,9 @@ _cracklib_FascistCheck(PyObject *self, P - #endif - - LOCK(); -- result = FascistCheck(candidate, dict ? dict : defaultdict); -+ result = FascistCheck(candidate, dict); - UNLOCK(); - -- if (defaultdict != NULL) -- { -- free(defaultdict); -- } -- - if (result != NULL) - { - PyErr_SetString(PyExc_ValueError, result); diff --git a/cracklib-2.9.1-inttypes.patch b/cracklib-2.9.1-inttypes.patch deleted file mode 100644 index c8d8fe8..0000000 --- a/cracklib-2.9.1-inttypes.patch +++ /dev/null @@ -1,22 +0,0 @@ -Do not depend on config.h in public header. -diff -up cracklib-2.9.1/lib/packer.h.inttypes cracklib-2.9.1/lib/packer.h ---- cracklib-2.9.1/lib/packer.h.inttypes 2013-12-03 15:00:15.000000000 +0100 -+++ cracklib-2.9.1/lib/packer.h 2013-12-09 09:07:38.306394809 +0100 -@@ -30,17 +30,7 @@ - #define _(String) (String) - #endif - --#if defined(HAVE_INTTYPES_H) --#include --#else --#if defined(HAVE_STDINT_H) - #include --#else --typedef unsigned int uint32_t; --typedef unsigned short uint16_t; --#endif --#endif -- - - struct pi_header - { diff --git a/cracklib-2.9.7-packlib-reentrant.patch b/cracklib-2.9.11-packlib-reentrant.patch similarity index 85% rename from cracklib-2.9.7-packlib-reentrant.patch rename to cracklib-2.9.11-packlib-reentrant.patch index 0615aff..71f23e3 100644 --- a/cracklib-2.9.7-packlib-reentrant.patch +++ b/cracklib-2.9.11-packlib-reentrant.patch @@ -1,6 +1,6 @@ -diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c ---- cracklib-2.9.7-orig/lib/fascist.c 2019-02-13 20:54:41.000000000 -0500 -+++ cracklib-2.9.7/lib/fascist.c 2022-03-07 14:48:53.348146748 -0500 +diff -Naur cracklib-2.9.11-orig/lib/fascist.c cracklib-2.9.11/lib/fascist.c +--- cracklib-2.9.11-orig/lib/fascist.c 2019-02-13 20:54:41.000000000 -0500 ++++ cracklib-2.9.11/lib/fascist.c 2023-07-07 18:20:42.239904964 -0400 @@ -36,8 +36,8 @@ #undef DEBUG #undef DEBUG2 @@ -103,9 +103,9 @@ diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c { continue; } -diff -Naur cracklib-2.9.7-orig/lib/packer.h cracklib-2.9.7/lib/packer.h ---- cracklib-2.9.7-orig/lib/packer.h 2022-03-07 14:47:42.224763853 -0500 -+++ cracklib-2.9.7/lib/packer.h 2022-03-07 14:48:53.349146753 -0500 +diff -Naur cracklib-2.9.11-orig/lib/packer.h cracklib-2.9.11/lib/packer.h +--- cracklib-2.9.11-orig/lib/packer.h 2023-03-04 11:00:49.000000000 -0500 ++++ cracklib-2.9.11/lib/packer.h 2023-07-07 18:21:04.315119032 -0400 @@ -82,7 +82,7 @@ extern unsigned int FindPW(PWDICT *pwp, char *string); extern int PutPW(PWDICT *pwp, char *string); @@ -115,10 +115,10 @@ diff -Naur cracklib-2.9.7-orig/lib/packer.h cracklib-2.9.7/lib/packer.h extern char Chop(char *string); extern char *Trim(char *string); extern char *FascistLook(PWDICT *pwp, char *instring); -diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c ---- cracklib-2.9.7-orig/lib/packlib.c 2019-02-13 20:54:41.000000000 -0500 -+++ cracklib-2.9.7/lib/packlib.c 2022-03-07 14:48:53.349146753 -0500 -@@ -67,8 +67,8 @@ +diff -Naur cracklib-2.9.11-orig/lib/packlib.c cracklib-2.9.11/lib/packlib.c +--- cracklib-2.9.11-orig/lib/packlib.c 2023-03-04 11:00:49.000000000 -0500 ++++ cracklib-2.9.11/lib/packlib.c 2023-07-07 18:44:55.183214284 -0400 +@@ -65,8 +65,8 @@ char *mode; { int use64 = 0; @@ -129,7 +129,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c char iname[STRINGSIZE]; char dname[STRINGSIZE]; char wname[STRINGSIZE]; -@@ -76,13 +76,11 @@ +@@ -74,13 +74,11 @@ void *ifp; void *wfp; @@ -146,7 +146,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c memset(&pdesc64, '\0', sizeof(pdesc64)); snprintf(iname, STRINGSIZE, "%s.pwi", prefix); -@@ -91,77 +89,80 @@ +@@ -89,77 +87,80 @@ if (mode[0] == 'r') { @@ -195,7 +195,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c #ifdef HAVE_ZLIB_H - if (pdesc.flags & PFOR_USEZLIB) - gzclose(pdesc.dfp); -+ if(pdesc->flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) + gzclose(pdesc->dfp); else #endif @@ -247,11 +247,11 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c fclose(ifp); #ifdef HAVE_ZLIB_H - if (pdesc.flags & PFOR_USEZLIB) -+ if(pdesc->flags & PFOR_USEZLIB) ++ if (pdesc->flags & PFOR_USEZLIB) gzclose(dfp); else #endif -@@ -170,10 +171,11 @@ +@@ -168,10 +169,11 @@ { fclose(wfp); } @@ -264,7 +264,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c { /* uh-oh. either a broken "64-bit" file or a garbage file. */ rewind (ifp); -@@ -181,10 +183,9 @@ +@@ -179,10 +181,9 @@ { fprintf(stderr, "%s: error reading header\n", prefix); @@ -276,15 +276,15 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c gzclose(dfp); else #endif -@@ -193,6 +194,7 @@ +@@ -191,6 +192,7 @@ { fclose(wfp); } -+ free(pdesc); ++ free(pdesc); return NULL; } if (pdesc64.header.pih_magic != PIH_MAGIC) -@@ -200,10 +202,9 @@ +@@ -198,10 +200,9 @@ /* nope, not "64-bit" after all */ fprintf(stderr, "%s: error reading header\n", prefix); @@ -296,11 +296,11 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c gzclose(dfp); else #endif -@@ -213,23 +214,23 @@ +@@ -211,23 +212,23 @@ { fclose(wfp); } -+ free(pdesc); ++ free(pdesc); return NULL; } - pdesc.header.pih_magic = pdesc64.header.pih_magic; @@ -327,7 +327,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c gzclose(dfp); else #endif -@@ -239,17 +240,17 @@ +@@ -237,17 +238,17 @@ { fclose(wfp); } @@ -348,7 +348,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c gzclose(dfp); else #endif -@@ -258,17 +259,17 @@ +@@ -256,17 +257,17 @@ { fclose(wfp); } @@ -369,7 +369,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c gzclose(dfp); else #endif -@@ -277,10 +278,11 @@ +@@ -275,10 +276,11 @@ { fclose(wfp); } @@ -382,7 +382,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c { int i; -@@ -288,27 +290,27 @@ +@@ -286,27 +288,27 @@ { if (fread(pdesc64.hwms, 1, sizeof(pdesc64.hwms), wfp) != sizeof(pdesc64.hwms)) { @@ -395,9 +395,8 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c - pdesc.hwms[i] = pdesc64.hwms[i]; + pdesc->hwms[i] = pdesc64.hwms[i]; } -- } + } - else if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms)) -+ } + else if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms)) { - pdesc.flags &= ~PFOR_USEHWMS; @@ -418,15 +417,7 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c } int -@@ -318,6 +320,7 @@ - if (pwp->header.pih_magic != PIH_MAGIC) - { - fprintf(stderr, "PWClose: close magic mismatch\n"); -+ /* we do not try to free memory that is probably corrupted */ - return (-1); - } - -@@ -329,12 +332,14 @@ +@@ -327,12 +329,14 @@ if (fseek(pwp->ifp, 0L, 0)) { fprintf(stderr, "index magic fseek failed\n"); @@ -437,11 +428,11 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c if (!fwrite((char *) &pwp->header, sizeof(pwp->header), 1, pwp->ifp)) { fprintf(stderr, "index magic fwrite failed\n"); -+ free(pwp); ++ free(pwp); return (-1); } -@@ -368,6 +373,7 @@ +@@ -366,6 +370,7 @@ } pwp->header.pih_magic = 0; @@ -449,143 +440,143 @@ diff -Naur cracklib-2.9.7-orig/lib/packlib.c cracklib-2.9.7/lib/packlib.c return (0); } -diff -Naur cracklib-2.9.7-orig/lib/rules.c cracklib-2.9.7/lib/rules.c ---- cracklib-2.9.7-orig/lib/rules.c 2019-02-13 20:54:41.000000000 -0500 -+++ cracklib-2.9.7/lib/rules.c 2022-03-07 15:11:48.271298263 -0500 -@@ -82,12 +82,12 @@ +diff -Naur cracklib-2.9.11-orig/lib/rules.c cracklib-2.9.11/lib/rules.c +--- cracklib-2.9.11-orig/lib/rules.c 2023-04-02 14:15:05.000000000 -0400 ++++ cracklib-2.9.11/lib/rules.c 2023-07-07 18:58:04.892943574 -0400 +@@ -80,12 +80,12 @@ } char * -Reverse(str) /* return a pointer to a reversal */ +Reverse(str, area) /* return a pointer to a reversal */ - register char *str; + char *str; + char *area; { - register int i; - register int j; + int i; + int j; - static char area[STRINGSIZE]; j = i = strlen(str); while (*str) { -@@ -98,11 +98,11 @@ +@@ -96,11 +96,11 @@ } char * -Uppercase(str) /* return a pointer to an uppercase */ +Uppercase(str, area) /* return a pointer to an uppercase */ - register char *str; + char *str; + char *area; { - register char *ptr; + char *ptr; - static char area[STRINGSIZE]; ptr = area; while (*str) { -@@ -115,11 +115,11 @@ +@@ -113,11 +113,11 @@ } char * -Lowercase(str) /* return a pointer to an lowercase */ +Lowercase(str, area) /* return a pointer to an lowercase */ - register char *str; + char *str; + char *area; { - register char *ptr; + char *ptr; - static char area[STRINGSIZE]; ptr = area; while (*str) { -@@ -132,11 +132,11 @@ +@@ -130,11 +130,11 @@ } char * -Capitalise(str) /* return a pointer to an capitalised */ +Capitalise(str, area) /* return a pointer to an capitalised */ - register char *str; + char *str; + char *area; { - register char *ptr; + char *ptr; - static char area[STRINGSIZE]; ptr = area; while (*str) -@@ -151,11 +151,11 @@ +@@ -149,11 +149,11 @@ } char * -Pluralise(string) /* returns a pointer to a plural */ +Pluralise(string, area) /* returns a pointer to a plural */ - register char *string; + char *string; + char *area; { - register int length; + int length; - static char area[STRINGSIZE]; length = strlen(string); strcpy(area, string); -@@ -192,13 +192,13 @@ +@@ -190,13 +190,13 @@ } char * -Substitute(string, old, new) /* returns pointer to a swapped about copy */ +Substitute(string, old, new, area) /* returns pointer to a swapped about copy */ - register char *string; - register char old; - register char new; + char *string; + char old; + char new; + char *area; { - register char *ptr; + char *ptr; - static char area[STRINGSIZE]; ptr = area; while (*string) { -@@ -210,12 +210,12 @@ +@@ -208,12 +208,12 @@ } char * -Purge(string, target) /* returns pointer to a purged copy */ +Purge(string, target, area) /* returns pointer to a purged copy */ - register char *string; - register char target; + char *string; + char target; + char *area; { - register char *ptr; + char *ptr; - static char area[STRINGSIZE]; ptr = area; while (*string) { -@@ -372,13 +372,13 @@ +@@ -370,13 +370,13 @@ } char * -PolySubst(string, class, new) /* returns pointer to a swapped about copy */ +PolySubst(string, class, new, area) /* returns pointer to a swapped about copy */ - register char *string; - register char class; - register char new; + char *string; + char class; + char new; + char *area; { - register char *ptr; + char *ptr; - static char area[STRINGSIZE]; ptr = area; while (*string) { -@@ -390,12 +390,12 @@ +@@ -388,12 +388,12 @@ } char * -PolyPurge(string, class) /* returns pointer to a purged copy */ +PolyPurge(string, class, area) /* returns pointer to a purged copy */ - register char *string; - register char class; + char *string; + char class; + char *area; { - register char *ptr; + char *ptr; - static char area[STRINGSIZE]; ptr = area; while (*string) { -@@ -428,39 +428,40 @@ +@@ -426,39 +426,40 @@ } char * @@ -596,7 +587,7 @@ diff -Naur cracklib-2.9.7-orig/lib/rules.c cracklib-2.9.7/lib/rules.c + char *area; { int limit; - register char *ptr; + char *ptr; - static char area[STRINGSIZE * 2] = {0}; char area2[STRINGSIZE * 2] = {0}; strcpy(area, input); @@ -634,7 +625,7 @@ diff -Naur cracklib-2.9.7-orig/lib/rules.c cracklib-2.9.7/lib/rules.c break; case RULE_DUPLICATE: strcpy(area2, area); -@@ -547,7 +548,6 @@ +@@ -545,7 +546,6 @@ Debug(1, "Mangle: extract: weird argument in '%s'\n", control); return NULL; } @@ -642,7 +633,7 @@ diff -Naur cracklib-2.9.7-orig/lib/rules.c cracklib-2.9.7/lib/rules.c for (i = 0; length-- && area2[start + i]; i++) { area[i] = area2[start + i]; -@@ -618,10 +618,10 @@ +@@ -616,10 +616,10 @@ return NULL; } else if (ptr[1] != RULE_CLASS) { @@ -655,7 +646,7 @@ diff -Naur cracklib-2.9.7-orig/lib/rules.c cracklib-2.9.7/lib/rules.c ptr += 2; } break; -@@ -632,11 +632,11 @@ +@@ -630,11 +630,11 @@ return NULL; } else if (ptr[1] != RULE_CLASS) { diff --git a/cracklib-2.9.7-simplistic.patch b/cracklib-2.9.11-simplistic.patch similarity index 63% rename from cracklib-2.9.7-simplistic.patch rename to cracklib-2.9.11-simplistic.patch index 6d8501f..f1df715 100644 --- a/cracklib-2.9.7-simplistic.patch +++ b/cracklib-2.9.11-simplistic.patch @@ -1,6 +1,6 @@ -diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c ---- cracklib-2.9.7-orig/lib/fascist.c 2022-03-07 15:16:11.722225350 -0500 -+++ cracklib-2.9.7/lib/fascist.c 2022-03-07 15:17:54.598692721 -0500 +diff -Naur cracklib-2.9.11-orig/lib/fascist.c cracklib-2.9.11/lib/fascist.c +--- cracklib-2.9.11-orig/lib/fascist.c 2023-07-07 21:18:25.582821076 -0400 ++++ cracklib-2.9.11/lib/fascist.c 2023-07-07 21:19:55.130234075 -0400 @@ -55,7 +55,6 @@ "/?p@?p", /* purging out punctuation/symbols/junk */ @@ -15,8 +15,8 @@ diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c + if (len - strlen(mp) >= 3) + { -+ /* purged too much */ -+ continue; ++ /* purged too much */ ++ continue; + } + #ifdef DEBUG @@ -28,8 +28,8 @@ diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c + if (len - strlen(mp) >= 3) + { -+ /* purged too much */ -+ continue; ++ /* purged too much */ ++ continue; + } + #ifdef DEBUG @@ -60,7 +60,7 @@ diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c - maxrepeat = 3+(0.09*strlen(password)); - if (i > maxrepeat) + /* We were still generating false positives for long passwords. -+ Just count systematic double as a single character. */ ++ Just count systematic double as a single character. */ + if (len - i < MINLEN) { return _("it is too simplistic/systematic"); @@ -71,8 +71,8 @@ diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c + if (len - strlen(a) >= 3) + { -+ /* purged too much */ -+ continue; ++ /* purged too much */ ++ continue; + } + #ifdef DEBUG @@ -85,28 +85,27 @@ diff -Naur cracklib-2.9.7-orig/lib/fascist.c cracklib-2.9.7/lib/fascist.c + + if (len - strlen(a) >= 3) + { -+ /* purged too much */ -+ continue; ++ /* purged too much */ ++ continue; + } + #ifdef DEBUG printf("%-16s (reversed dict)\n", a); #endif -diff -Naur cracklib-2.9.7-orig/util/cracklib-format cracklib-2.9.7/util/cracklib-format ---- cracklib-2.9.7-orig/util/cracklib-format 2019-02-13 20:54:41.000000000 -0500 -+++ cracklib-2.9.7/util/cracklib-format 2022-03-07 15:17:54.599692726 -0500 -@@ -3,8 +3,10 @@ - # This preprocesses a set of word lists into a suitable form for input - # into cracklib-packer +diff -Naur cracklib-2.9.11-orig/util/cracklib-format cracklib-2.9.11/util/cracklib-format +--- cracklib-2.9.11-orig/util/cracklib-format 2021-01-22 10:58:14.000000000 -0500 ++++ cracklib-2.9.11/util/cracklib-format 2023-07-07 21:19:14.854048317 -0400 +@@ -10,10 +10,12 @@ + # lines (possibly introduced by earlier parts of the pipeline) as + # cracklib-packer will generate "skipping line" warnings otherwise. # +LC_ALL=C +export LC_ALL gzip -cdf "$@" | -- grep -v '^\(#\|$\)' | -- tr '[A-Z]' '[a-z]' | -- tr -cd '\012[a-z][0-9]' | + grep -a -v '^#' | + tr '[A-Z]' '[a-z]' | + tr -cd '\012[a-z][0-9]' | + cut -c 1-1022 | + grep -v '^$' | - env LC_ALL=C sort -u -+ grep -a -E -v '^.{32,}$' | -+ tr '[:upper:]' '[:lower:]' | -+ tr -cd '\n[:graph:]' | + sort -u diff --git a/cracklib-2.9.6-coverity.patch b/cracklib-2.9.6-coverity.patch deleted file mode 100644 index 457b55f..0000000 --- a/cracklib-2.9.6-coverity.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up cracklib-2.9.6/lib/rules.c.coverity cracklib-2.9.6/lib/rules.c ---- cracklib-2.9.6/lib/rules.c.coverity 2018-10-09 12:15:31.455187555 +0200 -+++ cracklib-2.9.6/lib/rules.c 2018-10-10 14:28:43.472740618 +0200 -@@ -774,6 +774,8 @@ Mangle(input, control, area) /* returns - } - } - } -+ break; -+ - case RULE_MLAST: - if (!ptr[1] || (ptr[1] == RULE_CLASS && !ptr[2])) - { -@@ -809,6 +811,7 @@ Mangle(input, control, area) /* returns - } - } - } -+ break; - - default: - Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control); diff --git a/cracklib-2.9.6-cve-2016-6318.patch b/cracklib-2.9.6-cve-2016-6318.patch deleted file mode 100644 index 370b403..0000000 --- a/cracklib-2.9.6-cve-2016-6318.patch +++ /dev/null @@ -1,144 +0,0 @@ -diff -up cracklib-2.9.6/lib/fascist.c.overflow cracklib-2.9.6/lib/fascist.c ---- cracklib-2.9.6/lib/fascist.c.overflow 2015-10-23 16:58:38.403319225 +0200 -+++ cracklib-2.9.6/lib/fascist.c 2016-12-08 17:28:41.490101358 +0100 -@@ -515,7 +515,7 @@ FascistGecosUser(char *password, const c - char gbuffer[STRINGSIZE]; - char tbuffer[STRINGSIZE]; - char *uwords[STRINGSIZE]; -- char longbuffer[STRINGSIZE * 2]; -+ char longbuffer[STRINGSIZE]; - - if (gecos == NULL) - gecos = ""; -@@ -596,38 +596,47 @@ FascistGecosUser(char *password, const c - { - for (i = 0; i < j; i++) - { -- strcpy(longbuffer, uwords[i]); -- strcat(longbuffer, uwords[j]); -- -- if (GTry(longbuffer, password)) -+ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE) - { -- return _("it is derived from your password entry"); -- } -- -- strcpy(longbuffer, uwords[j]); -- strcat(longbuffer, uwords[i]); -+ strcpy(longbuffer, uwords[i]); -+ strcat(longbuffer, uwords[j]); - -- if (GTry(longbuffer, password)) -- { -- return _("it's derived from your password entry"); -+ if (GTry(longbuffer, password)) -+ { -+ return _("it is derived from your password entry"); -+ } -+ -+ strcpy(longbuffer, uwords[j]); -+ strcat(longbuffer, uwords[i]); -+ -+ if (GTry(longbuffer, password)) -+ { -+ return _("it's derived from your password entry"); -+ } - } - -- longbuffer[0] = uwords[i][0]; -- longbuffer[1] = '\0'; -- strcat(longbuffer, uwords[j]); -- -- if (GTry(longbuffer, password)) -+ if (strlen(uwords[j]) < STRINGSIZE - 1) - { -- return _("it is derivable from your password entry"); -+ longbuffer[0] = uwords[i][0]; -+ longbuffer[1] = '\0'; -+ strcat(longbuffer, uwords[j]); -+ -+ if (GTry(longbuffer, password)) -+ { -+ return _("it is derivable from your password entry"); -+ } - } - -- longbuffer[0] = uwords[j][0]; -- longbuffer[1] = '\0'; -- strcat(longbuffer, uwords[i]); -- -- if (GTry(longbuffer, password)) -+ if (strlen(uwords[i]) < STRINGSIZE - 1) - { -- return _("it's derivable from your password entry"); -+ longbuffer[0] = uwords[j][0]; -+ longbuffer[1] = '\0'; -+ strcat(longbuffer, uwords[i]); -+ -+ if (GTry(longbuffer, password)) -+ { -+ return _("it's derivable from your password entry"); -+ } - } - } - } -diff -up cracklib-2.9.6/lib/rules.c.overflow cracklib-2.9.6/lib/rules.c ---- cracklib-2.9.6/lib/rules.c.overflow 2015-10-23 16:58:38.000000000 +0200 -+++ cracklib-2.9.6/lib/rules.c 2016-12-08 18:03:27.041941297 +0100 -@@ -158,6 +158,8 @@ Pluralise(string, area) /* returns a po - register int length; - length = strlen(string); - strcpy(area, string); -+ if (length > STRINGSIZE - 3) /* we add 2 characters at worst */ -+ return (area); - - if (!Suffix(string, "ch") || - !Suffix(string, "ex") || -@@ -462,11 +464,11 @@ Mangle(input, control, area) /* returns - Pluralise(area2, area); - break; - case RULE_REFLECT: -- strcat(area, Reverse(area, area2)); -+ strncat(area, Reverse(area, area2), STRINGSIZE - strlen(area) - 1); - break; - case RULE_DUPLICATE: - strcpy(area2, area); -- strcat(area, area2); -+ strncat(area, area2, STRINGSIZE - strlen(area) - 1); - break; - case RULE_GT: - if (!ptr[1]) -@@ -514,7 +516,8 @@ Mangle(input, control, area) /* returns - } else - { - area2[0] = *(++ptr); -- strcpy(area2 + 1, area); -+ strncpy(area2 + 1, area, STRINGSIZE - 2); -+ area2[STRINGSIZE - 1] = '\0'; - strcpy(area, area2); - } - break; -@@ -528,8 +531,10 @@ Mangle(input, control, area) /* returns - register char *string; - string = area; - while (*(string++)); -- string[-1] = *(++ptr); -- *string = '\0'; -+ if (string < area + STRINGSIZE) { -+ string[-1] = *(++ptr); -+ *string = '\0'; -+ } - } - break; - case RULE_EXTRACT: -@@ -600,6 +605,10 @@ Mangle(input, control, area) /* returns - } - p1 = area; - p2 = area2; -+ if (strlen(p1) > STRINGSIZE - 2) { -+ /* truncate */ -+ p1[STRINGSIZE - 2] = '\0'; -+ } - while (i && *p1) - { - i--; diff --git a/cracklib-2.9.6-lookup.patch b/cracklib-2.9.6-lookup.patch deleted file mode 100644 index 52ce857..0000000 --- a/cracklib-2.9.6-lookup.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -up cracklib-2.9.6/lib/packlib.c.lookup cracklib-2.9.6/lib/packlib.c ---- cracklib-2.9.6/lib/packlib.c.lookup 2018-10-10 14:19:06.988958835 +0200 -+++ cracklib-2.9.6/lib/packlib.c 2018-11-26 16:04:34.648256614 +0100 -@@ -585,12 +585,11 @@ fprintf(stderr, "look for (%s)\n", strin - fprintf(stderr, "---- %lu, %lu ----\n", lwm, hwm); - #endif - -- middle = lwm + ((hwm - lwm + 1) / 2); -- - for (;;) - { - int cmp; - -+ middle = lwm + ((hwm - lwm + 1) / 2); - - #if DEBUG - fprintf(stderr, "lwm = %lu, middle = %lu, hwm = %lu\n", lwm, middle, hwm); -@@ -617,24 +616,28 @@ fprintf(stderr, "look for (%s)\n", strin - return(middle); - } - -- if (middle == hwm) -- { --#if DEBUG -- fprintf(stderr, "at terminal subdivision, stopping search\n"); --#endif -- break; -- } -- - if (cmp < 0) - { -- hwm = middle; -- middle = lwm + ((hwm - lwm ) / 2); -- } -+ if (middle == lwm) -+ { -+#if DEBUG -+ fprintf(stderr, "at terminal subdivision from right, stopping search\n"); -+#endif -+ break; -+ } -+ hwm = middle - 1; -+ } - else if (cmp > 0) - { -- lwm = middle; -- middle = lwm + ((hwm - lwm + 1) / 2); -- } -+ if (middle == hwm) -+ { -+#if DEBUG -+ fprintf(stderr, "at terminal subdivision from left, stopping search\n"); -+#endif -+ break; -+ } -+ lwm = middle + 1; -+ } - } - - return (PW_WORDS(pwp)); diff --git a/cracklib-2.9.6-packlib-reentrant.patch b/cracklib-2.9.6-packlib-reentrant.patch deleted file mode 100644 index 9ca7fa7..0000000 --- a/cracklib-2.9.6-packlib-reentrant.patch +++ /dev/null @@ -1,672 +0,0 @@ -diff -up cracklib-2.9.6/lib/fascist.c.reentrant cracklib-2.9.6/lib/fascist.c ---- cracklib-2.9.6/lib/fascist.c.reentrant 2015-08-18 20:41:16.000000000 +0200 -+++ cracklib-2.9.6/lib/fascist.c 2015-10-22 18:17:20.338290974 +0200 -@@ -36,8 +36,8 @@ typedef unsigned short uint16_t; - #undef DEBUG - #undef DEBUG2 - --extern char *Reverse(char *buf); --extern char *Lowercase(char *buf); -+extern char *Reverse(char *buf, char *area); -+extern char *Lowercase(char *buf, char *area); - - static char *r_destructors[] = { - ":", /* noop - must do this to test raw word. */ -@@ -439,6 +439,8 @@ GTry(rawtext, password) - int i; - int len; - char *mp; -+ char area[STRINGSIZE]; -+ char revarea[STRINGSIZE]; - - /* use destructors to turn password into rawtext */ - /* note use of Reverse() to save duplicating all rules */ -@@ -447,7 +449,7 @@ GTry(rawtext, password) - - for (i = 0; r_destructors[i]; i++) - { -- if (!(mp = Mangle(password, r_destructors[i]))) -+ if (!(mp = Mangle(password, r_destructors[i], area))) - { - continue; - } -@@ -462,10 +464,10 @@ GTry(rawtext, password) - } - - #ifdef DEBUG -- printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp), rawtext, r_destructors[i]); -+ printf("%-16s = %-16s (destruct %s reversed)\n", Reverse(mp, revarea), rawtext, r_destructors[i]); - #endif - -- if (!strncmp(Reverse(mp), rawtext, len)) -+ if (!strncmp(Reverse(mp, revarea), rawtext, len)) - { - return (1); - } -@@ -473,7 +475,7 @@ GTry(rawtext, password) - - for (i = 0; r_constructors[i]; i++) - { -- if (!(mp = Mangle(rawtext, r_constructors[i]))) -+ if (!(mp = Mangle(rawtext, r_constructors[i], area))) - { - continue; - } -@@ -520,7 +522,7 @@ FascistGecosUser(char *password, const c - - strncpy(tbuffer, gecos, STRINGSIZE); - tbuffer[STRINGSIZE-1] = '\0'; -- strcpy(gbuffer, Lowercase(tbuffer)); -+ Lowercase(tbuffer, gbuffer); - - wc = 0; - ptr = gbuffer; -@@ -695,6 +697,7 @@ FascistLookUser(PWDICT *pwp, char *instr - char junk[STRINGSIZE]; - char *password; - char rpassword[STRINGSIZE]; -+ char area[STRINGSIZE]; - uint32_t notfound; - - notfound = PW_WORDS(pwp); -@@ -731,7 +734,7 @@ FascistLookUser(PWDICT *pwp, char *instr - return _("it does not contain enough DIFFERENT characters"); - } - -- strcpy(password, (char *)Lowercase(password)); -+ strcpy(password, (char *)Lowercase(password, area)); - - Trim(password); - -@@ -787,7 +790,7 @@ FascistLookUser(PWDICT *pwp, char *instr - { - char *a; - -- if (!(a = Mangle(password, r_destructors[i]))) -+ if (!(a = Mangle(password, r_destructors[i], area))) - { - continue; - } -@@ -802,13 +805,13 @@ FascistLookUser(PWDICT *pwp, char *instr - } - } - -- strcpy(password, (char *)Reverse(password)); -+ strcpy(password, (char *)Reverse(password, area)); - - for (i = 0; r_destructors[i]; i++) - { - char *a; - -- if (!(a = Mangle(password, r_destructors[i]))) -+ if (!(a = Mangle(password, r_destructors[i], area))) - { - continue; - } -diff -up cracklib-2.9.6/lib/packer.h.reentrant cracklib-2.9.6/lib/packer.h ---- cracklib-2.9.6/lib/packer.h.reentrant 2015-10-22 18:17:20.335290902 +0200 -+++ cracklib-2.9.6/lib/packer.h 2015-10-22 18:17:20.338290974 +0200 -@@ -82,7 +82,7 @@ extern int PWClose(PWDICT *pwp); - extern unsigned int FindPW(PWDICT *pwp, char *string); - extern int PutPW(PWDICT *pwp, char *string); - extern int PMatch(char *control, char *string); --extern char *Mangle(char *input, char *control); -+extern char *Mangle(char *input, char *control, char *area); - extern char Chop(char *string); - extern char *Trim(char *string); - extern char *FascistLook(PWDICT *pwp, char *instring); -diff -up cracklib-2.9.6/lib/packlib.c.reentrant cracklib-2.9.6/lib/packlib.c ---- cracklib-2.9.6/lib/packlib.c.reentrant 2015-08-18 20:41:16.000000000 +0200 -+++ cracklib-2.9.6/lib/packlib.c 2015-10-22 18:19:52.154911451 +0200 -@@ -67,8 +67,8 @@ PWOpen(prefix, mode) - char *mode; - { - int use64 = 0; -- static PWDICT pdesc; -- static PWDICT64 pdesc64; -+ PWDICT *pdesc; -+ PWDICT64 pdesc64; - char iname[STRINGSIZE]; - char dname[STRINGSIZE]; - char wname[STRINGSIZE]; -@@ -76,13 +76,11 @@ PWOpen(prefix, mode) - void *ifp; - void *wfp; - -- if (pdesc.header.pih_magic == PIH_MAGIC) -- { -- fprintf(stderr, "%s: another dictionary already open\n", prefix); -+ pdesc = malloc(sizeof(*pdesc)); -+ if (pdesc == NULL) - return NULL; -- } - -- memset(&pdesc, '\0', sizeof(pdesc)); -+ memset(pdesc, '\0', sizeof(*pdesc)); - memset(&pdesc64, '\0', sizeof(pdesc64)); - - snprintf(iname, STRINGSIZE, "%s.pwi", prefix); -@@ -91,77 +89,80 @@ PWOpen(prefix, mode) - - if (mode[0] == 'r') - { -- pdesc.flags &= ~PFOR_USEZLIB; -+ pdesc->flags &= ~PFOR_USEZLIB; - /* first try the normal db file */ -- if (!(pdesc.dfp = fopen(dname, mode))) -+ if (!(pdesc->dfp = fopen(dname, mode))) - { - #ifdef HAVE_ZLIB_H -- pdesc.flags |= PFOR_USEZLIB; -+ pdesc->flags |= PFOR_USEZLIB; - /* try extension .gz */ - snprintf(dname, STRINGSIZE, "%s.pwd.gz", prefix); -- if (!(pdesc.dfp = gzopen(dname, mode))) -+ if (!(pdesc->dfp = gzopen(dname, mode))) - { - perror(dname); -+ free(pdesc); - return NULL; - } - #else - perror(dname); -+ free(pdesc); - return NULL; - #endif - } - } - else - { -- pdesc.flags &= ~PFOR_USEZLIB; -+ pdesc->flags &= ~PFOR_USEZLIB; - /* write mode: use fopen */ -- if (!(pdesc.dfp = fopen(dname, mode))) -+ if (!(pdesc->dfp = fopen(dname, mode))) - { - perror(dname); -+ free(pdesc); - return NULL; - } - } - -- if (!(pdesc.ifp = fopen(iname, mode))) -+ if (!(pdesc->ifp = fopen(iname, mode))) - { - #ifdef HAVE_ZLIB_H -- if (pdesc.flags & PFOR_USEZLIB) -- gzclose(pdesc.dfp); -+ if(pdesc->flags & PFOR_USEZLIB) -+ gzclose(pdesc->dfp); - else - #endif -- fclose(pdesc.dfp); -+ fclose(pdesc->dfp); - perror(iname); -+ free(pdesc); - return NULL; - } - -- if ((pdesc.wfp = fopen(wname, mode))) -+ if ((pdesc->wfp = fopen(wname, mode))) - { -- pdesc.flags |= PFOR_USEHWMS; -+ pdesc->flags |= PFOR_USEHWMS; - } - -- ifp = pdesc.ifp; -- dfp = pdesc.dfp; -- wfp = pdesc.wfp; -+ ifp = pdesc->ifp; -+ dfp = pdesc->dfp; -+ wfp = pdesc->wfp; - - if (mode[0] == 'w') - { -- pdesc.flags |= PFOR_WRITE; -- pdesc.header.pih_magic = PIH_MAGIC; -- pdesc.header.pih_blocklen = NUMWORDS; -- pdesc.header.pih_numwords = 0; -+ pdesc->flags |= PFOR_WRITE; -+ pdesc->header.pih_magic = PIH_MAGIC; -+ pdesc->header.pih_blocklen = NUMWORDS; -+ pdesc->header.pih_numwords = 0; - -- fwrite((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp); -+ fwrite((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp); - } else - { -- pdesc.flags &= ~PFOR_WRITE; -+ pdesc->flags &= ~PFOR_WRITE; - -- if (!fread((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp)) -+ if (!fread((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp)) - { - fprintf(stderr, "%s: error reading header\n", prefix); - -- pdesc.header.pih_magic = 0; - fclose(ifp); - #ifdef HAVE_ZLIB_H -- if (pdesc.flags & PFOR_USEZLIB) -+ if(pdesc->flags & PFOR_USEZLIB) - gzclose(dfp); - else - #endif -@@ -170,10 +171,11 @@ PWOpen(prefix, mode) - { - fclose(wfp); - } -+ free(pdesc); - return NULL; - } - -- if ((pdesc.header.pih_magic == 0) || (pdesc.header.pih_numwords == 0)) -+ if ((pdesc->header.pih_magic == 0) || (pdesc->header.pih_numwords == 0)) - { - /* uh-oh. either a broken "64-bit" file or a garbage file. */ - rewind (ifp); -@@ -181,10 +183,9 @@ PWOpen(prefix, mode) - { - fprintf(stderr, "%s: error reading header\n", prefix); - -- pdesc.header.pih_magic = 0; - fclose(ifp); - #ifdef HAVE_ZLIB_H -- if (pdesc.flags & PFOR_USEZLIB) -+ if (pdesc->flags & PFOR_USEZLIB) - gzclose(dfp); - else - #endif -@@ -193,6 +194,7 @@ PWOpen(prefix, mode) - { - fclose(wfp); - } -+ free(pdesc); - return NULL; - } - if (pdesc64.header.pih_magic != PIH_MAGIC) -@@ -200,10 +202,9 @@ PWOpen(prefix, mode) - /* nope, not "64-bit" after all */ - fprintf(stderr, "%s: error reading header\n", prefix); - -- pdesc.header.pih_magic = 0; - fclose(ifp); - #ifdef HAVE_ZLIB_H -- if (pdesc.flags & PFOR_USEZLIB) -+ if (pdesc->flags & PFOR_USEZLIB) - gzclose(dfp); - else - #endif -@@ -213,23 +214,23 @@ PWOpen(prefix, mode) - { - fclose(wfp); - } -+ free(pdesc); - return NULL; - } -- pdesc.header.pih_magic = pdesc64.header.pih_magic; -- pdesc.header.pih_numwords = pdesc64.header.pih_numwords; -- pdesc.header.pih_blocklen = pdesc64.header.pih_blocklen; -- pdesc.header.pih_pad = pdesc64.header.pih_pad; -+ pdesc->header.pih_magic = pdesc64.header.pih_magic; -+ pdesc->header.pih_numwords = pdesc64.header.pih_numwords; -+ pdesc->header.pih_blocklen = pdesc64.header.pih_blocklen; -+ pdesc->header.pih_pad = pdesc64.header.pih_pad; - use64 = 1; - } - -- if (pdesc.header.pih_magic != PIH_MAGIC) -+ if (pdesc->header.pih_magic != PIH_MAGIC) - { - fprintf(stderr, "%s: magic mismatch\n", prefix); - -- pdesc.header.pih_magic = 0; - fclose(ifp); - #ifdef HAVE_ZLIB_H -- if (pdesc.flags & PFOR_USEZLIB) -+ if (pdesc->flags & PFOR_USEZLIB) - gzclose(dfp); - else - #endif -@@ -239,17 +240,17 @@ PWOpen(prefix, mode) - { - fclose(wfp); - } -+ free(pdesc); - return NULL; - } - -- if (pdesc.header.pih_numwords < 1) -+ if (pdesc->header.pih_numwords < 1) - { - fprintf(stderr, "%s: invalid word count\n", prefix); - -- pdesc.header.pih_magic = 0; - fclose(ifp); - #ifdef HAVE_ZLIB_H -- if (pdesc.flags & PFOR_USEZLIB) -+ if (pdesc->flags & PFOR_USEZLIB) - gzclose(dfp); - else - #endif -@@ -258,17 +259,17 @@ PWOpen(prefix, mode) - { - fclose(wfp); - } -+ free(pdesc); - return NULL; - } - -- if (pdesc.header.pih_blocklen != NUMWORDS) -+ if (pdesc->header.pih_blocklen != NUMWORDS) - { - fprintf(stderr, "%s: size mismatch\n", prefix); - -- pdesc.header.pih_magic = 0; - fclose(ifp); - #ifdef HAVE_ZLIB_H -- if (pdesc.flags & PFOR_USEZLIB) -+ if (pdesc->flags & PFOR_USEZLIB) - gzclose(dfp); - else - #endif -@@ -277,10 +278,11 @@ PWOpen(prefix, mode) - { - fclose(wfp); - } -+ free(pdesc); - return NULL; - } - -- if (pdesc.flags & PFOR_USEHWMS) -+ if (pdesc->flags & PFOR_USEHWMS) - { - int i; - -@@ -288,27 +290,27 @@ PWOpen(prefix, mode) - { - if (fread(pdesc64.hwms, 1, sizeof(pdesc64.hwms), wfp) != sizeof(pdesc64.hwms)) - { -- pdesc.flags &= ~PFOR_USEHWMS; -+ pdesc->flags &= ~PFOR_USEHWMS; - } -- for (i = 0; i < sizeof(pdesc.hwms) / sizeof(pdesc.hwms[0]); i++) -+ for (i = 0; i < sizeof(pdesc->hwms) / sizeof(pdesc->hwms[0]); i++) - { -- pdesc.hwms[i] = pdesc64.hwms[i]; -+ pdesc->hwms[i] = pdesc64.hwms[i]; - } -- } -- else if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms)) -+ } -+ else if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms)) - { -- pdesc.flags &= ~PFOR_USEHWMS; -+ pdesc->flags &= ~PFOR_USEHWMS; - } - #if DEBUG - for (i=1; i<=0xff; i++) - { -- printf("hwm[%02x] = %d\n", i, pdesc.hwms[i]); -+ printf("hwm[%02x] = %d\n", i, pdesc->hwms[i]); - } - #endif - } - } - -- return (&pdesc); -+ return (pdesc); - } - - int -@@ -318,6 +320,7 @@ PWClose(pwp) - if (pwp->header.pih_magic != PIH_MAGIC) - { - fprintf(stderr, "PWClose: close magic mismatch\n"); -+ /* we do not try to free memory that is probably corrupted */ - return (-1); - } - -@@ -329,12 +332,14 @@ PWClose(pwp) - if (fseek(pwp->ifp, 0L, 0)) - { - fprintf(stderr, "index magic fseek failed\n"); -+ free(pwp); - return (-1); - } - - if (!fwrite((char *) &pwp->header, sizeof(pwp->header), 1, pwp->ifp)) - { - fprintf(stderr, "index magic fwrite failed\n"); -+ free(pwp); - return (-1); - } - -@@ -368,6 +373,7 @@ PWClose(pwp) - } - - pwp->header.pih_magic = 0; -+ free(pwp); - - return (0); - } -diff -up cracklib-2.9.6/lib/rules.c.reentrant cracklib-2.9.6/lib/rules.c ---- cracklib-2.9.6/lib/rules.c.reentrant 2015-08-18 20:41:16.000000000 +0200 -+++ cracklib-2.9.6/lib/rules.c 2015-10-22 18:17:20.339290998 +0200 -@@ -82,12 +82,12 @@ Suffix(myword, suffix) - } - - char * --Reverse(str) /* return a pointer to a reversal */ -+Reverse(str, area) /* return a pointer to a reversal */ - register char *str; -+ char *area; - { - register int i; - register int j; -- static char area[STRINGSIZE]; - j = i = strlen(str); - while (*str) - { -@@ -98,11 +98,11 @@ Reverse(str) /* return a pointer to a - } - - char * --Uppercase(str) /* return a pointer to an uppercase */ -+Uppercase(str, area) /* return a pointer to an uppercase */ - register char *str; -+ char *area; - { - register char *ptr; -- static char area[STRINGSIZE]; - ptr = area; - while (*str) - { -@@ -115,11 +115,11 @@ Uppercase(str) /* return a pointer to - } - - char * --Lowercase(str) /* return a pointer to an lowercase */ -+Lowercase(str, area) /* return a pointer to an lowercase */ - register char *str; -+ char *area; - { - register char *ptr; -- static char area[STRINGSIZE]; - ptr = area; - while (*str) - { -@@ -132,11 +132,11 @@ Lowercase(str) /* return a pointer to - } - - char * --Capitalise(str) /* return a pointer to an capitalised */ -+Capitalise(str, area) /* return a pointer to an capitalised */ - register char *str; -+ char *area; - { - register char *ptr; -- static char area[STRINGSIZE]; - ptr = area; - - while (*str) -@@ -151,11 +151,11 @@ Capitalise(str) /* return a pointer to - } - - char * --Pluralise(string) /* returns a pointer to a plural */ -+Pluralise(string, area) /* returns a pointer to a plural */ - register char *string; -+ char *area; - { - register int length; -- static char area[STRINGSIZE]; - length = strlen(string); - strcpy(area, string); - -@@ -192,13 +192,13 @@ Pluralise(string) /* returns a pointer - } - - char * --Substitute(string, old, new) /* returns pointer to a swapped about copy */ -+Substitute(string, old, new, area) /* returns pointer to a swapped about copy */ - register char *string; - register char old; - register char new; -+ char *area; - { - register char *ptr; -- static char area[STRINGSIZE]; - ptr = area; - while (*string) - { -@@ -210,12 +210,12 @@ Substitute(string, old, new) /* returns - } - - char * --Purge(string, target) /* returns pointer to a purged copy */ -+Purge(string, target, area) /* returns pointer to a purged copy */ - register char *string; - register char target; -+ char *area; - { - register char *ptr; -- static char area[STRINGSIZE]; - ptr = area; - while (*string) - { -@@ -372,13 +372,13 @@ PolyStrchr(string, class) - } - - char * --PolySubst(string, class, new) /* returns pointer to a swapped about copy */ -+PolySubst(string, class, new, area) /* returns pointer to a swapped about copy */ - register char *string; - register char class; - register char new; -+ char *area; - { - register char *ptr; -- static char area[STRINGSIZE]; - ptr = area; - while (*string) - { -@@ -390,12 +390,12 @@ PolySubst(string, class, new) /* returns - } - - char * --PolyPurge(string, class) /* returns pointer to a purged copy */ -+PolyPurge(string, class, area) /* returns pointer to a purged copy */ - register char *string; - register char class; -+ char *area; - { - register char *ptr; -- static char area[STRINGSIZE]; - ptr = area; - while (*string) - { -@@ -428,40 +428,41 @@ Char2Int(character) - } - - char * --Mangle(input, control) /* returns a pointer to a controlled Mangle */ -+Mangle(input, control, area) /* returns a pointer to a controlled Mangle */ - char *input; - char *control; -+ char *area; - { - int limit; - register char *ptr; -- static char area[STRINGSIZE]; - char area2[STRINGSIZE]; - area[0] = '\0'; - strcpy(area, input); - - for (ptr = control; *ptr; ptr++) - { -+ strcpy(area2, area); - switch (*ptr) - { - case RULE_NOOP: - break; - case RULE_REVERSE: -- strcpy(area, Reverse(area)); -+ Reverse(area2, area); - break; - case RULE_UPPERCASE: -- strcpy(area, Uppercase(area)); -+ Uppercase(area2, area); - break; - case RULE_LOWERCASE: -- strcpy(area, Lowercase(area)); -+ Lowercase(area2, area); - break; - case RULE_CAPITALISE: -- strcpy(area, Capitalise(area)); -+ Capitalise(area2, area); - break; - case RULE_PLURALISE: -- strcpy(area, Pluralise(area)); -+ Pluralise(area2, area); - break; - case RULE_REFLECT: -- strcat(area, Reverse(area)); -+ strcat(area, Reverse(area, area2)); - break; - case RULE_DUPLICATE: - strcpy(area2, area); -@@ -548,7 +549,6 @@ Mangle(input, control) /* returns a poi - Debug(1, "Mangle: extract: weird argument in '%s'\n", control); - return NULL; - } -- strcpy(area2, area); - for (i = 0; length-- && area2[start + i]; i++) - { - area[i] = area2[start + i]; -@@ -619,10 +619,10 @@ Mangle(input, control) /* returns a poi - return NULL; - } else if (ptr[1] != RULE_CLASS) - { -- strcpy(area, Purge(area, *(++ptr))); -+ Purge(area2, *(++ptr), area); - } else - { -- strcpy(area, PolyPurge(area, ptr[2])); -+ PolyPurge(area2, ptr[2], area); - ptr += 2; - } - break; -@@ -633,11 +633,11 @@ Mangle(input, control) /* returns a poi - return NULL; - } else if (ptr[1] != RULE_CLASS) - { -- strcpy(area, Substitute(area, ptr[1], ptr[2])); -+ Substitute(area2, ptr[1], ptr[2], area); - ptr += 2; - } else - { -- strcpy(area, PolySubst(area, ptr[2], ptr[3])); -+ PolySubst(area2, ptr[2], ptr[3], area); - ptr += 3; - } - break; diff --git a/cracklib-2.9.6-simplistic.patch b/cracklib-2.9.6-simplistic.patch deleted file mode 100644 index 743b9cb..0000000 --- a/cracklib-2.9.6-simplistic.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff -up cracklib-2.9.6/lib/fascist.c.simplistic cracklib-2.9.6/lib/fascist.c ---- cracklib-2.9.6/lib/fascist.c.simplistic 2015-10-22 18:21:51.099748012 +0200 -+++ cracklib-2.9.6/lib/fascist.c 2015-10-22 18:21:51.101748060 +0200 -@@ -55,7 +55,6 @@ static char *r_destructors[] = { - - "/?p@?p", /* purging out punctuation/symbols/junk */ - "/?s@?s", -- "/?X@?X", - - /* attempt reverse engineering of password strings */ - -@@ -454,6 +453,12 @@ GTry(rawtext, password) - continue; - } - -+ if (len - strlen(mp) >= 3) -+ { -+ /* purged too much */ -+ continue; -+ } -+ - #ifdef DEBUG - printf("%-16s = %-16s (destruct %s)\n", mp, rawtext, r_destructors[i]); - #endif -@@ -480,6 +485,12 @@ GTry(rawtext, password) - continue; - } - -+ if (len - strlen(mp) >= 3) -+ { -+ /* purged too much */ -+ continue; -+ } -+ - #ifdef DEBUG - printf("%-16s = %-16s (construct %s)\n", mp, password, r_constructors[i]); - #endif -@@ -699,6 +710,7 @@ FascistLookUser(PWDICT *pwp, char *instr - char rpassword[STRINGSIZE]; - char area[STRINGSIZE]; - uint32_t notfound; -+ int len; - - notfound = PW_WORDS(pwp); - /* already truncated if from FascistCheck() */ -@@ -748,6 +760,7 @@ FascistLookUser(PWDICT *pwp, char *instr - return _("it is all whitespace"); - } - -+ len = strlen(password); - i = 0; - ptr = password; - while (ptr[0] && ptr[1]) -@@ -759,10 +772,9 @@ FascistLookUser(PWDICT *pwp, char *instr - ptr++; - } - -- /* Change by Ben Karsin from ITS at University of Hawaii at Manoa. Static MAXSTEP -- would generate many false positives for long passwords. */ -- maxrepeat = 3+(0.09*strlen(password)); -- if (i > maxrepeat) -+ /* We were still generating false positives for long passwords. -+ Just count systematic double as a single character. */ -+ if (len - i < MINLEN) - { - return _("it is too simplistic/systematic"); - } -@@ -795,6 +807,12 @@ FascistLookUser(PWDICT *pwp, char *instr - continue; - } - -+ if (len - strlen(a) >= 3) -+ { -+ /* purged too much */ -+ continue; -+ } -+ - #ifdef DEBUG - printf("%-16s (dict)\n", a); - #endif -@@ -815,6 +833,13 @@ FascistLookUser(PWDICT *pwp, char *instr - { - continue; - } -+ -+ if (len - strlen(a) >= 3) -+ { -+ /* purged too much */ -+ continue; -+ } -+ - #ifdef DEBUG - printf("%-16s (reversed dict)\n", a); - #endif -diff -up cracklib-2.9.6/util/cracklib-format.simplistic cracklib-2.9.6/util/cracklib-format ---- cracklib-2.9.6/util/cracklib-format.simplistic 2015-10-22 18:21:51.101748060 +0200 -+++ cracklib-2.9.6/util/cracklib-format 2014-07-09 17:24:45.000000000 +0200 -@@ -3,8 +3,10 @@ - # This preprocesses a set of word lists into a suitable form for input - # into cracklib-packer - # -+LC_ALL=C -+export LC_ALL - gzip -cdf "$@" | -- grep -v '^\(#\|$\)' | -- tr '[A-Z]' '[a-z]' | -- tr -cd '\012[a-z][0-9]' | -- env LC_ALL=C sort -u -+ grep -a -E -v '^.{32,}$' | -+ tr '[:upper:]' '[:lower:]' | -+ tr -cd '\n[:graph:]' | -+ sort -u diff --git a/cracklib-2.9.6-translation-updates.patch b/cracklib-2.9.6-translation-updates.patch deleted file mode 100644 index fff80c0..0000000 --- a/cracklib-2.9.6-translation-updates.patch +++ /dev/null @@ -1,3084 +0,0 @@ -diff -urN cracklib-2.9.6.old/po/as.po cracklib-2.9.6.new/po/as.po ---- cracklib-2.9.6.old/po/as.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/as.po 2018-10-09 11:57:33.759928725 +0200 -@@ -1,82 +1,83 @@ - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. --# -+# - # Amitakhya Phukan , 2009. -+# ngoswami , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: \n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-12 11:39+0530\n" --"Last-Translator: Amitakhya Phukan \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-23 10:11-0400\n" -+"Last-Translator: ngoswami \n" - "Language-Team: Assamese <>\n" --"Language: as\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: Lokalize 1.0\n" -+"Language: as\n" - "Plural-Forms: nplurals=2; plural=n != 1;\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "আপুনি গুপ্তশব্দৰ নথিপত্ৰ পঞ্জিকৃত নহয়" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "এইটো আপোনাৰ ব্যৱহাৰকৰ্তাৰ নামৰ আধাৰত" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "এইটো আপোনাৰ গুপ্তশব্দৰ নিবেশৰ আধাৰত" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পোৱা হৈছে" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পোৱা হৈছে" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পাব পাৰি" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পাব পাৰি" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "আপুনি গুপ্তশব্দৰ নথিপত্ৰ পঞ্জিকৃত নহয়" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "ই বৰ সৰু" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "ই বৰ সৰু" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "ইয়াত যথেষ্ট ভিন্ন আকৰ নাই" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "ই সম্পূৰ্ণৰূপে ৰিক্ত স্থানেৰে ভৰা" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "ই বৰ সৰল/শৃংখলাবদ্ধ" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "ই দেখাত এটা National Insurance ৰ নম্বৰৰ দৰে ।" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "ই এটা অভিধানৰ শব্দৰ আধাৰত" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "ই এটা অভিধানৰ শব্দৰ আধাৰত (ওলোটা ক্ৰমত)" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "শব্দকোষ ল'ড কৰোতে ত্ৰুটি" -diff -urN cracklib-2.9.6.old/po/be.po cracklib-2.9.6.new/po/be.po ---- cracklib-2.9.6.old/po/be.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/be.po 2018-10-09 11:38:57.597040577 +0200 -@@ -0,0 +1,79 @@ -+# Viktar Siarheichyk , 2018. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2018-06-04 07:22+0000\n" -+"Last-Translator: Viktar Siarheichyk \n" -+"Language-Team: Belarusian\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: be\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "заснавана на імені карыстальніка" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "заснавана на ўпісаным пароле" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "паходзіць з вашага запісу пароля" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "паходзіць з вашага запісу пароля" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "можа паходзіць з вашага запісу пароля" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "можа паходзіць з вашага запісу пароля" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "няма вашага запісу ў файле пароляў" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "ён ЗАНАДТА кароткі" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "ён надта кароткі" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "у ім недастаткова РОЗНАСТАЙНЫХ знакаў" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "адны прабелы" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "надта просты ці распаўсюджаны" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr " надобны на нумар сацыяльнага страхавання." -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "базуецца на слоўнікавым слове" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "бвзуецца на (адваротным) слоўнікавым слове" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "памылка падчас загрузкі слоўніка" -diff -urN cracklib-2.9.6.old/po/bn_IN.po cracklib-2.9.6.new/po/bn_IN.po ---- cracklib-2.9.6.old/po/bn_IN.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/bn_IN.po 2018-10-09 11:57:33.759928725 +0200 -@@ -1,83 +1,84 @@ - # translation of cracklib.po to Bengali INDIA - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the cracklib package. --# -+# - # Runa Bhattacharjee , 2009. -+# sray , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: cracklib.default.cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-11 12:34+0530\n" --"Last-Translator: Runa Bhattacharjee \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-03 05:14-0400\n" -+"Last-Translator: sray \n" - "Language-Team: Bengali INDIA \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" -+"Language: bn-IN\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "পাসওয়ার্ড ফাইলের মধ্যে আপনার পরিচয় নিবন্ধিত নয়" -+ -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "আপনার ব্যবহারকারীর নামের উপর এটি নির্ভরশীল" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "আপনার পাসওয়ার্ড এনট্রির উপর এটি নির্ভরশীল" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা হয়েছে" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা হয়েছে" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা সম্ভব" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "আপনার পাসওয়ার্ড এনট্রি থেকে এটি আহরণ করা সম্ভব" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "পাসওয়ার্ড ফাইলের মধ্যে আপনার পরিচয় নিবন্ধিত নয়" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "এটি অত্যাধিক ছোট" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "এটি অতিমাত্রায় ছোট" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "এর মধ্যে উপস্থিত অক্ষরগুলির মধ্যে পর্যাপ্ত বৈচিত্র উপস্থিত নেই" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "এটি শুধুমাত্র শূণ্যস্থান দ্বারা গঠিত হয়েছে" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "এটি অত্যাধিক সরল/গতানুগতিক" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "এটি একটি বীমার অ্যাকাউন্টের সংখ্যার অনুরূপ।" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "এটি অভিধানের একটি শব্দের ভিত্তিতে নির্ধারিত হয়েছে" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "এটি অভিধানের একটি শব্দের (বিপরীত) ভিত্তিতে নির্ধারিত হয়েছে" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "অভিধান লোড হতে সমস্যা" -diff -urN cracklib-2.9.6.old/po/ca.po cracklib-2.9.6.new/po/ca.po ---- cracklib-2.9.6.old/po/ca.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/ca.po 2018-10-09 11:37:49.699355368 +0200 -@@ -0,0 +1,79 @@ -+# Robert Antoni Buj Gelonch , 2016. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2016-10-08 03:48+0000\n" -+"Last-Translator: Robert Antoni Buj Gelonch \n" -+"Language-Team: Catalan\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: ca\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "es basa en el vostre nom d'usuari" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "es basa en la introducció de la vostra contrasenya" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "es deriva a partir de la introducció de la vostra contrasenya" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "es deriva a partir de la introducció de la vostra contrasenya" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "es pot derivar a partir de la introducció de la vostra contrasenya" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "es pot derivar a partir de la introducció de la vostra contrasenya" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "no esteu registrat al fitxer de contrasenyes" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "és massa curt" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "és massa curt" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "no conté prou caràcters DIFERENTS" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "és tot l'espai en blanc" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "és massa simplista/sistemàtica" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr "sembla un número de la seguretat social." -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "es basa en una paraula del diccionari" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "es basa en una paraula del diccionari (revers)" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "error en carregar el diccionari" -diff -urN cracklib-2.9.6.old/po/cs.po cracklib-2.9.6.new/po/cs.po ---- cracklib-2.9.6.old/po/cs.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/cs.po 2018-10-09 11:37:54.554475070 +0200 -@@ -1,19 +1,21 @@ - # translation of cracklib.po to czech - # Klara Cihlarova , 2003. --# -+# Jan Dittberner , 2016. #zanata -+# Marek Suchánek , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-06-23 13:18+02:00\n" --"Last-Translator: Klara Cihlarova \n" -+"PO-Revision-Date: 2016-08-31 01:14+0000\n" -+"Last-Translator: Marek Suchánek \n" - "Language-Team: czech \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.2\n" -+"Language: cs\n" -+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -77,4 +79,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "chyba při načítání slovníku" -diff -urN cracklib-2.9.6.old/po/da.po cracklib-2.9.6.new/po/da.po ---- cracklib-2.9.6.old/po/da.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/da.po 2018-10-09 11:39:10.434360676 +0200 -@@ -2,20 +2,22 @@ - # Copyright (C) 2005 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # Martin Møller , 2005. --# -+# Jan Dittberner , 2016. #zanata -+# scootergrisen , 2017. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-16 20:11+0200\n" --"Last-Translator: Martin Møller \n" -+"PO-Revision-Date: 2017-10-06 02:39+0000\n" -+"Last-Translator: scootergrisen \n" - "Language-Team: Dansk \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.10.1\n" -+"Language: da\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -43,7 +45,7 @@ - - #: lib/fascist.c:674 - msgid "you are not registered in the password file" --msgstr "Du er ikke optegnet i adgangskodefilen" -+msgstr "du er ikke optegnet i adgangskodefilen" - - #: lib/fascist.c:709 - msgid "it is WAY too short" -@@ -59,7 +61,7 @@ - - #: lib/fascist.c:745 - msgid "it is all whitespace" --msgstr "det er kun mellemrum/blanke tegn" -+msgstr "alt er blanktegn" - - #: lib/fascist.c:764 - msgid "it is too simplistic/systematic" -@@ -67,7 +69,7 @@ - - #: lib/fascist.c:769 - msgid "it looks like a National Insurance number." --msgstr "det ligner et CPR nummer." -+msgstr "det ligner et \"National Insurance\"-nummer." - - #: lib/fascist.c:801 - msgid "it is based on a dictionary word" -@@ -79,4 +81,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "fejl ved indlæsning af ordbog" -diff -urN cracklib-2.9.6.old/po/de.po cracklib-2.9.6.new/po/de.po ---- cracklib-2.9.6.old/po/de.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/de.po 2018-10-09 11:38:15.372988343 +0200 -@@ -4,21 +4,21 @@ - # Antje Faber , 2000-2003. - # Karl Eichwalder , 1999-2003. - # Martin Lohner , 2000. --# -+# Jan Dittberner , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: new\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2003-11-27 18:31GMT\n" --"Last-Translator: Novell Language \n" -+"PO-Revision-Date: 2018-08-16 12:44+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Novell Language \n" --"Language: \n" - "MIME-Version: 1.0\n" --"Content-Type: text/plain; charset=utf-8\n" -+"Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: de\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" --"X-Generator: KBabel 1.0.2\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -82,4 +82,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "Fehler beim Laden des Wörterbuchs" -diff -urN cracklib-2.9.6.old/po/el.po cracklib-2.9.6.new/po/el.po ---- cracklib-2.9.6.old/po/el.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/el.po 2018-10-09 11:38:32.974426610 +0200 -@@ -4,20 +4,21 @@ - # This file is distributed under the same license as the PACKAGE package. - # Kostas Boukouvalas , 2005. - # Hellenic SuSE Translation Group , 2005. --# -+# Jan Dittberner , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: el\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-26 19:19+0300\n" --"Last-Translator: Hellenic SuSE Translation Group \n" -+"PO-Revision-Date: 2016-06-18 01:02+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Hellenic-Ελληνικά-Greek \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.10\n" -+"Language: el\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -diff -urN cracklib-2.9.6.old/po/es.po cracklib-2.9.6.new/po/es.po ---- cracklib-2.9.6.old/po/es.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/es.po 2018-10-09 11:38:49.684843285 +0200 -@@ -1,81 +1,83 @@ - # translation of cracklib.po to - # This file is put in the public domain. --# , 2003 --# -+#, 2003 -+# Waldo Ribeiro , 2016. #zanata -+# Máximo Castañeda Riloba , 2017. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-06-23 13:17+02:00\n" --"Last-Translator: Novell Language \n" --"Language-Team: Novell Language \n" --"Language: \n" -+"PO-Revision-Date: 2018-08-16 12:44+0000\n" -+"Last-Translator: Copied by Zanata \n" -+"Language-Team: Novell Language \n" - "MIME-Version: 1.0\n" --"Content-Type: text/plain; charset=utf-8\n" -+"Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.0.1\n" -+"Language: es\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" --msgstr "Está basada en su nombre de usuario." -+msgstr "está basada en su nombre de usuario" - - #: lib/fascist.c:576 - msgid "it is based upon your password entry" --msgstr "Está basada en su contraseña." -+msgstr "está basada en su contraseña" - - #: lib/fascist.c:591 - msgid "it is derived from your password entry" --msgstr "Se deriva de su contraseña." -+msgstr "se deriva de su contraseña" - - #: lib/fascist.c:599 - msgid "it's derived from your password entry" --msgstr "Se deriva de su contraseña." -+msgstr "se deriva de su contraseña" - - #: lib/fascist.c:608 - msgid "it is derivable from your password entry" --msgstr "Puede derivarse de su contraseña." -+msgstr "puede derivarse de su contraseña" - - #: lib/fascist.c:617 - msgid "it's derivable from your password entry" --msgstr "Puede derivarse de su contraseña." -+msgstr "puede derivarse de su contraseña" - - #: lib/fascist.c:674 - msgid "you are not registered in the password file" --msgstr "No está registrado en el archivo de contraseñas." -+msgstr "no está registrado en el archivo de contraseñas" - - #: lib/fascist.c:709 - msgid "it is WAY too short" --msgstr "Es DEMASIADO corta." -+msgstr "es DEMASIADO corta" - - #: lib/fascist.c:714 - msgid "it is too short" --msgstr "Es demasiado corta." -+msgstr "es demasiado corta" - - #: lib/fascist.c:731 - msgid "it does not contain enough DIFFERENT characters" --msgstr "No contiene suficientes caracteres DIFERENTES." -+msgstr "no contiene suficientes caracteres DIFERENTES" - - #: lib/fascist.c:745 - msgid "it is all whitespace" --msgstr "Está formada sólo por espacios." -+msgstr "está formada sólo por espacios" - - #: lib/fascist.c:764 - msgid "it is too simplistic/systematic" --msgstr "Es demasiado simple/sistemática." -+msgstr "es demasiado simple/sistemática" - - #: lib/fascist.c:769 - msgid "it looks like a National Insurance number." --msgstr "Parece un número de la Seguridad Social." -+msgstr "parece un número de la Seguridad Social" - - #: lib/fascist.c:801 - msgid "it is based on a dictionary word" --msgstr "Está basada en una palabra del diccionario." -+msgstr "está basada en una palabra del diccionario" - - #: lib/fascist.c:820 - msgid "it is based on a (reversed) dictionary word" --msgstr "Está basada en una palabra del diccionario escrita al revés." -+msgstr "está basada en una palabra del diccionario escrita al revés" - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "error al cargar el diccionario" -diff -urN cracklib-2.9.6.old/po/eu.po cracklib-2.9.6.new/po/eu.po ---- cracklib-2.9.6.old/po/eu.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/eu.po 2018-10-09 11:38:46.701768899 +0200 -@@ -0,0 +1,79 @@ -+# Mikel Olasagasti Uranga , 2017. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2017-04-11 05:46+0000\n" -+"Last-Translator: Mikel Olasagasti Uranga \n" -+"Language-Team: Basque\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: eu\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "zure erabiltzaile-izenean oinarrituta dago" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "OSO laburra da" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "laburregia da" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "ez ditu nahikoa karaktere EZBERDIN" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "karaktere guztiak zuriuneak dira" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "oso sinple edo sistematikoa" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr "Gizarte Segurantza zenbakia dirudi (National Insurance)" -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "hiztegiko hitz batean oinarritua da" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "hiztegiko hitz batean oinarritua da (alderantziz)" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "errorea hiztegia kargatzean" -diff -urN cracklib-2.9.6.old/po/fi.po cracklib-2.9.6.new/po/fi.po ---- cracklib-2.9.6.old/po/fi.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/fi.po 2018-10-09 11:39:09.467336563 +0200 -@@ -2,20 +2,22 @@ - # Copyright (C) 2005 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # Jyri Palokangas , 2005. --# -+# Jan Dittberner , 2016. #zanata -+# Jiri Grönroos , 2017. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-25 15:20+0300\n" --"Last-Translator: Jyri Palokangas \n" --"Language-Team: \n" --"Language: \n" -+"PO-Revision-Date: 2017-03-26 09:02+0000\n" -+"Last-Translator: Jiri Grönroos \n" -+"Language-Team: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.10.2\n" -+"Language: fi\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -79,4 +81,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "virhe sanakirjaa ladatessa" -diff -urN cracklib-2.9.6.old/po/fr.po cracklib-2.9.6.new/po/fr.po ---- cracklib-2.9.6.old/po/fr.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/fr.po 2018-10-09 11:38:58.577065014 +0200 -@@ -1,20 +1,22 @@ - # translation of cracklib.po to Français - # This file is put in the public domain. - # Patricia Vaz , 2003 --# -+# Jan Dittberner , 2016. #zanata -+# Jean-Baptiste Holcroft , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-06-23 13:17+02:00\n" --"Last-Translator: Novell Language \n" -+"PO-Revision-Date: 2018-08-16 12:44+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Novell Language \n" --"Language: \n" - "MIME-Version: 1.0\n" --"Content-Type: text/plain; charset=utf-8\n" -+"Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.0.1\n" -+"Language: fr\n" -+"Plural-Forms: nplurals=2; plural=(n > 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -78,4 +80,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "erreur lors du chargement du dictionnaire" -diff -urN cracklib-2.9.6.old/po/gu.po cracklib-2.9.6.new/po/gu.po ---- cracklib-2.9.6.old/po/gu.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/gu.po 2018-10-09 11:57:33.760928751 +0200 -@@ -1,84 +1,85 @@ - # translation of cracklib.default.cracklib.gu.po to Gujarati - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. --# -+# - # Ankit Patel , 2009. -+# swkothar , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: cracklib.default.cracklib.gu\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-10-22 18:13+0530\n" --"Last-Translator: Ankit Patel \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-24 05:01-0400\n" -+"Last-Translator: swkothar \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" --"X-Generator: KBabel 1.11.4\n" --"Plural-Forms: nplurals=2; plural=(n!=1);\n" -+"Language: gu\n" -+"Plural-Forms: nplurals=2; plural=(n!=1);\n" - "\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "પાસવર્ડ ફાઈલમાં તમારી નોંધ થયેલ નથી" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "તમારા વપરાશકર્તા નામ પર આધારિત છે" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "તમારા પાસવર્ડ પ્રવેશ પર આધારિત છે" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવવામાં આવેલ છે" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવવામાં આવેલ છે" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવી શકાય તેવું છે" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવી શકાય તેવું છે" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "પાસવર્ડ ફાઈલમાં તમારી નોંધ થયેલ નથી" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "ખૂબ ટૂંકો છે" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "ખૂબ ટૂંકો છે" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "ભિન્ન અક્ષરો સમાવતો નથી" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "આ બધી ખાલી જગ્યા છે" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "ખૂબ સરળ છે/પદ્ધતિસરનું છે" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "રાષ્ટ્રિય વીમા નંબર જેવું દેખાય છે." - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "શબ્દકોષના શબ્દ પર આધારિત છે" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "(આરક્ષિત) શબ્દકોષના શબ્દ પર આધારિત છે" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "શબ્દકોષને લાવી રહ્યા હોય ત્યારે ભૂલ" -diff -urN cracklib-2.9.6.old/po/he.po cracklib-2.9.6.new/po/he.po ---- cracklib-2.9.6.old/po/he.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/he.po 2018-10-09 11:38:19.242084195 +0200 -@@ -0,0 +1,79 @@ -+# Yaron Shahrabani , 2018. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2018-03-20 10:17+0000\n" -+"Last-Translator: Yaron Shahrabani \n" -+"Language-Team: Hebrew\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: he\n" -+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 2 : 1;\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "מבוססת על שם המשתמש שלך" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "לא נרשמת בקובץ הססמאות" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "קצרה ביותר" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "קצרה מדי" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "אינה מכילה מספיק תווים שונים" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "כולה רווחים" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "מערכתית/פשוטה מדי" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr "נראית כמו מספר תעודת זהות/ביטוח לאומי" -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "מבוססת על מילה במילון" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "מבוססת על (היפוך של) מילה במילון" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "שגיאה בטעינת המילון" -diff -urN cracklib-2.9.6.old/po/hi.po cracklib-2.9.6.new/po/hi.po ---- cracklib-2.9.6.old/po/hi.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/hi.po 2018-10-09 11:57:33.760928751 +0200 -@@ -2,84 +2,85 @@ - # Hindi translations for cracklib package. - # Copyright (C) 2009, 2010 Free Software Foundation, Inc. - # This file is distributed under the same license as the cracklib package. --# -+# - # Rajesh Ranjan , 2010. -+# rranjan , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: cracklib.default.cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2010-04-06 12:21+0530\n" --"Last-Translator: Rajesh Ranjan \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-23 04:21-0400\n" -+"Last-Translator: rranjan \n" - "Language-Team: Hindi \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" -+"Language: hi\n" - "Plural-Forms: nplurals=2; plural=(n!=1);\n" - "\n" -+"X-Generator: Zanata 3.1.2\n" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "आप कूटशब्द फ़ाइल में पंजीकृत नहीं हैं" -+ -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "यह आपके उपयोक्ता नाम पर आधारित है" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "यह आपकी कूटशब्द प्रविष्टि पर आधारित है" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "यह आपकी कूटशब्द प्रविष्टि से निकला हुआ है" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "यह आपकी कूटशब्द प्रविष्टि से निकला हुआ है" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "यह आपकी कूटशब्द प्रविष्टि से निकलने योग्य है" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "यह आपकी कूटशब्द प्रविष्टि से निकलने योग्य है" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "आप कूटशब्द फ़ाइल में पंजीकृत नहीं हैं" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "यह बहुत ही छोटा है" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "यह बहुत छोटा है" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "इसमें पर्याप्त मात्रा में भिन्न वर्ण समाहित नहीं हैं" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "यह पूरी तरह से खाली स्थान है" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "यह काफी सरल/क्रमबद्ध है" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "यह राष्ट्रीय बीमा संख्या की तरह दिखता है." - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "यह शब्दकोश के शब्द पर आधारित है" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "यह शब्दकोश के शब्द (विलोम) पर आधारित है" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "शब्दकोश लोड करने में त्रुटि" -diff -urN cracklib-2.9.6.old/po/hu.po cracklib-2.9.6.new/po/hu.po ---- cracklib-2.9.6.old/po/hu.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/hu.po 2018-10-09 11:38:16.351012456 +0200 -@@ -2,48 +2,49 @@ - # This file is put in the public domain. - # Marcel Hilzinger , 2003. - # Gábor Szentiványi , 2003 --# -+# Meskó Balázs , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib.hu\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-06 20:20+0100\n" --"Last-Translator: Szabolcs Varga \n" -+"PO-Revision-Date: 2016-09-10 06:40+0000\n" -+"Last-Translator: Meskó Balázs \n" - "Language-Team: hungarian\n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.0.1\n" -+"Language: hu\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" --msgstr "az Ön felhasználónevén alapszik" -+msgstr "a felhasználónevén alapszik" - - #: lib/fascist.c:576 - msgid "it is based upon your password entry" --msgstr "az Ön jelszóbejegyzésén alapszik" -+msgstr "a jelszóbejegyzésén alapszik" - - #: lib/fascist.c:591 - msgid "it is derived from your password entry" --msgstr "az Ön jelszóbejegyzéséból lett származtatva" -+msgstr "a jelszóbejegyzéséből lett származtatva" - - #: lib/fascist.c:599 - msgid "it's derived from your password entry" --msgstr "az Ön jelszóbejegyzéséból lett származtatva" -+msgstr "a jelszóbejegyzéséből lett származtatva" - - #: lib/fascist.c:608 - msgid "it is derivable from your password entry" --msgstr "kitalálható az Ön jelszóbejegyzéséből" -+msgstr "kitalálható a jelszóbejegyzéséből" - - #: lib/fascist.c:617 - msgid "it's derivable from your password entry" --msgstr "kitalálható az Ön jelszóbejegyzéséből" -+msgstr "kitalálható a jelszóbejegyzéséből" - - #: lib/fascist.c:674 - msgid "you are not registered in the password file" --msgstr "Ön nem szerepel a password fájlban" -+msgstr "nincs regisztrálva a jelszófájlban" - - #: lib/fascist.c:709 - msgid "it is WAY too short" -@@ -59,7 +60,7 @@ - - #: lib/fascist.c:745 - msgid "it is all whitespace" --msgstr "csak szóközszerű karakterekből áll" -+msgstr "csak üres karakterekből áll" - - #: lib/fascist.c:764 - msgid "it is too simplistic/systematic" -@@ -71,12 +72,12 @@ - - #: lib/fascist.c:801 - msgid "it is based on a dictionary word" --msgstr "a szótárban megtalálható" -+msgstr "szótári szón alapszik" - - #: lib/fascist.c:820 - msgid "it is based on a (reversed) dictionary word" --msgstr "visszafelé olvasva egy ismert szót ad" -+msgstr "(megfordított) szótári szón alapszik" - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "hiba a szótár betöltésekor" -diff -urN cracklib-2.9.6.old/po/id.po cracklib-2.9.6.new/po/id.po ---- cracklib-2.9.6.old/po/id.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/id.po 2018-10-09 11:38:48.634817101 +0200 -@@ -0,0 +1,79 @@ -+# Andika Triwidada , 2017. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2017-07-24 12:45+0000\n" -+"Last-Translator: Andika Triwidada \n" -+"Language-Team: Indonesian\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: id\n" -+"Plural-Forms: nplurals=1; plural=0\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "ini berbasis pada nama Anda" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "ini berbasis pada entri kata sandi Anda" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "ini diturunkan dari entri kata sandi Anda" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "ini diturunkan dari entri kata sandi Anda" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "ini dapat diturunkan dari entri kata sandi Anda" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "ini dapat diturunkan dari entri kata sandi Anda" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "Anda tidak terdaftar dalam berkas kata sandi" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "ini KETERLALUAN pendeknya" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "ini terlalu pendek" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "ini tidak memuat cukup karakter yang BERBEDA" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "ini semua keluarga spasi" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "ini terlalu sederhana/sistematis" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr "ini tampak seperti nomor Asuransi Nasional." -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "ini berbasis pada kata kamus" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "ini berbasis pada kata kamus (terbalik)" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "galat saat memuat kamus" -diff -urN cracklib-2.9.6.old/po/it.po cracklib-2.9.6.new/po/it.po ---- cracklib-2.9.6.old/po/it.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/it.po 2018-10-09 11:38:39.759595795 +0200 -@@ -1,20 +1,22 @@ - # SOME DESCRIPTIVE TITLE. - # This file is put in the public domain. - # FIRST AUTHOR , YEAR. --# -+# Jan Dittberner , 2016. #zanata -+# Luca Ciavatta , 2017. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-06-23 13:15+02:00\n" --"Last-Translator: Novell Language \n" -+"PO-Revision-Date: 2018-08-16 12:44+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Novell Language \n" --"Language: \n" - "MIME-Version: 1.0\n" --"Content-Type: text/plain; charset=utf-8\n" -+"Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 0.9.6\n" -+"Language: it\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -78,4 +80,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "Errore di caricamento del dizionario" -diff -urN cracklib-2.9.6.old/po/ja.po cracklib-2.9.6.new/po/ja.po ---- cracklib-2.9.6.old/po/ja.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/ja.po 2018-10-09 11:38:02.366667678 +0200 -@@ -2,19 +2,22 @@ - # Copyright (C) YEAR Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # FIRST AUTHOR , YEAR. --# -+# Jan Dittberner , 2016. #zanata -+# Ludek Janda , 2018. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-18 11:52-0000\n" --"Last-Translator: Novell Language \n" -+"PO-Revision-Date: 2018-08-16 12:48+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Novell Language \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: ja\n" -+"Plural-Forms: nplurals=1; plural=0\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -78,4 +81,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "辞書の読み込み中二エラーが発生しました" -diff -urN cracklib-2.9.6.old/po/kk.po cracklib-2.9.6.new/po/kk.po ---- cracklib-2.9.6.old/po/kk.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/kk.po 2018-10-09 11:39:13.394434486 +0200 -@@ -0,0 +1,79 @@ -+# Baurzhan Muftakhidinov , 2017. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2017-04-11 12:05+0000\n" -+"Last-Translator: Baurzhan Muftakhidinov \n" -+"Language-Team: Kazakh\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: kk\n" -+"Plural-Forms: nplurals=1; plural=0\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "ол сіздің пайдаланушы атыңызға негізделген" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "ол ТЫМ қысқа" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "ол тым қысқа" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr "" -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "" -diff -urN cracklib-2.9.6.old/po/kn.po cracklib-2.9.6.new/po/kn.po ---- cracklib-2.9.6.old/po/kn.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/kn.po 2018-10-09 11:57:33.760928751 +0200 -@@ -1,83 +1,84 @@ - # translation of cracklib.po to Kannada - # Copyright (C) 2008 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. --# -+# - # Shankar Prasad , 2008. -+# Shankar Prasad , 2008, 2013. - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2008-12-11 11:49+0530\n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:45+0530\n" -+"PO-Revision-Date: 2013-10-28 02:15-0400\n" - "Last-Translator: Shankar Prasad \n" --"Language-Team: Kannada \n" --"Language: kn\n" -+"Language-Team: Kannada \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" --"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"Language: kn\n" -+"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "ಗುಪ್ತಪದದ ಕಡತದಲ್ಲಿ ನಿಮ್ಮ ಹೆಸರು ನೋಂದಾಯಿಸಲ್ಪಟ್ಟಿಲ್ಲ" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "ಇದು ನಿಮ್ಮ ಬಳಕೆದಾರಹೆಸರಿನ ಮೇಲೆ ಆಧರಿತವಾಗಿದೆ" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "ಇದು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನ ಮೇಲೆ ಆಧರಿತವಾಗಿದೆ" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "ಇದನ್ನು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "ಇದು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲ್ಪಟ್ಟಿದೆ" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "ಇದನ್ನು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಬಹುದಾಗಿದೆ" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "ಇದನ್ನು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಬಹುದಾಗಿದೆ" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "ಗುಪ್ತಪದದ ಕಡತದಲ್ಲಿ ನಿಮ್ಮ ಹೆಸರು ನೋಂದಾಯಿಸಲ್ಪಟ್ಟಿಲ್ಲ" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "ಇದು ಅತ್ಯಂತ ಚಿಕ್ಕದಾಗಿದೆ" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "ಇದು ಬಹಳ ಚಿಕ್ಕದಾಗಿದೆ" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "ಇದು ವಿಭಿನ್ನವಾದ ಸಾಕಷ್ಟು ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿಲ್ಲ" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "ಇದು ಕೇವಲ ಖಾಲಿ ಜಾಗಗಳನ್ನು ಹೊಂದಿದೆ" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "ಇದು ಬಹಳ ಸರಳ/ಊಹಿಸಬಹುದಾಗಿದೆ" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "ಇದು ರಾಷ್ಟ್ರೀಯ ವಿಮೆ ಸಂಖ್ಯೆಯಂತೆ ಕಾಣಿಸುತ್ತಿದೆ" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "ಇದು ಶಬ್ಧಕೋಶದಲ್ಲಿನ ಒಂದು ಪದದಂತಿದೆ" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "ಇದು ಶಬ್ಧಕೋಶದಲ್ಲಿನ ಒಂದು ಪದದಂತಿದೆ(ತಿರುಮುರುವು)" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "ಕೋಶವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ" -diff -urN cracklib-2.9.6.old/po/ko.po cracklib-2.9.6.new/po/ko.po ---- cracklib-2.9.6.old/po/ko.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/ko.po 2018-10-09 11:39:16.328507645 +0200 -@@ -3,20 +3,22 @@ - # This file is distributed under the same license as the PACKAGE package. - # - # Eunju Kim , 2009. -+# Jan Dittberner , 2016. #zanata -+# Ludek Janda , 2018. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib.default\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-18 11:19+1000\n" --"Last-Translator: Eunju Kim \n" -+"PO-Revision-Date: 2018-08-21 09:51+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Korean \n" --"Language: ko\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" --"Plural-Forms: nplurals=1; plural=0;\n" -+"Language: ko\n" -+"Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -80,4 +82,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "사전을 로드하는 도중 오류가 발생했습니다 " -diff -urN cracklib-2.9.6.old/po/LINGUAS cracklib-2.9.6.new/po/LINGUAS ---- cracklib-2.9.6.old/po/LINGUAS 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/LINGUAS 2018-10-09 12:14:53.147237727 +0200 -@@ -0,0 +1 @@ -+as be bn_IN ca cs da de el es eu fi fr gu he hi hu id it ja kk kn ko lt ml mr nb nl or pa pl pt_BR pt ru sk sl_SI sq sv ta te tr uk zh_CN zh_TW -diff -urN cracklib-2.9.6.old/po/lt.po cracklib-2.9.6.new/po/lt.po ---- cracklib-2.9.6.old/po/lt.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/lt.po 2018-10-09 11:38:04.314715706 +0200 -@@ -2,19 +2,21 @@ - # Copyright (C) YEAR Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # FIRST AUTHOR , YEAR. --# -+# Jan Dittberner , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-04 12:05+0200\n" --"Last-Translator: Linas Spraunius \n" -+"PO-Revision-Date: 2016-06-18 01:02+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: lt\n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: lt\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -diff -urN cracklib-2.9.6.old/po/ml.po cracklib-2.9.6.new/po/ml.po ---- cracklib-2.9.6.old/po/ml.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/ml.po 2018-10-09 11:57:33.760928751 +0200 -@@ -2,81 +2,82 @@ - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the cracklib package. - # Ani Peter , 2009. --# -+# apeter , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-11 14:46+0530\n" --"Last-Translator: Ani Peter \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-28 08:56-0400\n" -+"Last-Translator: apeter \n" - "Language-Team: Malayalam\n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" -+"Language: ml\n" -+"X-Generator: Zanata 3.1.2\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "നിങ്ങള്‍ രഹസ്യവാക്കിനുള്ള ഫയലില്‍ രജിസ്ടര്‍ ചെയ്തിട്ടില്ല" -+ -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "നിങ്ങളുടെ ഉപയോക്തൃനാമം അനുസരിച്ചാണു്" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "നിങ്ങളുടെ രഹസ്യവാക്കനുസരിച്ചാണു്" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുവാന്‍ സാധിക്കുന്നു" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "നിങ്ങള്‍ രഹസ്യവാക്കിനുള്ള ഫയലില്‍ രജിസ്ടര്‍ ചെയ്തിട്ടില്ല" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "വളരെ ചെറുതാണു്" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "വളരെ ചെറുതാണു്" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "അനവധി തരത്തിലുള്ള അക്ഷരങ്ങള്‍ നല്‍കുക" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "എല്ലാം വൈറ്റ്സ്പെയിസാണു്" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "വളരെ ലളിതമാണു്" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "ഒരു നാഷണല്‍ ഇന്‍ഷുറന്‍സ് നംബര്‍ പോലുണ്ടു്." - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "നിഘണ്ടുവിലുള്ള ഒരു വാക്കിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണു്" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "നിഘണ്ടുവിലുള്ള ഒരു വാക്കിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണു്" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "നിഘണ്ടു ലഭ്യമാക്കുന്നതില്‍ പിശക്" -diff -urN cracklib-2.9.6.old/po/mr.po cracklib-2.9.6.new/po/mr.po ---- cracklib-2.9.6.old/po/mr.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/mr.po 2018-10-09 11:57:33.761928776 +0200 -@@ -1,83 +1,84 @@ - # translation of cracklib.default.cracklib.po to Marathi - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. --# -+# - # Sandeep Shedmake , 2009. -+# Sandeep Shedmake , 2009, 2013. - msgid "" - msgstr "" --"Project-Id-Version: cracklib.default.cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-11 12:24+0530\n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:45+0530\n" -+"PO-Revision-Date: 2013-10-13 01:28-0400\n" - "Last-Translator: Sandeep Shedmake \n" - "Language-Team: Marathi \n" --"Language: mr\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" -+"Language: mr\n" - "Plural-Forms: nplurals=2; plural=(n!=1);\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "तुम्ही पासवर्ड फाइलमध्ये नोंदणीकृत नाही" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "तुमच्या वापरकर्तानावावर आधारीत आहे" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "तुमच्या पासवर्ड नोंदवर आधारीत आहे" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्त आहे" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्त" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्यजोगी आहे" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्यजोगी" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "तुम्ही पासवर्ड फाइलमध्ये नोंदणीकृत नाही" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "खूपच लहान" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "खूप लहान आहे" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "अतिरीक्त वेगळे अक्षर समाविष्टीत नाही" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "सर्वत्र वाईटस्पेस् आहे" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "खूपच सोपे/पद्धतशीर आहे" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "राष्ट्रीय इन्शॉरन्स् क्रमांक प्रमाणे आढळते." - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "शब्दकोषमधील शब्दावर आधारीत आहे" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "(उलटे) शब्दकोषमधील शब्दावर आधारीत आहे" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "शब्दकोष लोड करतेवेळी त्रुटी" -diff -urN cracklib-2.9.6.old/po/nb.po cracklib-2.9.6.new/po/nb.po ---- cracklib-2.9.6.old/po/nb.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/nb.po 2018-10-09 11:38:53.611941207 +0200 -@@ -2,20 +2,21 @@ - # Copyright (C) 2005 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # Olav Pettershagen , 2005. --# -+# Jan Dittberner , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: nb\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-11 20:48+0200\n" --"Last-Translator: Olav Pettershagen \n" --"Language-Team: \n" --"Language: \n" -+"PO-Revision-Date: 2016-06-18 01:02+0000\n" -+"Last-Translator: Copied by Zanata \n" -+"Language-Team: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.10.2\n" -+"Language: nb\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -diff -urN cracklib-2.9.6.old/po/nl.po cracklib-2.9.6.new/po/nl.po ---- cracklib-2.9.6.old/po/nl.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/nl.po 2018-10-09 11:38:51.650892308 +0200 -@@ -4,21 +4,22 @@ - # This file is put in the public domain. - # Arthur & Ettie Kerkmeester , 2003. - # Rinse de Vries , 2005. --# -+# Geert Warrink , 2016. #zanata -+# Jan Dittberner , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: nl\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-14 05:41+0200\n" --"Last-Translator: Rinse de Vries \n" -+"PO-Revision-Date: 2016-09-01 06:35+0000\n" -+"Last-Translator: Geert Warrink \n" - "Language-Team: Dutch \n" --"Language: nl\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.10.2\n" --"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"Language: nl\n" -+"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -82,4 +83,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "fout bij laden woordenboek" -diff -urN cracklib-2.9.6.old/po/or.po cracklib-2.9.6.new/po/or.po ---- cracklib-2.9.6.old/po/or.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/or.po 2018-10-09 11:57:33.761928776 +0200 -@@ -1,84 +1,85 @@ - # translation of cracklib.default.cracklib.or.po to Oriya - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. --# -+# - # Manoj Kumar Giri , 2009. -+# mgiri , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: cracklib.default.cracklib.or\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-12 13:02+0530\n" --"Last-Translator: Manoj Kumar Giri \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-10-22 06:40-0400\n" -+"Last-Translator: mgiri \n" - "Language-Team: Oriya \n" --"Language: or\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" --"Plural-Forms: nplurals=2; plural=(n!=1);\n" -+"Language: or\n" -+"Plural-Forms: nplurals=2; plural=(n!=1);\n" - "\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "ପ୍ରବେଶ ସଂକେତ ଫାଇଲରେ ଆପଣ ପଞ୍ଜିକୃତ ହୋଇନାହାନ୍ତି" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "ଏହା ଆପଣଙ୍କର ଚାଳକନାମ ଉପରେ ଆଧାରିତ" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣ ଉପରେ ଆଧାରିତ" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରାହୋଇଥାଏ" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରାହୋଇଥାଏ" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରିବା ଯୋଗ୍ୟ" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରିବା ଯୋଗ୍ୟ" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "ପ୍ରବେଶ ସଂକେତ ଫାଇଲରେ ଆପଣ ପଞ୍ଜିକୃତ ହୋଇନାହାନ୍ତି" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "ଏହା ଅତ୍ୟଧିକ ଛୋଟ ଅଟେ" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "ଏହା ଅତ୍ୟଧିକ ଛୋଟ ଅଟେ" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "ଏହା ଯଥେଷ୍ଟ ଭିନ୍ନ ବର୍ଣ୍ଣ ଧାରଣ କରିନଥାଏ" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "ଏହା କେବଳ ଖାଲିସ୍ଥାନ ଅଟେ" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "ଏହା ଅତ୍ୟଧିକ ସରଳ/ନିୟମାନୁବର୍ତ୍ତୀ" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "ଏହା ଗୋଟିଏ ଜାତୀୟ ବୀମା ସଂଖ୍ୟା ପରି ଦେଖାଯାଉଛି।" - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "ଏହା ଅଭିଧାନ ଶବ୍ଦ ଉପରେ ଆଧାରିତ" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "ଏହା ଗୋଟିଏ (ଓଲଟା) ଅଭିଧାନ ଶବ୍ଦ ଉପରେ ଆଧାରିତ" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "ଅଭିଧାନ ଧାରଣ କରିବାରେ ତ୍ରୁଟି" -diff -urN cracklib-2.9.6.old/po/pa.po cracklib-2.9.6.new/po/pa.po ---- cracklib-2.9.6.old/po/pa.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/pa.po 2018-10-09 11:38:05.301740041 +0200 -@@ -5,24 +5,26 @@ - # - # Amanpreet Singh Alam[ਆਲਮ] , 2005, 2009. - # A S Alam , 2009. -+# Jan Dittberner , 2016. #zanata -+# A S Alam , 2017. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib.pa\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-17 05:52+0530\n" --"Last-Translator: A S Alam \n" -+"PO-Revision-Date: 2017-08-18 07:15+0000\n" -+"Last-Translator: A S Alam \n" - "Language-Team: Punjabi/Panjabi \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: Lokalize 1.0\n" -+"Language: pa\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" --msgstr "ਇਹ ਤੁਹਾਡੇ ਯੂਜ਼ਰ-ਨਾਂ ਮੁਤਾਬਿਕ ਨਹੀਂ ਹੈ" -+msgstr "ਇਹ ਤੁਹਾਡੇ ਵਰਤੋਂਕਾਰ-ਨਾਂ ਮੁਤਾਬਕ ਹੈ" - - #: lib/fascist.c:576 - msgid "it is based upon your password entry" -@@ -50,7 +52,7 @@ - - #: lib/fascist.c:709 - msgid "it is WAY too short" --msgstr "ਇਹ ਬਹੁਤ ਹੀ ਛੋਟਾ ਢੰਗ ਹੈ" -+msgstr "ਇਹ ਬਹੁਤ ਹੀ ਛੋਟਾ ਹੈ" - - #: lib/fascist.c:714 - msgid "it is too short" -@@ -70,7 +72,7 @@ - - #: lib/fascist.c:769 - msgid "it looks like a National Insurance number." --msgstr "ਇਹ ਰਾਸ਼ਟਰੀ ਸੁਰੱਖਿਆ ਨੰਬਰ ਵਰਗਾ ਜਾਪਦਾ ਹੈ।" -+msgstr "ਇਹ ਨੈਸ਼ਨਲ ਇਨਸ਼ੋਅਰੈਂਸ ਨੰਬਰ ਵਰਗਾ ਜਾਪਦਾ ਹੈ।" - - #: lib/fascist.c:801 - msgid "it is based on a dictionary word" -@@ -78,8 +80,8 @@ - - #: lib/fascist.c:820 - msgid "it is based on a (reversed) dictionary word" --msgstr "ਇਹ (ਉਲਟੇ) ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" -+msgstr "ਇਹ (ਉਲਟ) ਡਿਕਸ਼ਨਰੀ ਸ਼ਬਦ ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ" - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "ਡਿਕਸ਼ਨਰੀ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" -diff -urN cracklib-2.9.6.old/po/pl.po cracklib-2.9.6.new/po/pl.po ---- cracklib-2.9.6.old/po/pl.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/pl.po 2018-10-09 11:38:10.401865781 +0200 -@@ -1,19 +1,22 @@ - # translation of pl.po to Polish - # Piotr Bolek , 2005. - # Piotr Drąg , 2009. --# -+# Jan Dittberner , 2016. #zanata -+# Piotr Drąg , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: pl\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-10-12 15:57+0200\n" -+"PO-Revision-Date: 2016-08-31 09:50+0000\n" - "Last-Translator: Piotr Drąg \n" - "Language-Team: Polish \n" --"Language: pl\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: pl\n" -+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -21,27 +24,27 @@ - - #: lib/fascist.c:576 - msgid "it is based upon your password entry" --msgstr "oparte na wpisie w pliku passwd" -+msgstr "oparte na wpisie w pliku passwd" - - #: lib/fascist.c:591 - msgid "it is derived from your password entry" --msgstr "pochodzi od wpisu w pliku passwd" -+msgstr "pochodzi od wpisu w pliku passwd" - - #: lib/fascist.c:599 - msgid "it's derived from your password entry" --msgstr "pochodzi od wpisu w pliku passwd" -+msgstr "pochodzi od wpisu w pliku passwd" - - #: lib/fascist.c:608 - msgid "it is derivable from your password entry" --msgstr "da się odtworzyć z wpisu w pliku passwd" -+msgstr "da się odtworzyć z wpisu w pliku passwd" - - #: lib/fascist.c:617 - msgid "it's derivable from your password entry" --msgstr "da się odtworzyć z wpisu w pliku passwd" -+msgstr "da się odtworzyć z wpisu w pliku passwd" - - #: lib/fascist.c:674 - msgid "you are not registered in the password file" --msgstr "nie zarejestrowano w pliku passwd" -+msgstr "nie zarejestrowano w pliku passwd" - - #: lib/fascist.c:709 - msgid "it is WAY too short" -@@ -77,4 +80,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "błąd podczas wczytywania słownika" -diff -urN cracklib-2.9.6.old/po/pt_BR.po cracklib-2.9.6.new/po/pt_BR.po ---- cracklib-2.9.6.old/po/pt_BR.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/pt_BR.po 2018-10-09 11:38:18.293060531 +0200 -@@ -2,19 +2,21 @@ - # Copyright (C) YEAR Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # FIRST AUTHOR , YEAR. --# -+# Daniel Lara , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-18 15:02+0000\n" --"Last-Translator: Novell Language \n" -+"PO-Revision-Date: 2018-08-16 12:44+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Novell Language \n" --"Language: \n" - "MIME-Version: 1.0\n" --"Content-Type: text/plain; charset=utf-8\n" -+"Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: pt_BR\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -78,4 +80,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "erro ao carregar dicionário" -diff -urN cracklib-2.9.6.old/po/pt.po cracklib-2.9.6.new/po/pt.po ---- cracklib-2.9.6.old/po/pt.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/pt.po 2018-10-09 11:37:57.475547088 +0200 -@@ -2,20 +2,22 @@ - # Copyright (C) 2005 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # Antonio Cardoso Martins , 2005. --# -+# Jan Dittberner , 2016. #zanata -+# Ricardo Pinto , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib.pt\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-08-05 00:45+0100\n" --"Last-Translator: Antonio Cardoso Martins \n" -+"PO-Revision-Date: 2016-09-05 10:12+0000\n" -+"Last-Translator: Ricardo Pinto \n" - "Language-Team: portuguese\n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.10\n" -+"Language: pt\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -79,4 +81,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "erro ao carregar o dicionário" -diff -urN cracklib-2.9.6.old/po/ru.po cracklib-2.9.6.new/po/ru.po ---- cracklib-2.9.6.old/po/ru.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/ru.po 2018-10-09 11:38:50.654867472 +0200 -@@ -4,45 +4,46 @@ - # - # Anton Dobkin , 2008. - # Yulia Poyarko , 2009. -+# Igor Gorbounov , 2016. #zanata -+# Jan Dittberner , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-12-03 10:17+1100\n" --"Last-Translator: Yulia \n" -+"PO-Revision-Date: 2018-08-16 12:43+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" --"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" --"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"Language: ru\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" --msgstr "основан на вашем имени пользователя" -+msgstr "на основе вашего имени пользователя" - - #: lib/fascist.c:576 - msgid "it is based upon your password entry" --msgstr "основан на вашем входном пароле" -+msgstr "на основе введенного вами пароля" - - #: lib/fascist.c:591 - msgid "it is derived from your password entry" --msgstr "получен из вашего входного пароля" -+msgstr "получен из введенного вами пароля" - - #: lib/fascist.c:599 - msgid "it's derived from your password entry" --msgstr "получен из вашего входного пароля" -+msgstr "получен из введенного вами пароля" - - #: lib/fascist.c:608 - msgid "it is derivable from your password entry" --msgstr "получен из вашего входного пароля" -+msgstr "получается из введенного вами пароля" - - #: lib/fascist.c:617 - msgid "it's derivable from your password entry" --msgstr "получен из вашего входного пароля" -+msgstr "получается из введенного вами пароля" - - #: lib/fascist.c:674 - msgid "you are not registered in the password file" -@@ -54,11 +55,11 @@ - - #: lib/fascist.c:714 - msgid "it is too short" --msgstr "короткий" -+msgstr "слишком короткий" - - #: lib/fascist.c:731 - msgid "it does not contain enough DIFFERENT characters" --msgstr "не содержит достаточное число РАЗЛИЧНЫХ символов" -+msgstr "не содержит достаточного числа РАЗЛИЧНЫХ символов" - - #: lib/fascist.c:745 - msgid "it is all whitespace" -@@ -70,16 +71,16 @@ - - #: lib/fascist.c:769 - msgid "it looks like a National Insurance number." --msgstr "похож на число государственного страхования." -+msgstr "похож на номер государственного страхования." - - #: lib/fascist.c:801 - msgid "it is based on a dictionary word" --msgstr "основан на слове из словаря" -+msgstr "на основе слова из словаря" - - #: lib/fascist.c:820 - msgid "it is based on a (reversed) dictionary word" --msgstr "основан на измененном слове из словаря" -+msgstr "на основе (перевернутого) слова из словаря" - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "ошибка при загрузке словаря" -diff -urN cracklib-2.9.6.old/po/sk.po cracklib-2.9.6.new/po/sk.po ---- cracklib-2.9.6.old/po/sk.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/sk.po 2018-10-09 11:39:19.259580732 +0200 -@@ -1,20 +1,22 @@ - # translation of cracklib.po to Slovak - # This file is put in the public domain. - # Stanislav Visnovsky , 2003. --# -+# Jan Dittberner , 2016. #zanata -+# feonsu , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-06-23 13:12+02:00\n" --"Last-Translator: Stanislav Visnovsky \n" -+"PO-Revision-Date: 2016-10-11 06:53+0000\n" -+"Last-Translator: feonsu \n" - "Language-Team: Slovak \n" --"Language: sk\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.2beta3\n" -+"Language: sk\n" -+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -78,4 +80,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "chyba pri načítavaní slovníka" -diff -urN cracklib-2.9.6.old/po/sq.po cracklib-2.9.6.new/po/sq.po ---- cracklib-2.9.6.old/po/sq.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/sq.po 2018-10-09 11:39:15.354483358 +0200 -@@ -0,0 +1,79 @@ -+# Jona Azizaj , 2017. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2017-04-17 10:20+0000\n" -+"Last-Translator: Anxhela Hyseni \n" -+"Language-Team: Albanian\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: sq\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "kjo është bazuar në emrin e përdoruesit tuaj" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "kjo është bazuar në fjalëkalimin që ju keni dhënë" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "kjo është përftuar nga fjalëkalimi që ju keni dhënë" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "kjo është përftuar nga fjalëkalimi që ju keni dhënë" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "kjo u përfitua nga fjalëkalimi që ju keni dhënë" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "kjo u përfitua nga fjalëkalimi që ju keni dhënë" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "ju nuk jeni regjistruar në skedarin e fjalëkalimit" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "kjo është JASHTËZAKONISHT shumë e shkurtër" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "kjo është shumë e shkurtër" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "nuk përmban mjaftueshëm karaktere të NDRYSHME" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "është e gjitha hapësirë e bardhë" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "është shumë i thjeshtë/ sistematik" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr "ngjan sikur është numër Sigurimi Kombëtar." -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "është bazuar në një fjalë në fjalor" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "është bazuar në një fjalë (mbrapsht) në fjalor" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "gabim në ngarkimin e fjalorit" -diff -urN cracklib-2.9.6.old/po/sv.po cracklib-2.9.6.new/po/sv.po ---- cracklib-2.9.6.old/po/sv.po 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/po/sv.po 2018-10-09 11:39:17.304531983 +0200 -@@ -0,0 +1,79 @@ -+# Göran Uddeborg , 2017. #zanata -+msgid "" -+msgstr "" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2017-03-29 03:16+0000\n" -+"Last-Translator: Göran Uddeborg \n" -+"Language-Team: Swedish\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Language: sv\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" -+"X-Generator: Zanata 4.6.2\n" -+ -+#: lib/fascist.c:516 -+msgid "it is based on your username" -+msgstr "det är baserat på ditt användarnamn" -+ -+#: lib/fascist.c:576 -+msgid "it is based upon your password entry" -+msgstr "det är baserat på din lösenordspost" -+ -+#: lib/fascist.c:591 -+msgid "it is derived from your password entry" -+msgstr "det är härlett från din lösenordspost" -+ -+#: lib/fascist.c:599 -+msgid "it's derived from your password entry" -+msgstr "det är härlett från din lösenordspost" -+ -+#: lib/fascist.c:608 -+msgid "it is derivable from your password entry" -+msgstr "det är härledbart från din lösenordspost" -+ -+#: lib/fascist.c:617 -+msgid "it's derivable from your password entry" -+msgstr "det är härledbart från din lösenordspost" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "du är inte registrerad i lösenordsfilen" -+ -+#: lib/fascist.c:709 -+msgid "it is WAY too short" -+msgstr "det är ALLDELES för kort" -+ -+#: lib/fascist.c:714 -+msgid "it is too short" -+msgstr "det är för kort" -+ -+#: lib/fascist.c:731 -+msgid "it does not contain enough DIFFERENT characters" -+msgstr "det innehåller inte tillräckligt med OLIKA tecken" -+ -+#: lib/fascist.c:745 -+msgid "it is all whitespace" -+msgstr "det är bara blanktecken" -+ -+#: lib/fascist.c:764 -+msgid "it is too simplistic/systematic" -+msgstr "det är för simplistiskt/systematiskt" -+ -+#: lib/fascist.c:769 -+msgid "it looks like a National Insurance number." -+msgstr "det ser ut som ett personnummer" -+ -+#: lib/fascist.c:801 -+msgid "it is based on a dictionary word" -+msgstr "det är baserat på ett ord ur ordlistan" -+ -+#: lib/fascist.c:820 -+msgid "it is based on a (reversed) dictionary word" -+msgstr "det är baserat på ett (omvänt) ord ur ordlistan" -+ -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "fel när ordlistan lästes in" -diff -urN cracklib-2.9.6.old/po/ta.po cracklib-2.9.6.new/po/ta.po ---- cracklib-2.9.6.old/po/ta.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/ta.po 2018-10-09 11:57:33.761928776 +0200 -@@ -1,83 +1,84 @@ - # translation of cracklib.default.cracklib.po to Tamil - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. --# -+# - # I. Felix , 2009. -+# shkumar , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: cracklib.default.cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-11 14:21+0530\n" --"Last-Translator: I. Felix \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-11-11 09:51-0500\n" -+"Last-Translator: shkumar \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" --"X-Generator: KBabel 1.11.4\n" -+"Language: ta\n" - "Plural-Forms: nplurals=2; plural=(n!=1);\\n\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "நீங்கள் கடவுச்சொல் கோப்பில் பதிவு செய்யவில்லை" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "இது உங்கள் பயனர்பெயர் அடிப்படையில் உள்ளது" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடு படி உள்ளது" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்பட்டது" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்பட்டது" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்படக்கூடியது" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்படக்கூடியது" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "நீங்கள் கடவுச்சொல் கோப்பில் பதிவு செய்யவில்லை" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "இது மிகவும் சிறியது" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "இது மிகவும் சிறியது" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "இது போதிய வேறுபாடு எழுத்துக்களை கொண்டிருக்கவில்லை" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "இது எல்லாம் காலிஇடங்கள்" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "இது மிகவும் எளியது/அமைப்பானது" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "இது ஒரு தேசிய காப்பீடு எண் போலுள்ளது." - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "இது ஒரு அகராதி சொல்லை அடிப்படையாக கொண்டது" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "இது ஒரு (தலைகீழானது) அகராதி சொல்லை அடிப்படையாக கொண்டது" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "அகராதியை ஏற்றுவதில் பிழை" -diff -urN cracklib-2.9.6.old/po/te.po cracklib-2.9.6.new/po/te.po ---- cracklib-2.9.6.old/po/te.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/te.po 2018-10-09 11:57:33.761928776 +0200 -@@ -1,84 +1,85 @@ - # translation of cracklib.pot to Telugu - # Copyright (C) 2009 Free Software Foundation, Inc. - # This file is distributed under the same license as the cracklib package. --# -+# - # Krishna Babu K , 2009. -+# kkrothap , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: cracklib\n" --"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" --"POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2009-11-11 15:13+0530\n" --"Last-Translator: Krishna Babu K \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2012-12-14 16:11-0600\n" -+"PO-Revision-Date: 2013-09-26 10:54-0400\n" -+"Last-Translator: kkrothap \n" - "Language-Team: Telugu \n" --"Language: te\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" -+"Language: te\n" - "Plural-Forms: nplurals=2; plural=(n!=1);\n" - "\n" -+"X-Generator: Zanata 3.1.2\n" -+ -+#: ../lib/fascist.c:550 -+msgid "you are not registered in the password file" -+msgstr "మీరు సంకేతపదపు ఫైలునందు నమోదు కాలేదు" - --#: lib/fascist.c:516 -+#: ../lib/fascist.c:564 - msgid "it is based on your username" - msgstr "ఇది మీ వినియోగదారినామముపై ఆధారపడి వుంది" - --#: lib/fascist.c:576 -+#: ../lib/fascist.c:629 - msgid "it is based upon your password entry" - msgstr "ఇది మీ సంకేతపదము ప్రవేశముపై ఆధారపడి వుంది" - --#: lib/fascist.c:591 -+#: ../lib/fascist.c:649 - msgid "it is derived from your password entry" - msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడింది" - --#: lib/fascist.c:599 -+#: ../lib/fascist.c:662 - msgid "it's derived from your password entry" - msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడింది" - --#: lib/fascist.c:608 -+#: ../lib/fascist.c:676 - msgid "it is derivable from your password entry" - msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడ గలదు" - --#: lib/fascist.c:617 -+#: ../lib/fascist.c:690 - msgid "it's derivable from your password entry" - msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడ గలదు" - --#: lib/fascist.c:674 --msgid "you are not registered in the password file" --msgstr "మీరు సంకేతపదపు ఫైలునందు నమోదు కాలేదు" -- --#: lib/fascist.c:709 -+#: ../lib/fascist.c:726 - msgid "it is WAY too short" - msgstr "ఇది పొట్టి దానికి మార్గము" - --#: lib/fascist.c:714 -+#: ../lib/fascist.c:731 - msgid "it is too short" - msgstr "ఇది మరీ పొట్టిదిగా వుంది" - --#: lib/fascist.c:731 -+#: ../lib/fascist.c:748 - msgid "it does not contain enough DIFFERENT characters" - msgstr "ఇది కావలసినన్ని విభిన్న అక్షరాలను కలిగిలేదు" - --#: lib/fascist.c:745 -+#: ../lib/fascist.c:762 - msgid "it is all whitespace" - msgstr "ఇది అంతా ఖాళీగానే వుంది" - --#: lib/fascist.c:764 -+#: ../lib/fascist.c:781 - msgid "it is too simplistic/systematic" - msgstr "ఇదీ మరీ సాధారణంగా/క్రమపద్దతిలో వుంది" - --#: lib/fascist.c:769 -+#: ../lib/fascist.c:786 - msgid "it looks like a National Insurance number." - msgstr "ఇది నేష్నల్ ఇన్సూరెన్స్ సంఖ్య వలె వుంది." - --#: lib/fascist.c:801 -+#: ../lib/fascist.c:813 - msgid "it is based on a dictionary word" - msgstr "ఇది నిఘంటువు పదముపై ఆధారపడివుంది" - --#: lib/fascist.c:820 -+#: ../lib/fascist.c:832 - msgid "it is based on a (reversed) dictionary word" - msgstr "ఇది నిఘంటువు(కలిగివున్న) పదముపై ఆధారపడివుంది" - --#: lib/fascist.c:865 -+#: ../lib/fascist.c:867 - msgid "error loading dictionary" --msgstr "" -+msgstr "నిఘంటువును లోడు చేయుటలో దోషం" -diff -urN cracklib-2.9.6.old/po/tr.po cracklib-2.9.6.new/po/tr.po ---- cracklib-2.9.6.old/po/tr.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/tr.po 2018-10-09 11:38:00.427619872 +0200 -@@ -3,19 +3,21 @@ - # This file is distributed under the same license as the PACKAGE package. - # - # Görkem Çetin , 2006. -+# Jan Dittberner , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2006-03-12 22:56+0200\n" --"Last-Translator: Görkem Çetin \n" --"Language-Team: \n" --"Language: \n" -+"PO-Revision-Date: 2016-06-18 01:03+0000\n" -+"Last-Translator: Copied by Zanata \n" -+"Language-Team: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11\n" -+"Language: tr\n" -+"Plural-Forms: nplurals=2; plural=(n>1)\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -diff -urN cracklib-2.9.6.old/po/uk.po cracklib-2.9.6.new/po/uk.po ---- cracklib-2.9.6.old/po/uk.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/uk.po 2018-10-09 11:38:27.234283479 +0200 -@@ -2,21 +2,22 @@ - # This file is distributed under the same license as the PACKAGE package. - # - # Yuri Chornoivan , 2010. -+# Jan Dittberner , 2016. #zanata -+# Yuri Chornoivan , 2016. #zanata - msgid "" - msgstr "" --"Project-Id-Version: \n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2010-04-16 19:43+0300\n" -+"PO-Revision-Date: 2016-06-19 02:18+0000\n" - "Last-Translator: Yuri Chornoivan \n" - "Language-Team: Ukrainian \n" --"Language: uk\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: Lokalize 1.0\n" --"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" --"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"Language: uk\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -80,4 +81,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "помилка під час спроби завантажити словник" -diff -urN cracklib-2.9.6.old/po/zh_CN.po cracklib-2.9.6.new/po/zh_CN.po ---- cracklib-2.9.6.old/po/zh_CN.po 2011-07-26 11:55:29.000000000 +0200 -+++ cracklib-2.9.6.new/po/zh_CN.po 2018-10-09 11:38:25.279234731 +0200 -@@ -1,78 +1,86 @@ --# translation of cracklib.default.po to Wei Liu -+# translation of cracklib.po to Wei Liu - # Copyright (C) 2010 Free Software Foundation, Inc. --# This file is distributed under the same license as the PACKAGE package. -+# This file is distributed under the same license as the cracklib package. - # - # Leah Liu , 2010. -+# translation of cracklib.default.po to Wei Liu -+# This file is distributed under the same license as the PACKAGE package. -+# Ludek Janda , 2018. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib.default\n" --"Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2010-03-02 21:00-0600\n" --"PO-Revision-Date: 2010-09-07 23:42+1000\n" --"Last-Translator: Leah Liu \n" -+"Project-Id-Version: cracklib 2.9.6\n" -+"Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" -+"POT-Creation-Date: 2015-08-18 13:45-0500\n" -+"PO-Revision-Date: 2018-08-21 09:51+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Wei Liu\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" -- --#: lib/fascist.c:550 --msgid "you are not registered in the password file" --msgstr "尚未在口令文件中注册" -+"Language: zh_CN\n" -+"Plural-Forms: nplurals=1; plural=0\n" -+"X-Generator: Zanata 4.6.2\n" - --#: lib/fascist.c:564 -+#: lib/fascist.c:516 - msgid "it is based on your username" --msgstr "它基于用户名" -+msgstr "它基于您的用户名" - --#: lib/fascist.c:629 -+#: lib/fascist.c:576 - msgid "it is based upon your password entry" --msgstr "它基于输入的口令" -+msgstr "它基于您的密码" - --#: lib/fascist.c:649 -+#: lib/fascist.c:591 - msgid "it is derived from your password entry" --msgstr "它派生自输入的口令" -+msgstr "它根据您的密码生成" - --#: lib/fascist.c:662 -+#: lib/fascist.c:599 - msgid "it's derived from your password entry" --msgstr "它派生自输入的口令" -+msgstr "它根据您的密码生成" - --#: lib/fascist.c:676 -+#: lib/fascist.c:608 - msgid "it is derivable from your password entry" --msgstr "可从输入的口令推断" -+msgstr "它可以根据您的密码生成" - --#: lib/fascist.c:690 -+#: lib/fascist.c:617 - msgid "it's derivable from your password entry" --msgstr "可从输入的口令推断" -+msgstr "它可以根据您的密码生成" -+ -+#: lib/fascist.c:674 -+msgid "you are not registered in the password file" -+msgstr "您没有在密码文件中注册" - --#: lib/fascist.c:726 -+#: lib/fascist.c:709 - msgid "it is WAY too short" --msgstr "WAY 过短" -+msgstr "太短" - --#: lib/fascist.c:731 -+#: lib/fascist.c:714 - msgid "it is too short" --msgstr "过短" -+msgstr "太短" - --#: lib/fascist.c:748 -+#: lib/fascist.c:731 - msgid "it does not contain enough DIFFERENT characters" --msgstr "它没有包含足够的不同字符" -+msgstr "不包括足够不同的字符" - --#: lib/fascist.c:762 -+#: lib/fascist.c:745 - msgid "it is all whitespace" --msgstr "全是空格" -+msgstr "都是空白" - --#: lib/fascist.c:781 -+#: lib/fascist.c:764 - msgid "it is too simplistic/systematic" --msgstr "过于简单化/系统化" -+msgstr "太简单或太有规律" - --#: lib/fascist.c:786 -+#: lib/fascist.c:769 - msgid "it looks like a National Insurance number." --msgstr "看起来像国家保险号码。" -+msgstr "象国家保险号。" - --#: lib/fascist.c:813 -+#: lib/fascist.c:801 - msgid "it is based on a dictionary word" --msgstr "它基于字典单词" -+msgstr "它基于一个字典中的词" - --#: lib/fascist.c:832 -+#: lib/fascist.c:820 - msgid "it is based on a (reversed) dictionary word" --msgstr "它基于(颠倒的)字典单词" -+msgstr "它基于一个字典中的词的反向拼写" - -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "加载字典错误" -diff -urN cracklib-2.9.6.old/po/zh_TW.po cracklib-2.9.6.new/po/zh_TW.po ---- cracklib-2.9.6.old/po/zh_TW.po 2015-08-18 20:48:15.000000000 +0200 -+++ cracklib-2.9.6.new/po/zh_TW.po 2018-10-09 11:37:47.781308079 +0200 -@@ -2,19 +2,22 @@ - # Copyright (C) YEAR Free Software Foundation, Inc. - # This file is distributed under the same license as the PACKAGE package. - # FIRST AUTHOR , YEAR. --# -+# Jan Dittberner , 2016. #zanata -+# Peter Pan , 2018. #zanata - msgid "" - msgstr "" --"Project-Id-Version: cracklib\n" -+"Project-Id-Version: cracklib 2.9.6\n" - "Report-Msgid-Bugs-To: cracklib-devel@lists.sourceforge.net\n" - "POT-Creation-Date: 2015-08-18 13:45-0500\n" --"PO-Revision-Date: 2005-06-23 12:52+0200\n" --"Last-Translator: Novell Language \n" -+"PO-Revision-Date: 2018-08-16 12:45+0000\n" -+"Last-Translator: Copied by Zanata \n" - "Language-Team: Novell Language \n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: zh_TW\n" -+"Plural-Forms: nplurals=1; plural=0\n" -+"X-Generator: Zanata 4.6.2\n" - - #: lib/fascist.c:516 - msgid "it is based on your username" -@@ -78,4 +81,4 @@ - - #: lib/fascist.c:865 - msgid "error loading dictionary" --msgstr "" -+msgstr "讀取字典時錯誤" -diff -urN cracklib-2.9.6.old/zanata.xml cracklib-2.9.6.new/zanata.xml ---- cracklib-2.9.6.old/zanata.xml 1970-01-01 01:00:00.000000000 +0100 -+++ cracklib-2.9.6.new/zanata.xml 2018-10-09 11:37:21.033648627 +0200 -@@ -0,0 +1,7 @@ -+ -+ -+ https://fedora.zanata.org/ -+ cracklib -+ master -+ gettext -+ diff --git a/cracklib-2.9.7-translation-updates.patch b/cracklib-2.9.7-translation-updates.patch deleted file mode 100644 index 4b43134..0000000 --- a/cracklib-2.9.7-translation-updates.patch +++ /dev/null @@ -1,118 +0,0 @@ -diff -Naur cracklib-2.9.7-orig/po/as.po cracklib-2.9.7/po/as.po ---- cracklib-2.9.7-orig/po/as.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/as.po 2022-03-07 15:22:59.631245123 -0500 -@@ -76,7 +76,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "শব্দকোষ ল'ড কৰোতে ত্ৰুটি" - - #~ msgid "it's derived from your password entry" - #~ msgstr "ইয়াক আপোনাৰ গুপ্তশব্দৰ নিবেশৰ পৰা পোৱা হৈছে" -diff -Naur cracklib-2.9.7-orig/po/gu.po cracklib-2.9.7/po/gu.po ---- cracklib-2.9.7-orig/po/gu.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/gu.po 2022-03-07 15:32:12.444115364 -0500 -@@ -77,7 +77,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "શબ્દકોષને લાવી રહ્યા હોય ત્યારે ભૂલ" - - #~ msgid "it's derived from your password entry" - #~ msgstr "તમારા પાસવર્ડ પ્રવેશમાંથી તારવવામાં આવેલ છે" -diff -Naur cracklib-2.9.7-orig/po/hi.po cracklib-2.9.7/po/hi.po ---- cracklib-2.9.7-orig/po/hi.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/hi.po 2022-03-07 15:33:31.445561126 -0500 -@@ -78,7 +78,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "शब्दकोश लोड करने में त्रुटि" - - #~ msgid "it's derived from your password entry" - #~ msgstr "यह आपकी कूटशब्द प्रविष्टि से निकला हुआ है" -diff -Naur cracklib-2.9.7-orig/po/kn.po cracklib-2.9.7/po/kn.po ---- cracklib-2.9.7-orig/po/kn.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/kn.po 2022-03-07 15:36:06.001428084 -0500 -@@ -77,7 +77,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "ಕೋಶವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ" - - #~ msgid "it's derived from your password entry" - #~ msgstr "ಇದು ನಿಮ್ಮ ಗುಪ್ತಪದ ನಮೂದಿನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲ್ಪಟ್ಟಿದೆ" -diff -Naur cracklib-2.9.7-orig/po/ml.po cracklib-2.9.7/po/ml.po ---- cracklib-2.9.7-orig/po/ml.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/ml.po 2022-03-07 15:37:59.048062855 -0500 -@@ -76,7 +76,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "നിഘണ്ടു ലഭ്യമാക്കുന്നതില്<200d> പിശക്" - - #~ msgid "it's derived from your password entry" - #~ msgstr "നിങ്ങളുടെ രഹസ്യവാക്കില്‍ നിന്നും ലഭ്യമാക്കുന്നു" -diff -Naur cracklib-2.9.7-orig/po/mr.po cracklib-2.9.7/po/mr.po ---- cracklib-2.9.7-orig/po/mr.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/mr.po 2022-03-07 15:38:30.812241798 -0500 -@@ -77,7 +77,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "शब्दकोष लोड करतेवेळी त्रुटी" - - #~ msgid "it's derived from your password entry" - #~ msgstr "तुमच्या पासवर्ड नोंद पासून प्राप्त" -diff -Naur cracklib-2.9.7-orig/po/or.po cracklib-2.9.7/po/or.po ---- cracklib-2.9.7-orig/po/or.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/or.po 2022-03-07 15:39:56.858728487 -0500 -@@ -77,7 +77,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "ଅଭିଧାନ ଧାରଣ କରିବାରେ ତ୍ରୁଟି" - - #~ msgid "it's derived from your password entry" - #~ msgstr "ଏହା ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଭରଣରୁ ଉତ୍ପନ୍ନ କରାହୋଇଥାଏ" -diff -Naur cracklib-2.9.7-orig/po/ta.po cracklib-2.9.7/po/ta.po ---- cracklib-2.9.7-orig/po/ta.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/ta.po 2022-03-07 15:44:53.857740705 -0500 -@@ -77,7 +77,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "அகராதியை ஏற்றுவதில் பிழை" - - #~ msgid "it's derived from your password entry" - #~ msgstr "இது உங்கள் கடவுச்சொல் உள்ளீடிலிருந்து வரையறுக்கப்பட்டது" -diff -Naur cracklib-2.9.7-orig/po/te.po cracklib-2.9.7/po/te.po ---- cracklib-2.9.7-orig/po/te.po 2019-03-03 12:49:42.000000000 -0500 -+++ cracklib-2.9.7/po/te.po 2022-03-07 15:45:23.810936770 -0500 -@@ -77,7 +77,7 @@ - - #: lib/fascist.c:874 - msgid "error loading dictionary" --msgstr "" -+msgstr "నిఘంటువును లోడు చేయుటలో దోషం" - - #~ msgid "it's derived from your password entry" - #~ msgstr "ఇది మీ సంకేతపదము ప్రవేశమునుండి ఉత్పాదించబడింది" -diff -Naur cracklib-2.9.7-orig/po/zh_CN.po cracklib-2.9.7/po/zh_CN.po ---- cracklib-2.9.7-orig/po/zh_CN.po 2021-08-17 11:56:42.000000000 -0400 -+++ cracklib-2.9.7/po/zh_CN.po 2022-03-07 15:48:56.407302640 -0500 -@@ -76,3 +76,6 @@ - msgid "it is based on a (reversed) dictionary word" - msgstr "它基于(颠倒的)字典单词" - -+#: lib/fascist.c:865 -+msgid "error loading dictionary" -+msgstr "加载字典错误" diff --git a/cracklib.spec b/cracklib.spec index 7e0e0e2..9b4d2b8 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -4,30 +4,21 @@ Summary: A password-checking library Name: cracklib -Version: 2.9.7 -Release: 31%{?dist} +Version: 2.9.11 +Release: 1%{?dist} URL: https://github.com/cracklib/cracklib License: LGPLv2+ + Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-words-%{version}.gz - -# For man pages. -Source2: http://archive.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.9.2-1.debian.tar.xz -Source40: http://archive.debian.org/debian/pool/main/c/cracklib2/cracklib2_2.9.2-1.dsc - # From attachment to https://bugzilla.redhat.com/show_bug.cgi?id=627449 -Source3: cracklib.default.zh_CN.po - +Source2: cracklib.default.zh_CN.po # No upstream source for this, just words missing from the current cracklib-words -Source10: missing-words.gz +Source3: missing-words.gz + +Patch: cracklib-2.9.11-packlib-reentrant.patch +Patch: cracklib-2.9.11-simplistic.patch -Patch1: cracklib-2.9.1-inttypes.patch -Patch2: cracklib-2.9.0-python-gzdicts.patch -Patch4: cracklib-2.9.7-packlib-reentrant.patch -Patch6: cracklib-2.9.7-simplistic.patch -Patch7: cracklib-2.9.7-translation-updates.patch -Patch9: cracklib-2.9.6-coverity.patch -Patch10: cracklib-2.9.6-lookup.patch BuildRequires: gcc BuildRequires: words, gettext BuildRequires: gettext-autopoint @@ -77,21 +68,13 @@ contains the utilities necessary for the creation of new dictionaries. If you are installing CrackLib, you should also install cracklib-dicts. %prep -%setup -q -a 2 +%autosetup -p 1 # Replace zn_CN.po with one that wasn't mis-transcoded at some point. -install -p -m 644 %{SOURCE3} po/zh_CN.po - -%patch1 -p1 -b .inttypes -%patch2 -p1 -b .gzdicts -%patch4 -p1 -b .reentrant -%patch6 -p1 -b .simplistic -%patch7 -p1 -b .translations -%patch9 -p1 -b .coverity -%patch10 -p1 -b .lookup +install -p -m 644 %{SOURCE2} po/zh_CN.po mkdir cracklib-dicts -for dict in %{SOURCE10} %{SOURCE1} +for dict in %{SOURCE3} %{SOURCE1} do cp -fv ${dict} cracklib-dicts/ done @@ -109,44 +92,44 @@ make %install %make_install 'pythondir=${pyexecdir}' ./util/cracklib-format cracklib-dicts/* | \ -./util/cracklib-packer $RPM_BUILD_ROOT%{dictpath} -./util/cracklib-format $RPM_BUILD_ROOT%{dictdir}/cracklib-small | \ -./util/cracklib-packer $RPM_BUILD_ROOT%{dictdir}/cracklib-small -rm -f $RPM_BUILD_ROOT%{dictdir}/cracklib-small -sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > $RPM_BUILD_ROOT%{_includedir}/crack.h -ln -s cracklib-format $RPM_BUILD_ROOT%{_sbindir}/mkdict +./util/cracklib-packer %{buildroot}%{dictpath} +./util/cracklib-format %{buildroot}%{dictdir}/cracklib-small | \ +./util/cracklib-packer %{buildroot}%{dictdir}/cracklib-small +rm -f %{buildroot}%{dictdir}/cracklib-small +sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > %{buildroot}%{_includedir}/crack.h +ln -s cracklib-format %{buildroot}%{_sbindir}/mkdict # packer link removed as it clashes with hashicorp's packer binary. -#ln -s cracklib-packer $RPM_BUILD_ROOT/%{_sbindir}/packer -touch $RPM_BUILD_ROOT/top +#ln -s cracklib-packer %{buildroot}/%{_sbindir}/packer +touch %{buildroot}/top toprelpath=.. -touch $RPM_BUILD_ROOT/top -while ! test -f $RPM_BUILD_ROOT%{_libdir}/$toprelpath/top ; do +touch %{buildroot}/top +while ! test -f %{buildroot}%{_libdir}/$toprelpath/top ; do toprelpath=../$toprelpath done -rm -f $RPM_BUILD_ROOT/top +rm -f %{buildroot}/top if test %{dictpath} != %{_libdir}/cracklib_dict ; then -ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT%{_libdir}/cracklib_dict.hwm -ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT%{_libdir}/cracklib_dict.pwd -ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT%{_libdir}/cracklib_dict.pwi +ln -s $toprelpath%{dictpath}.hwm %{buildroot}%{_libdir}/cracklib_dict.hwm +ln -s $toprelpath%{dictpath}.pwd %{buildroot}%{_libdir}/cracklib_dict.pwd +ln -s $toprelpath%{dictpath}.pwi %{buildroot}%{_libdir}/cracklib_dict.pwi fi -rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/_cracklib*.*a -rm -f $RPM_BUILD_ROOT%{_libdir}/libcrack.la +rm -f %{buildroot}%{_libdir}/python*/site-packages/_cracklib*.*a +rm -f %{buildroot}%{_libdir}/libcrack.la -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man{3,8} -install -p -m644 debian/*.3 $RPM_BUILD_ROOT%{_mandir}/man3/ -install -p -m644 debian/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/ -if ! test -s $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-packer.8 ; then - echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-packer.8 +mkdir -p %{buildroot}%{_mandir}/man{3,8} +install -p -m644 doc/*.3 %{buildroot}%{_mandir}/man3/ +install -p -m644 doc/*.8 %{buildroot}%{_mandir}/man8/ +if ! test -s %{buildroot}%{_mandir}/man8/cracklib-packer.8 ; then + echo .so man8/cracklib-format.8 > %{buildroot}%{_mandir}/man8/cracklib-packer.8 fi -if ! test -s $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-unpacker.8 ; then - echo .so man8/cracklib-format.8 > $RPM_BUILD_ROOT%{_mandir}/man8/cracklib-unpacker.8 +if ! test -s %{buildroot}%{_mandir}/man8/cracklib-unpacker.8 ; then + echo .so man8/cracklib-format.8 > %{buildroot}%{_mandir}/man8/cracklib-unpacker.8 fi %find_lang %{name} %check -make test DESTDIR=$RPM_BUILD_ROOT +make test DESTDIR=%{buildroot} %ldconfig_scriptlets @@ -171,6 +154,11 @@ make test DESTDIR=$RPM_BUILD_ROOT %{_sbindir}/mkdict %changelog +* Fri Jul 07 2023 Paul Wouters - 2.9.7-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 9306778..1a02ec2 100644 --- a/sources +++ b/sources @@ -1,5 +1,3 @@ -SHA512 (cracklib-2.9.7.tar.gz) = 76d701ee521ae35b4cbab406f23a15c84937bb06d3c3747ca8ef2584a41074fc00309a676ec37ebd5b32930163213365cf508d47f614cfccea38e1ba6babb2ff -SHA512 (cracklib-words-2.9.7.gz) = 1fa34b0a2e16d6906982b248f1757bf5bf8154d8d7e8bab94a4ac25080c41434d3828a2c8dd5065e9be586f36480ab70375f09e0bb64eb495d96a460619e2bae -SHA512 (cracklib2_2.9.2-1.debian.tar.xz) = 3521f475389fdbb2ac79f745ea3c247dc179c7492e712a3f3f2620ff483c0c69a799b656d06f1e281012edfa33df53130a83a633381c6c1cd9f1d4eebf7ded8a -SHA512 (cracklib2_2.9.2-1.dsc) = e1b3bee4f015f0e3fcafa714429ae733b8377b2c4cdcfcc3b0cf77e922d78c2e57214f71ab4c8058650c8a80d5bdaf532648e038fdf37dce91045b9b9892023a +SHA512 (cracklib-2.9.11.tar.gz) = 9e73a715c8f82723abc36b08906e212aaf79a7f6dfa560c6a98963b1e63aa21f7b612f285a639a41ec9eec7025aa2c16f702aad934cd30bc995f470d62ee4bc3 +SHA512 (cracklib-words-2.9.11.gz) = d1983e8e8fcb9abee4701581d66008eda2d7ad6ee8d017b7fed225b71bd333fa6199338f37fd120c1c6bf1c8a75025692f4118d97e8c384e578000bed59c6aed SHA512 (missing-words.gz) = 50afb5538ddd15de997883f5ff6925d9084117851cfdcfc02f05c28304d6c17b46ea669fe626ad819e732b6f291f308194300c9db9b110a5c15a4e5d97ca6caa From 78da22597530e7f360b609e495c48c7ef132c876 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 16:32:59 +0000 Subject: [PATCH 79/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 9b4d2b8..72959e6 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.11 -Release: 1%{?dist} +Release: 2%{?dist} URL: https://github.com/cracklib/cracklib License: LGPLv2+ @@ -154,6 +154,9 @@ make test DESTDIR=%{buildroot} %{_sbindir}/mkdict %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 2.9.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Fri Jul 07 2023 Paul Wouters Date: Fri, 4 Aug 2023 14:26:24 +0200 Subject: [PATCH 80/85] migrated to SPDX license --- cracklib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cracklib.spec b/cracklib.spec index 72959e6..d17c17d 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,9 +5,9 @@ Summary: A password-checking library Name: cracklib Version: 2.9.11 -Release: 2%{?dist} +Release: 3%{?dist} URL: https://github.com/cracklib/cracklib -License: LGPLv2+ +License: LGPL-2.1-or-later Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.gz Source1: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-words-%{version}.gz @@ -154,6 +154,9 @@ make test DESTDIR=%{buildroot} %{_sbindir}/mkdict %changelog +* Fri Aug 04 2023 Dmitry Belyavskiy - 2.9.11-3 +- migrated to SPDX license + * Wed Jul 19 2023 Fedora Release Engineering - 2.9.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 4beb16080f95a1b16a95b83a232ac7749f17705d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 16:19:48 +0000 Subject: [PATCH 81/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index d17c17d..7f516f6 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.11 -Release: 3%{?dist} +Release: 4%{?dist} URL: https://github.com/cracklib/cracklib License: LGPL-2.1-or-later @@ -154,6 +154,9 @@ make test DESTDIR=%{buildroot} %{_sbindir}/mkdict %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 2.9.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Aug 04 2023 Dmitry Belyavskiy - 2.9.11-3 - migrated to SPDX license From 253ee10c451ceef4dc4d251bb71a4fed6e06cad2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 08:21:30 +0000 Subject: [PATCH 82/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 7f516f6..2ecd50a 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.11 -Release: 4%{?dist} +Release: 5%{?dist} URL: https://github.com/cracklib/cracklib License: LGPL-2.1-or-later @@ -154,6 +154,9 @@ make test DESTDIR=%{buildroot} %{_sbindir}/mkdict %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 2.9.11-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 2.9.11-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 48f6fe27af4cfb094962a2a01e7ad423e26b2529 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 20:09:33 +0000 Subject: [PATCH 83/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 2ecd50a..92d2827 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.11 -Release: 5%{?dist} +Release: 6%{?dist} URL: https://github.com/cracklib/cracklib License: LGPL-2.1-or-later @@ -154,6 +154,9 @@ make test DESTDIR=%{buildroot} %{_sbindir}/mkdict %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 2.9.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jan 24 2024 Fedora Release Engineering - 2.9.11-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From ac34a7a48c7d623ec8221f418a439d072cc23408 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 14:47:34 +0000 Subject: [PATCH 84/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 92d2827..05a0a62 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.11 -Release: 6%{?dist} +Release: 7%{?dist} URL: https://github.com/cracklib/cracklib License: LGPL-2.1-or-later @@ -154,6 +154,9 @@ make test DESTDIR=%{buildroot} %{_sbindir}/mkdict %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 2.9.11-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 2.9.11-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 268edecb671455aa54e4767a00a0b91c555539b2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 18:47:34 +0000 Subject: [PATCH 85/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- cracklib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cracklib.spec b/cracklib.spec index 05a0a62..183ca97 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -5,7 +5,7 @@ Summary: A password-checking library Name: cracklib Version: 2.9.11 -Release: 7%{?dist} +Release: 8%{?dist} URL: https://github.com/cracklib/cracklib License: LGPL-2.1-or-later @@ -154,6 +154,9 @@ make test DESTDIR=%{buildroot} %{_sbindir}/mkdict %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.9.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jan 16 2025 Fedora Release Engineering - 2.9.11-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild