From 90afcc3c28575c0a3a7e2e038c29906f15c029b95bebe846ceb4a106896c0cf1 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 29 Jan 2013 08:44:55 +0000 Subject: [PATCH] - update to 2.8.22: - add words from "The Top 500 Worst Passwords of All Time" - python 3 support (not yet packaged) OBS-URL: https://build.opensuse.org/package/show/Base:System/cracklib?expand=0&rev=31 --- cracklib-2.8.22.tar.gz | 3 ++ cracklib-visibility.patch | 108 +++++++++++++++++++------------------- cracklib.changes | 7 +++ cracklib.spec | 26 ++++----- translation-fix.dif | 65 ++++++++--------------- 5 files changed, 99 insertions(+), 110 deletions(-) create mode 100644 cracklib-2.8.22.tar.gz diff --git a/cracklib-2.8.22.tar.gz b/cracklib-2.8.22.tar.gz new file mode 100644 index 0000000..d82f64d --- /dev/null +++ b/cracklib-2.8.22.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feaff49bfb513ec10b2618c00d2f7f60776ba93fcc5fa22dd3479dd9cad9f770 +size 631796 diff --git a/cracklib-visibility.patch b/cracklib-visibility.patch index 6c37f65..f11708c 100644 --- a/cracklib-visibility.patch +++ b/cracklib-visibility.patch @@ -1,4 +1,52 @@ ---- lib/crack.h.orig +--- configure.in ++++ configure.in +@@ -90,6 +90,45 @@ + dnl Handle local dict compiling properly + AC_SUBST(CROSS_COMPILING, $cross_compiling) + ++ dnl ************************************************************ ++ dnl Enable hiding of internal symbols in library to reduce its size and ++ dnl speed dynamic linking of applications. This currently is only supported ++ dnl on gcc >= 4.0 and SunPro C. ++ dnl ++ AC_MSG_CHECKING([whether to enable hidden symbols in the library]) ++ AC_ARG_ENABLE(hidden-symbols, ++ AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library]) ++ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]), ++ [ case "$enableval" in ++ no) ++ AC_MSG_RESULT(no) ++ ;; ++ *) ++ AC_MSG_CHECKING([whether $CC supports it]) ++ if test "$GCC" = yes ; then ++ if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(CRACKLIB_API, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ CFLAGS="$CFLAGS -fvisibility=hidden" ++ else ++ AC_MSG_RESULT(no) ++ fi ++ ++ else ++ dnl Test for SunPro cc ++ if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(CRACKLIB_API, [__global], [to make a symbol visible]) ++ CFLAGS="$CFLAGS -xldscope=hidden" ++ else ++ AC_MSG_RESULT(no) ++ fi ++ fi ++ ;; ++ esac ], ++ AC_MSG_RESULT(no) ++ ) ++ + AC_OUTPUT(util/Makefile lib/Makefile doc/Makefile python/Makefile Makefile \ + python/setup.py \ + po/Makefile.in m4/Makefile dicts/Makefile cracklib.spec) +--- lib/crack.h +++ lib/crack.h @@ -5,6 +5,10 @@ extern "C" { @@ -11,7 +59,7 @@ /* Pass this function a password (pw) and a path to the * dictionaries (/usr/lib/cracklib_dict should be specified) * and it will either return a NULL string, meaning that the -@@ -13,11 +17,11 @@ extern "C" { +@@ -13,11 +17,11 @@ * You must link with -lcrack */ @@ -25,57 +73,9 @@ #ifdef __cplusplus }; ---- configure.in.orig -+++ configure.in -@@ -90,6 +90,45 @@ AM_CONDITIONAL(BUILD_PYTHON,[test "$buil - dnl Handle local dict compiling properly - AC_SUBST(CROSS_COMPILING, $cross_compiling) - -+ dnl ************************************************************ -+ dnl Enable hiding of internal symbols in library to reduce its size and -+ dnl speed dynamic linking of applications. This currently is only supported -+ dnl on gcc >= 4.0 and SunPro C. -+ dnl -+ AC_MSG_CHECKING([whether to enable hidden symbols in the library]) -+ AC_ARG_ENABLE(hidden-symbols, -+ AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library]) -+ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]), -+ [ case "$enableval" in -+ no) -+ AC_MSG_RESULT(no) -+ ;; -+ *) -+ AC_MSG_CHECKING([whether $CC supports it]) -+ if test "$GCC" = yes ; then -+ if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(CRACKLIB_API, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ CFLAGS="$CFLAGS -fvisibility=hidden" -+ else -+ AC_MSG_RESULT(no) -+ fi -+ -+ else -+ dnl Test for SunPro cc -+ if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(CRACKLIB_API, [__global], [to make a symbol visible]) -+ CFLAGS="$CFLAGS -xldscope=hidden" -+ else -+ AC_MSG_RESULT(no) -+ fi -+ fi -+ ;; -+ esac ], -+ AC_MSG_RESULT(no) -+ ) -+ - AC_OUTPUT(util/Makefile lib/Makefile doc/Makefile python/Makefile Makefile \ - python/setup.py \ - po/Makefile.in m4/Makefile dicts/Makefile cracklib.spec) ---- lib/packer.h.orig +--- lib/packer.h +++ lib/packer.h -@@ -74,7 +74,7 @@ typedef struct +@@ -75,7 +75,7 @@ #define PIH_MAGIC 0x70775631 /* Internal routines */ @@ -84,7 +84,7 @@ #else -@@ -85,13 +85,13 @@ typedef struct { +@@ -86,14 +86,14 @@ #endif @@ -96,6 +96,7 @@ -extern char *Mangle(char *input, char *control); -extern char Chop(char *string); -extern char *Trim(char *string); +-extern char *FascistLook(PWDICT *pwp, char *instring); +CRACKLIB_API PWDICT *PWOpen(const char *prefix, char *mode); +CRACKLIB_API int PWClose(PWDICT *pwp); +CRACKLIB_API unsigned int FindPW(PWDICT *pwp, char *string); @@ -104,5 +105,6 @@ +CRACKLIB_API char *Mangle(char *input, char *control); +CRACKLIB_API char Chop(char *string); +CRACKLIB_API char *Trim(char *string); ++CRACKLIB_API char *FascistLook(PWDICT *pwp, char *instring); #endif diff --git a/cracklib.changes b/cracklib.changes index 4fc06d4..0fed046 100644 --- a/cracklib.changes +++ b/cracklib.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jan 29 08:32:56 UTC 2013 - dmueller@suse.com + +- update to 2.8.22: + - add words from "The Top 500 Worst Passwords of All Time" + - python 3 support (not yet packaged) + ------------------------------------------------------------------- Mon Jan 2 11:47:06 CET 2012 - mc@suse.de diff --git a/cracklib.spec b/cracklib.spec index 78f22f4..57de825 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -1,7 +1,7 @@ # # spec file for package cracklib # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,23 +16,25 @@ # - Name: cracklib -BuildRequires: automake gzip libtool zlib-devel +BuildRequires: automake +BuildRequires: gzip +BuildRequires: libtool BuildRequires: translation-update-upstream +BuildRequires: zlib-devel Url: http://sourceforge.net/projects/cracklib -License: LGPL-2.1 -Group: System/Libraries # bug437293 %ifarch ppc64 Obsoletes: cracklib-64bit %endif # -Version: 2.8.18 +Version: 2.8.22 Release: 0 Requires: cracklib-dict Summary: Library to crack passwords using dictionaries -Source: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.bz2 +License: LGPL-2.1 +Group: System/Libraries +Source: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz Source2: baselibs.conf # PATCH-FIX-OPENSUSE (should be upstreamed) # Remove support for broken 64bit indexes from magic entry [bnc#106007] @@ -51,11 +53,11 @@ contains a full dictionary file used by cracklib. %package devel -License: LGPL-2.1 Summary: Header files and libraries for developing apps which will use CrackLib Group: Development/Libraries/C and C++ Provides: cracklib:/usr/include/crack.h -Requires: libcrack2 = %{version} glibc-devel +Requires: glibc-devel +Requires: libcrack2 = %{version} %description devel The cracklib-devel package contains the header files and libraries @@ -65,9 +67,8 @@ characteristics. %package -n libcrack2 -License: LGPL-2.1 -Group: System/Libraries Summary: Library to crack passwords using dictionaries +Group: System/Libraries Requires: cracklib >= %{version} %description -n libcrack2 @@ -77,7 +78,6 @@ stopusers from choosing passwords that are too simple.This package contains a full dictionary file used by cracklib. %package dict-small -License: LGPL-2.1 Summary: Small dictionary for cracklib - A Password-Checking Library Group: System/Libraries Provides: cracklib-dict @@ -94,7 +94,7 @@ This package contains a small dictionay file used by cracklib. %prep %setup -q -%patch2 -p1 +%patch2 translation-update-upstream %patch %patch1 diff --git a/translation-fix.dif b/translation-fix.dif index af7a0d7..b19e118 100644 --- a/translation-fix.dif +++ b/translation-fix.dif @@ -1,104 +1,81 @@ -Index: cracklib-2.8.18/po/zh_CN.po -=================================================================== ---- cracklib-2.8.18.orig/po/zh_CN.po -+++ cracklib-2.8.18/po/zh_CN.po -@@ -1,77 +1,61 @@ --# translation of cracklib.po to Wei Liu --# Copyright (C) 2010 Free Software Foundation, Inc. --# This file is distributed under the same license as the cracklib package. -+# Copyright (C) 2006 SuSE Linux Products GmbH, Nuernberg -+# This file is distributed under the same license as the package. - # --# Leah Liu , 2010. - msgid "" - msgstr "" - "Project-Id-Version: cracklib\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2010-03-02 21:00-0600\n" --"PO-Revision-Date: 2010-09-22 10:07+1000\n" --"Last-Translator: Leah Liu \n" --"Language-Team: Wei Liu\n" -+"POT-Creation-Date: 2011-02-08 20:25+0100\n" -+"PO-Revision-Date: 2010-04-07 11:31\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-Transfer-Encoding: 8bit\n" - "X-Generator: KBabel 1.11.4\n" +--- po/zh_CN.po ++++ po/zh_CN.po +@@ -19,63 +19,63 @@ --#: lib/fascist.c:550 + #: lib/fascist.c:550 msgid "you are not registered in the password file" -msgstr "??????????????????????????????" +msgstr "尚未在口令文件中注册" --#: lib/fascist.c:564 + #: lib/fascist.c:564 msgid "it is based on your username" -msgstr "??????????????????" +msgstr "它基于用户名" --#: lib/fascist.c:629 + #: lib/fascist.c:629 msgid "it is based upon your password entry" -msgstr "????????????????????????" +msgstr "它基于输入的口令" --#: lib/fascist.c:649 + #: lib/fascist.c:649 msgid "it is derived from your password entry" -msgstr "???????????????????????????" +msgstr "它派生自输入的口令" --#: lib/fascist.c:662 + #: lib/fascist.c:662 msgid "it's derived from your password entry" -msgstr "???????????????????????????" +msgstr "它派生自输入的口令" --#: lib/fascist.c:676 + #: lib/fascist.c:676 msgid "it is derivable from your password entry" -msgstr "???????????????????????????" +msgstr "可从输入的口令推断" --#: lib/fascist.c:690 + #: lib/fascist.c:690 msgid "it's derivable from your password entry" -msgstr "???????????????????????????" +msgstr "可从输入的口令推断" --#: lib/fascist.c:726 + #: lib/fascist.c:726 msgid "it is WAY too short" -msgstr "WAY ??????" +msgstr "WAY 过短" --#: lib/fascist.c:731 + #: lib/fascist.c:731 msgid "it is too short" -msgstr "??????" +msgstr "过短" --#: lib/fascist.c:748 + #: lib/fascist.c:748 msgid "it does not contain enough DIFFERENT characters" -msgstr "????????????????????????????????????" +msgstr "它没有包含足够的 DIFFERENT 字符" --#: lib/fascist.c:762 + #: lib/fascist.c:762 msgid "it is all whitespace" -msgstr "????????????" +msgstr "全是空格" --#: lib/fascist.c:781 + #: lib/fascist.c:781 msgid "it is too simplistic/systematic" -msgstr "????????????/?????????" +msgstr "过于简单化/系统化" --#: lib/fascist.c:786 + #: lib/fascist.c:786 msgid "it looks like a National Insurance number." -msgstr "??????????????????????????????" +msgstr "看起来像国家保险号码。" --#: lib/fascist.c:813 + #: lib/fascist.c:813 msgid "it is based on a dictionary word" -msgstr "?????????????????????" +msgstr "它基于字典单词" --#: lib/fascist.c:832 + #: lib/fascist.c:832 msgid "it is based on a (reversed) dictionary word" -msgstr "????????????????????????????????????" +msgstr "它基于(颠倒的)字典单词" + + #: lib/fascist.c:867 + msgid "error loading dictionary"