--- cracklib2-2.8.13.orig/debian/cracklib-check.8 +++ cracklib2-2.8.13/debian/cracklib-check.8 @@ -0,0 +1,25 @@ +.TH cracklib\-check 8 "Sat Jun 21 22:44:33 CEST 2008" "Jan Dittberner" +.SH NAME +cracklib\-check \- Check passwords using libcrack2 +.SH SYNOPSIS +.B cracklib\-check +.br + +.SH DESCRIPTION +.B cracklib\-check +takes a list of passwords from stdin and checks them via libcrack2's +.BR FascistCheck (3) +sub routine. + +.SH RESULT +.B cracklib\-check +prints each checked password and the corresponding result of +.BR FascistCheck (3) +to stdout. The password and the result are separated by a colon. + +.SH SEE ALSO +.BR FascistCheck (3) + +.SH AUTHOR +This man page was written by Jan Dittberner for +the Debian GNU/Linux System (but may be used by others). --- cracklib2-2.8.13.orig/debian/FascistCheck.3 +++ cracklib2-2.8.13/debian/FascistCheck.3 @@ -0,0 +1,89 @@ +.\" source: +.\" /var/cvs/projects/debian/cracklib/debian/dpkg.src/cracklib2-dev.FascistCheck.3.in,v +.\" +.\" revision: +.\" @(#) cracklib2-dev.FascistCheck.3.in,v 1.6 1999/03/29 15:30:21 jplejacq Exp +.\" +.\" copyright: +.\" Copyright (C) 1998, 1999 Jean Pierre LeJacq +.\" +.\" Distributed under the GNU GENERAL PUBLIC LICENSE. +.\" +.TH FascistCheck 3 "Wed, 3 Oct 2001 01:37:09 +0100" "2.7-8.5" "Debian GNU/Linux manual" +.SH NAME +FascistCheck \- a pro-active password checker library +.SH SYNOPSIS +.B #include +.sp +.B "static char const CRACKLIB_DICTPATH[] = \ .\|.\|.;" +.sp +.B "extern char const *" +.br +.B "FascistCheck(char const passwd[], char const dictpath[]);" +.SH DESCRIPTION +cracklib is a library containing the +.B FascistCheck +C function which may be used in a "passwd" like program. The idea is +simple: try to prevent users from choosing passwords that could be +guessed by "crack" by filtering them out, at source. cracklib is an +offshoot of the the version 5 of the "crack" software and contains a +considerable number of ideas nicked from the new software. + +The first formal argument +.B password +is the potential password. The second formal argument +.B dictpath +is the full path name + filename prefix of the cracklib +dictionary database. +.B FascistCheck +returns +the NULL pointer for a good password, or a pointer to a diagnostic +string if it is a weak password. + +The database is in a binary format generated by the utilities +.BR crack_mkdict (8) +and +.BR crack_packer (8). +On a Debian system the database is located in the directory defined by +the static constant +.B CRACKLIB_DICTPATH +and is set to /var/cache/cracklib/cracklib_dict. None of the subroutines in the +cracklib libraries have this location hard-coded into their +implementations. It is generated daily with the program +/etc/cron.daily/cracklib. +.SH FILES +.TP +.I /var/cache/cracklib/cracklib_dict.[hwm|pwd|pwi] +cracklib dictionary database files used by utilities. +.TP +.I /etc/cron.daily/cracklib +cracklib daily cron program to rebuild the cracklib dictionary database. +.TP +.I /etc/cracklib/cracklib.conf +cracklib configuration file used by the cracklib daily cron program to +rebuild the cracklib dictionary database. +.TP +.I /usr/sbin/crack_mkdict +cracklib shell script to create initial list of words for dictionary +database. +.TP +.I /usr/share/doc/cracklib2-dev/examples +Example +.BR cc (1) +source files that show how +.B FascistCheck +is used. +.SH SEE ALSO +.BR crack_teststr (8), +.BR crack_mkdict (8), +.BR update\-cracklib (8) +.br +/usr/share/doc/cracklib2-dev/examples +.br +/usr/share/doc/cracklib2/cracklib2.html +.br +/usr/share/doc/cracklib2-dev/cracklib2-dev.html +.SH AUTHOR +.B cracklib2 +is written by Alec Muffett . Manual added +by Jean Pierre LeJacq . --- cracklib2-2.8.13.orig/debian/rules +++ cracklib2-2.8.13/debian/rules @@ -0,0 +1,135 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include /usr/share/quilt/quilt.make +# This has to be exported to make some magic below work. +export DH_OPTIONS + +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +PYVERS := $(shell pyversions -vs) + +configure-stamp: patch + dh_testdir + ./autogen.sh + mkdir -p debian/tmpbuild + cd debian/tmpbuild; \ + ../../configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --disable-rpath --without-python --with-default-dict=/var/cache/cracklib/cracklib_dict + for i in $(PYVERS); do \ + mkdir -p debian/build$$i; \ + cd debian/build$$i; \ + ../../configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --disable-rpath --with-default-dict=/var/cache/cracklib/cracklib_dict PYTHON_PREFIX=/usr/lib/python$$i PYTHON=/usr/bin/python$$i; \ + cd ../..; \ + done + touch configure-stamp + +build: build-stamp + +build-stamp: configure-stamp + $(MAKE) -C debian/tmpbuild + for i in $(PYVERS); do \ + ${MAKE} -C debian/build$$i/python top_builddir=`pwd`/debian/tmpbuild; \ + done + xmlto -o debian/doc xhtml-nochunks debian/libcrack2.xml + xmlto -o debian/doc xhtml-nochunks debian/cracklib-runtime.xml + touch build-stamp + +clean: unpatch + dh_testdir + dh_testroot + rm -rf build-stamp configure-stamp debian/tmpbuild + for i in $(PYVERS); do \ + rm -rf debian/build$$i; \ + done + rm -f debian/python-cracklib.install + rm -rf debian/doc + if [ -f Makefile ]; then $(MAKE) clean; fi + if [ -f Makefile ]; then $(MAKE) distclean; fi + dh_clean + # remove files created or modified by autogen.sh + rm -f Makefile.in aclocal.m4 configure dicts/Makefile.in doc/Makefile.in \ + lib/Makefile.in m4/Makefile.in py-compile python/Makefile.in \ + util/Makefile.in + +install: DH_OPTIONS= +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + $(MAKE) -C debian/tmpbuild DESTDIR=`pwd`/debian/tmp install + for i in $(PYVERS); do \ + $(MAKE) -C debian/build$$i/python install DESTDIR=`pwd`/debian/tmp; \ + rm -rf debian/tmp/usr/lib/python$$i/*.pyc; \ + rm -rf debian/tmp/usr/lib/python$$i/*.pyo; \ + done + chrpath -d debian/tmp/usr/sbin/cracklib-check \ + debian/tmp/usr/sbin/cracklib-packer \ + debian/tmp/usr/sbin/cracklib-unpacker + touch debian/python-cracklib.install + for i in $(PYVERS); do \ + echo "debian/tmp/usr/lib/python$$i/site-packages/_cracklibmodule.so usr/lib/python$$i/site-packages" >> debian/python-cracklib.install; \ + echo "debian/tmp/usr/lib/python$$i/site-packages/cracklib.py usr/lib/python$$i/site-packages" >> debian/python-cracklib.install; \ + echo "debian/crack.py usr/lib/python$$i/site-packages" >> debian/python-cracklib.install; \ + done + dh_install + +binary-common: + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples + dh_installman + dh_installcron + dh_installlogcheck + dh_strip + dh_link + dh_compress + dh_fixperms + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-indep: build install + dh_testdir -ppython-crack + dh_testroot -ppython-crack + dh_installchangelogs -ppython-crack + dh_installdocs -ppython-crack + dh_compress -ppython-crack + dh_installdeb -ppython-crack + dh_gencontrol -ppython-crack + dh_md5sums -ppython-crack + dh_builddeb -ppython-crack + +binary-arch: build install + $(MAKE) -f debian/rules binary-common DH_OPTIONS=-plibcrack2 + $(MAKE) -f debian/rules binary-common DH_OPTIONS=-plibcrack2-dev + $(MAKE) -f debian/rules binary-common DH_OPTIONS=-pcracklib-runtime + $(MAKE) -f debian/rules binary-python-cracklib DH_OPTIONS=-ppython-cracklib + +binary-python%: + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_strip + dh_link + dh_compress + dh_fixperms + dh_pycentral + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-arch binary-indep +.PHONY: build clean binary-indep binary-arch binary-common binary install --- cracklib2-2.8.13.orig/debian/changelog +++ cracklib2-2.8.13/debian/changelog @@ -0,0 +1,485 @@ +cracklib2 (2.8.13-3) unstable; urgency=low + + * debian/patches/04-enable-gettext.patch fixes gettext not correctly + initialized (Closes: #503826) thanks to Marc Dequènes + + -- Jan Dittberner Tue, 28 Oct 2008 20:50:24 +0100 + +cracklib2 (2.8.13-2) unstable; urgency=low + + [ Steve Langasek ] + * debian/update-cracklib: don't rely on [ -nt ] to return true when + the second file is non-existent, since this fails under dash. + LP: #278743. + + [ Jan Dittberner ] + * integrate Ubuntu bugfix + + -- Jan Dittberner Sun, 19 Oct 2008 23:23:19 +0200 + +cracklib2 (2.8.13-1) unstable; urgency=low + + * new upstream release + * removed debian/patches/04-improved-python-binding.patch, it has been + included upstream + * refreshed debian/patchs/02-ccwarnings.patch + * change debian/rules to use lib in top_builddir + * use set -e in debian/cracklib-runtime.preinst to fix lintian warning + maintainer-script-ignores-errors + + -- Jan Dittberner Sat, 27 Sep 2008 14:37:35 +0200 + +cracklib2 (2.8.12-8) unstable; urgency=low + + * provide a python-crack wrapper to mimic the behavior of the python- + crack package in Etch (Closes: #499056) + * fix inconsistent spaces vs. tabs usage in + debian/cracklib-runtime.cron.daily + * fix logcheck rules' regexes + * debian/control + - python-cracklib Provides python-crack and Conflicts with + python-crack (<< 2.8.12-1) + - add transitional package python-crack to easy Etch migration + + -- Jan Dittberner Mon, 15 Sep 2008 23:29:03 +0200 + +cracklib2 (2.8.12-7) unstable; urgency=low + + * fixes global name 'default_dictpath' is not defined (Closes: #499013) + + -- Jan Dittberner Mon, 15 Sep 2008 20:45:25 +0200 + +cracklib2 (2.8.12-6) unstable; urgency=low + + * add debian/libcrack2.symbols containing versioned symbols for + libcrack2 + * debian/copyright + - updated maintainer information + - removed shared libraries and headers from Modifications as they are + provided by upstream + * change cracklib-runtime's daily cron job's log output if no change + happens and update logcheck rules accordingly (Closes: #498354) + * debian/rules + - add dh_installlogcheck to binary-common + + -- Jan Dittberner Wed, 10 Sep 2008 23:28:54 +0200 + +cracklib2 (2.8.12-5) unstable; urgency=low + + * remove debian/patches/05-use-autogen_sh.patch because of the valuable + input from debian-mentors + * remove the files modified or added by ./autogen.sh + * debian/rules uses autogen.sh again + * debian/control + - re-add libtool, autoconf, and automake to build dependencies + + -- Jan Dittberner Mon, 25 Aug 2008 22:48:18 +0200 + +cracklib2 (2.8.12-4) unstable; urgency=low + + * add debian/patches/05-use-autogen_sh.patch instead of calling + autogen.sh (fixes Lintian warning + patch-system-but-direct-changes-in-diff) + * debian/control: remove build dependencies to autoconf, automake and + libtool + * remove absolute path to update-cracklib from + debian/cracklib-runtime.postinst (fixes Lintian warning + command-with-path-in-maintainer-script) + * update regular expression in debian/watch to not match obsolete 3.0pre + versions + + -- Jan Dittberner Fri, 15 Aug 2008 20:52:29 +0200 + +cracklib2 (2.8.12-3) unstable; urgency=low + + * debian/control + + remove Recommends for old wenglish package + + add a reasonable description to python-cracklib (Closes: #492968) + * fix Lintian info 'hypen-used-as-minus-sign' in + debian/update-cracklib.8 + * debian/README.source file added + + -- Jan Dittberner Wed, 30 Jul 2008 23:33:35 +0200 + +cracklib2 (2.8.12-2) unstable; urgency=low + + * debian/patches/04-improved-python-binding.patch patches upstream + python bindings to provide the functionallity and documentation + strings python-crack had (upstream will apply this patch in the + future) + * debian/rules uses autogen.sh + * only update cracklib dictionary if any of the source dictionaries has + changed (Closes: #380546) + * debian/control + + make Conflicts/Replaces version specific to be compliant to policy + section 2.5 + + add libtool, autoconf, and automake to build dependencies + + -- Jan Dittberner Tue, 15 Jul 2008 19:59:54 +0200 + +cracklib2 (2.8.12-1) unstable; urgency=low + + * switch to new upstream branch (Closes: #355692) + * update copyright file to reflect the change from an Artistic License + derivative license to the GPL-2 and mention new upstream + * debian/rules + + switch from cdbs to debhelper + + change default dictionary path to /var/lib/cracklib/pw_dict + + fix rpath issues in built utils using chrpath + * debian/control + + update to Standards-Version 3.8.0 + + add Homepage field + + provide a new binary package python-cracklib using python-central + + add Build-Depends for python-all, python-all-dev, python-central, + quilt, and chrpath + + add XS-Python and XB-Python fields to debian/control + + rename binary package cracklib2 to libcrack2 and cracklib2-dev to + libcrack2-dev, add the corresponding Provides, Conflicts and + Replaces + + make libcrack2-dev depend on libcrack2 with the same + binary:Version + + change Maintainer to Jan Dittberner + + set Uploaders field to previous Maintainer Martin Pitt + + add Vcs-Svn and Vcs-Svn-Browser to debian/control + * fix debian/cracklib-runtime.preinst to use dpkg-query instead of + directly accessing /var/lib/dpkg/status + * add debian/pycompat for dh_python + * update script update-cracklib to use cracklib-format and + cracklib-packer + * man pages for the new commands, updated existing man pages (Closes: + #429993) + * add debian/watch file for uscan + * let debian/examples/cracklib_example.c use NULL to specify the default + dictionary path + * convert HTML documentation to DocBook XML and update it + * fix man2html URLs in documentation to reflect man2html's current URL + syntax + * add README, README-DAWG, and README-WORDS from upstream package + * add quilt rules to debian/rules + * removed some Debian patches that are no longer required because of + upstream improvements + * debian/patches/05-mkdict.patch: Adapted to new upstream version, + renamed to 01-cracklib-format-optim.patch. + * debian/patches/07-ccwarnings.patch: Adapted to new upstream version, + renamed to 02-ccwarnings.patch. + * debian/patches/12-packer-dont-print-skipping-line.c.patch: Adapted to + new upstream version, renamed to + 03-packer-dont-print-skipping-line.patch. + + -- Jan Dittberner Thu, 10 Jul 2008 21:20:38 +0200 + +cracklib2 (2.7-19.1) unstable; urgency=low + + * NMU + * debian/rules: + + Fixed FTBFS if built twice in a row, Thanks to Kumar Appaiah for + help! (Closes: #424163, #442527) + + -- Kartik Mistry Wed, 26 Mar 2008 21:17:44 +0530 + +cracklib2 (2.7-19) unstable; urgency=high + + * debian/patches/01-crack-h.patch: Change to apply with -p1 to fix FTBFS due + to recent cdbs change. Thanks to Julien Cristau! (closes: #372273) + + -- Martin Pitt Sat, 10 Jun 2006 17:50:21 +0200 + +cracklib2 (2.7-18) unstable; urgency=low + + * debian/cracklib-runtime.{preinst,postinst}: Properly handle the + /etc/cron.daily/cracklib -> cracklib-runtime transition. (closes: #316488) + + -- Martin Pitt Thu, 14 Jul 2005 00:14:50 +0300 + +cracklib2 (2.7-17) unstable; urgency=low + + * Converted to cdbs. + * debian/control: Made short descriptions Policy conformant. + * Added debian/patches/12-packer-dont-print-skipping-line.c.patch: + - util/packer.c: Do not print a confusing "Skipping line..." message on + empty lines in dictionaries. (closes: #304583) + * debian/crack_mkdict.8: Fixed "utilties" typo. (closes: #310335) + * debian/crack_teststr.8: Fixed "utilties" typo. (closes: #310336) + + -- Martin Pitt Wed, 8 Jun 2005 00:40:04 +0200 + +cracklib2 (2.7-16) unstable; urgency=high + + * Urgency high since this fixes an RC bug present in Sarge. + * Added debian/patches/10-check-corrupt-dict.diff: + - packlib.c, FindPW(): If GetPW() returns NULL we have a corrupt + dictionary. Check for NULL and exit with an appropriate error message + instead of strcmp()'ing against NULL which triggers a segfault. + * Added debian/patches/11-mkdict-C-locale.diff: + - Run crack_mkdict with locale C; other locales might mess up the + dictionary. + - Thanks to Kenshi Muto for his help with this bug. + - Closes: #309746 + + -- Martin Pitt Sun, 22 May 2005 12:49:14 +0200 + +cracklib2 (2.7-15) unstable; urgency=high + + * Added missing "Depends: ${shlibs:Depends}" to cracklib-runtime. Thanks to + Maks Attems for discovering this. (closes: #280668) + * Urgency high since this is an RC bug and no code changes were made. + + -- Martin Pitt Thu, 11 Nov 2004 19:41:15 +0100 + +cracklib2 (2.7-14) unstable; urgency=low + + * cracklib-runtime: suggest non-virtual wordlist package 'wenglish' as first + alternative (closes: #271282) + + -- Martin Pitt Mon, 18 Oct 2004 09:12:35 +0200 + +cracklib2 (2.7-13) unstable; urgency=low + + * overhauled HTML documentation (e. g. now describes integration with + libpam-cracklib) + * converted HTML documentation to XHTML 1.1 + * updated my maintainer address + + -- Martin Pitt Tue, 21 Oct 2003 15:53:29 +0200 + +cracklib2 (2.7-12) unstable; urgency=low + + * 09-multidicts.diff: fixes bug in packlib.c: dictionary search was faulty + after dictionary switch; thanks to Chris Dunlop! (closes: #215085) + + -- Martin Pitt Fri, 10 Oct 2003 11:20:04 +0200 + +cracklib2 (2.7-11) unstable; urgency=low + + * updated Standards-Version + * 08-dictsearch.diff: fixes bug in dictionary search algorithm, some words + were not found before; thanks to Chris Dunlop! (closes: #213574) + + -- Martin Pitt Wed, 1 Oct 2003 11:55:13 +0200 + +cracklib2 (2.7-10) unstable; urgency=low + + * changed priority of cracklib2-dev to extra, as in override file + * utils/mkdict: changed order of commands to eliminate empty lines; thanks + to Bart Cortooms! (closes: #199014) + + -- Martin Pitt Sun, 29 Jun 2003 15:52:24 +0200 + +cracklib2 (2.7-9) unstable; urgency=low + + * new maintainer (closes: #194025) + * NMU acks (most of this stuff is not needed any more because of the new + build system) (closes: #62393, #69187, #70239, #72244, #75376, #87355, + #91135, #91136, #91407, #91414, #91429, #95291, #97705, #97855, #99512, + #107112, #108822, #111525); thanks to Colin Watson, Sebastian Rittau, and + Lenart Janos + * debian/control: updated maintainer and standards-version, moved -dev to + section libdevel + * updated debian/copyright (maintainer, correct upstream URL) + * rewrote debian/ directory from scratch + * cracklib.conf now also searches in dictionary directories below /usr/local + (closes: #46024) + * cracklib-runtime recommends wordlist now (closes: #54214, #67856, #46025) + * corrected all links in cracklib*.html (closes: #112238) + * corrected SEE ALSO links in manpages (closes: #90718) + * cracklib2-dev now comes with packer.h (closes: #173705) + * moved functionality of cronjob to /usr/sbin/update-cracklib and call this + script in cracklib-runtime's postinst (closes: #36976) + * cronjob now logs to cron.info (was 'notice' before) + * cronjob result output is now properly redirected to logger (closes: + #45567) + * packed wordlist are world-readable now (they are created from + world-readable files, should be no problem) (closes: #146955) + * removed 'readonly' variable attribute from cronjob since it is + bash-specific (closes: #114749) + * cracklib(3) is an alias (symlink) for FascistCheck(3) (closes: #90717) + * cleaned up and documented example application + * all files: deleted CVS references from former maintainer + * deleted 'Local variables:' stuff at end of changelog + * patch 07-ccwarnings.diff to eliminate all (but one) compiler warning + * added linda overrides for nonstandard package name + * added logcheck ignores for cronjob + + -- Martin Pitt Fri, 13 Jun 2003 10:37:10 +0200 + +cracklib2 (2.7-8.5) unstable; urgency=medium + + * Non-maintainer upload. Urgency medium as this is keeping other packages + out of testing. + * debian/dpkg.common/rules: Move calls to dpkg-shlibdeps and + dpkg-gencontrol from the build target to binary, as dpkg-shlibdeps + doesn't like being called as non-root (closes: #97855). + * Call ldconfig without arguments, for the Hurd (closes: #108822). + * Fix typo in crack_teststr(8)'s NAME section (closes: #99512). + * Exit 0 and don't complain in the syslog if cracklib-runtime is removed + but not purged (closes: #95291). + * logger is no longer used as a result of the above (closes: #62393). + + -- Colin Watson Wed, 3 Oct 2001 01:37:09 +0100 + +cracklib2 (2.7-8.4) unstable; urgency=low + + * Another non-maintainer upload to fix the disappearing changelog + entry. (Closes: #111525) + + -- Sebastian Rittau Sat, 8 Sep 2001 14:24:27 +0200 + +cracklib2 (2.7-8.3) unstable; urgency=low + + * Non-maintainer upload with permission of maintainer. + * Closes an annoying warning produced by the cron.daily scipt when + /bin/sh is linked against /bin/ash. (Closes: #107112) + * Fixed a similar problem in debian/dpkg.common/clean. + + -- Sebastian Rittau Wed, 5 Sep 2001 19:08:44 +0200 + +cracklib2 (2.7-8.2) unstable; urgency=low + + * Non-maintainer upload. + * debian/dpkg.common/modifysrc: Support build environments where the + .orig.tar.gz is not present in the parent directory (thanks, Mikko + Markus Torni; closes: #87355). + * debhelper namespacing was fixed in previous NMU, but fixed it more + neatly while I'm here (closes: #75376). + * Move to FHS locations for documentation (thanks, Jonathon M. Abbott; + closes: #91135, #91136, #91407, #91414, #91429). + * Don't link with -nodefaultlibs, as it has bad effects on some platforms + (closes: #72244). + * Add Section: and Priority: to the .deb's control file (lintian). + * Bump Standards-Version: to 3.1.1 and add build-dependency on debhelper + (>= 2.0.89) (closes: #70239). + * Fixed debian/dpkg.common/{check,substfiles}: both of them grepped the + output of dpkg-parsechangelog for "Version: " instead of "^Version: ", + which broke with the above changelog entry. + + -- Colin Watson Wed, 16 May 2001 17:46:51 +0100 + +cracklib2 (2.7-8.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fixed path to Debhelper and added correct namespace, fixes Bug#69187. + + -- Lenart Janos Fri, 23 Feb 2001 18:34:33 +0100 + +cracklib2 (2.7-8) unstable; urgency=low + + * Corrected control file where shared library package was not correctly + depending on shlibs information. + + -- Jean Pierre LeJacq Fri, 2 Apr 1999 14:32:19 -0500 + +cracklib2 (2.7-7) unstable; urgency=low + + * Correct broken link to shared library. Fixes Bug#35331. Thanks to + Hartmut Koptein . + * Upgraded algorithm which decides which files in standard dictionary + directories should be included in cracklib dictionary. Now includes + support for non-ASCII text and compressed text files. Fixes + Bug#27510. Thanks to Francesco Potorti and + Julian Gilbey . + + -- Jean Pierre LeJacq Fri, 2 Apr 1999 08:58:56 -0500 + +cracklib2 (2.7-6) unstable; urgency=high + + * Corrected build programs that prevent inclusion of pristine upstream + source. + * Corrected cron.daily script to redirect message syslog per suggestion + of Ralph Giles. Fixes Bug#27511, Bug#27743, Bug#28897, Bug#29100, + Bug#29500, Bug#29995, Bug#30576, Bug#31060, Bug#31666, Bug#31683, + Bug#33042 and Bug#34782. Thanks to Francesco Potorti + , J.H.M. Dassen , + Branden Robinson , James Spooner + , Manoj Srivastava , Ben + , , Elie Rosenblum + , Ralph Giles , Ian Eure + and . + * Corrected control file by removing suggestion for non-existent + cracklib-dict package. I still intended to add this package in the + future. Fixes Bug#29300. Thanks to Julian Gilbey + . + * Corrected control file by adding dependency on file package. Fixes + Bug#31686. Thanks to Ralph Giles . + * Upgraded crack_packer man-page to document output. Fixes Bug#27511 + and Bug#28897. Thanks to Francesco Potorti . + * Upgraded to Debian policy standard version 2.5.0.0. + * Upgraded control file to remove statement that cracklib is not used by + other Debian packages. Fixes Bug#27647. Thanks to Chris + . + + -- Jean Pierre LeJacq Mon, 29 Mar 1999 07:27:17 -0500 + +cracklib2 (2.7-5) frozen unstable; urgency=low + + * Placed in frozen distribution. Thanks to James Troup + (bug#20993). + * Upgraded priority from extra to optional. + * Upgraded package building architecture. + * Upgraded HTML documentation to show how to use cracklib in Debian + distribution. Also reverted back to individual binary packages. + * Upgraded doc-base title entry to be shorter since dhelp core dumps + otherwise. + * Removed menu files since they are generated directly by doc-base. + + -- Jean Pierre LeJacq Sat, 18 Apr 1998 13:55:28 -0400 + +cracklib2 (2.7-4) unstable; urgency=low + + * Replaced documentation directories to symbolic links per Debian + policy manual section 5.6. Thanks to Gregory Stark + (bug#19715). + * Added section to explain briefly what modifications were + made in the Debian version of the package compared to the upstream + one per the Debian policy manual section 5.6. + * Added separate menu and doc-base entry for dev package. + + -- Jean Pierre LeJacq Tue, 7 Apr 1998 12:51:17 -0400 + +cracklib2 (2.7-3) unstable; urgency=low + + * Corrected incorrect reference to obsolete cracklib2.6 package in + control file. + * Corrected name of suggested dictionary package to crack-dict since this + will be shared between crack and cracklib2. + * Corrected Debian sections for source and binary packages. + * Upgraded documentation in control file of cracklib2 binary package to + notify users how cracklib2 can be used now since it will not be included in + Debian 2.0. + + -- Jean Pierre LeJacq Sat, 4 Apr 1998 09:55:41 -0500 + +cracklib2 (2.7-2) unstable; urgency=low + + * Upgraded postinst to call ldconfig on configuration. + * Upgraded debian/rules to include target to check binary packages with + lintian and HTML validation tools. + * Upgraded default configuration file to add any ASCII text file in + /usr/share/dict and /usr/dict to construct cracklib dictionary + database. Thanks to Gregory Stark (bug#19714). + * Upgraded man pages to have relative URI to HTML documentation. + * Corrected misspelling in parameterized variable in FascistCheck man + page. Thanks to Gregory Stark (bug#19715). + * Moved removal of menu entry from prerm to postrm per lintian. + * Moved dh_shlibdeps from build to binary since it now calls chown which + requires root privileges. + * Checked that package building and installation shell scripts work with + bash, pdksh, and ash. + + -- Jean Pierre LeJacq Tue, 31 Mar 1998 17:16:08 -0500 + +cracklib2 (2.7-1) unstable; urgency=low + + * Upgraded to new upstream source. + * Upgraded documentation to indicated new upstream source location. + * Corrected bug in doc-base configuration. + * Removed #!/bin/sh header in non executable configuration file per + lintian. + * Changed package name from cracklib2.6 to cracklib2. + + -- Jean Pierre LeJacq Sun, 8 Mar 1998 15:50:17 -0500 + +cracklib2.6 (2.6-1) unstable; urgency=low + + * Initial release. + + -- Jean Pierre LeJacq Wed, 25 Feb 1998 09:21:54 -0500 --- cracklib2-2.8.13.orig/debian/cracklib-runtime.links +++ cracklib2-2.8.13/debian/cracklib-runtime.links @@ -0,0 +1,2 @@ +/usr/share/man/man8/cracklib-format.8 /usr/share/man/man8/cracklib-packer.8 +/usr/share/man/man8/cracklib-format.8 /usr/share/man/man8/cracklib-unpacker.8 --- cracklib2-2.8.13.orig/debian/libcrack2.xml +++ cracklib2-2.8.13/debian/libcrack2.xml @@ -0,0 +1,170 @@ + + +
+ cracklib2 - a pro-active password library + + + cracklib2 is a library + containing a C function which may be used in a passwd + (1) like program. The idea is simple: try to prevent + users from choosing passwords that could be guessed by crack + by filtering them out, at + source. cracklib2 is + not a replacement passwd + (1) program. cracklib2 is a + library. + cracklib2 is an offshoot of + version 5 of the crack + software and contains a considerable number of ideas nicked from + the new software. + cracklib2's original home + page provides some links on security publications and + access to source code written by the author of + cracklib2. While there is a README there is not much documentation + available on cracklib2. Hopefully + this page that I generated for the Debian/GNU Linux + distribution will improve this situation. + cracklib2 has been forked by + NathanNeulinger + who is now coordinating the further development. This fork has + been blessed by the original maintainer in this + article. The new upstream branch is hosted at the cracklib2 + SourceForge project page. + + + 1998 + 1999 + Jean Pierre LeJacq + + + 2003 + Martin Pitt + + + 2008 + Jan Dittberner + + + This package and this document is free software; you may + redistribute it and/or modify it under the terms of the GNU + General Public License version 2 as published by the Free + Software Foundation. + A copy of the GNU General Public License version 2 is + available as /usr/share/common-licenses/GPL-2 in the Debian + GNU/Linux distribution or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html. You + can also obtain it by writing to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, + USA. + + + Jean Pierre + LeJacq + Original Debian packaging + jplejacq@quoininc.com + + + Martin + Pitt + Debian package maintainer before version 2.8. + mpitt@debian.org + + + Jan + Dittberner + Reformulation to DocBook XML, updated to reflect new + packaging and upstream version. Current Debian package + maintainer. + jan@dittberner.info + + $Date: 2008-06-30 14:55:46 +0200 (Mo, 30 Jun 2008) $ + +
+ Why <application>cracklib2</application>? + One of the most common security weaknesses in computer + systems is the use of easily guessed + passwords. cracklib2 tries to prevent + the selection of weak passwords by checking potential passwords + against dictionaries of commonly used or easily guessed + words. +
+
+ Who is responsible for all of this? + AlecMuffet + is the author of cracklib2. Jean + PierreLeJacq + initially produced this Debian package, MartinPitt + is its current maintainer. JanDittberner + packaged the new upstream version of + cracklib2 and updated the + documentation. +
+
+ How to use <application>cracklib2</application> with + Debian + Ideally, the password quality check should be done when an + user sets his/her password. The PAM (Pluggable Authentication + Modules) architecture makes it easy to integrate arbitrary checks + (like cracklib2) into programs like + passwd and + ssh. + To use cracklib2 in Debian, + install the package libpam_cracklib and follow + the instructions to enable libpam_cracklib in + /etc/pam.d/common-password. + From now on,cracklib2 checks the + password quality whenever a password is changed with + passwd and rejects + bad ones. +
+
+ Debian <application>cracklib2</application> package overview + The source package is cracklib2 which + generates the following binary packages: + + + libcrack2 + Shared library and this + documentation. + + + libcrack2-dev + Header files, static libraries, and symbolic + links developers using cracklib2 + will need. This package also provides an example program that + shows the usage of cracklib2 in own + applications. + + + cracklib-runtime + Run-time support programs which use the shared + library in libcrack2 including programs to + build the password dictionary databases used by the functions + in the shared library. + + + python-cracklib + This package provides Python bindings for the + shared library in + libcrack2. + + + This package does not include dictionaries since there are + already lots of them in Debian (wenglish, + wngerman, etc.). +
+
--- cracklib2-2.8.13.orig/debian/libcrack2.links +++ cracklib2-2.8.13/debian/libcrack2.links @@ -0,0 +1 @@ +/usr/lib/libcrack.so.2.8.0 /usr/lib/libcrack.so.2 --- cracklib2-2.8.13.orig/debian/create-cracklib-dict.8 +++ cracklib2-2.8.13/debian/create-cracklib-dict.8 @@ -0,0 +1,24 @@ +.TH create\-cracklib\-dict 8 "Sat Jun 21 22:45:42 CEST 2008" "Jan Dittberner" +.SH NAME +create\-cracklib\-dict \- Check passwords using libcrack2 +.SH SYNOPSIS +.B create\-cracklib\-dict wordlist ... +.br + +.SH DESCRIPTION +.B create\-cracklib\-dict +takes one or more word list files as arguments and converts them into +cracklib dictionaries for use by password checking programs. The +results are placed in the default compiled-in dictionary location. + +If you wish to store the dictionary in a different location, use the +cracklib-format and cracklib-packer commands directly. + +.SH SEE ALSO +.BR cracklib\-format (8), +.BR cracklib\-packer (8), +.BR cracklib\-check (8), + +.SH AUTHOR +This man page was written by Jan Dittberner for +the Debian GNU/Linux System (but may be used by others). --- cracklib2-2.8.13.orig/debian/libcrack2.doc-base +++ cracklib2-2.8.13/debian/libcrack2.doc-base @@ -0,0 +1,13 @@ +Document: libcrack2 +Title: cracklib2 - a pro-active password checker library +Author: Jean Pierre LeJacq +Abstract: cracklib is a library containing a C function which may be used in + a passwd like program. The idea is simple: try to prevent users from + choosing passwords that could be guessed by crack by filtering them + out, at source. cracklib is NOT a replacement passwd program. + cracklib is a LIBRARY. +Section: System/Security + +Format: HTML +Index: /usr/share/doc/libcrack2/libcrack2.html +Files: /usr/share/doc/libcrack2/libcrack2.html --- cracklib2-2.8.13.orig/debian/cracklib-runtime.postinst +++ cracklib2-2.8.13/debian/cracklib-runtime.postinst @@ -0,0 +1,19 @@ +#! /bin/sh + +set -e + +if [ "$1" = "configure" -a -r /etc/cracklib/cracklib.conf ]; then + update-cracklib > /dev/null + + # /etc/cron.daily/cracklib -> cracklib-runtime transition + if dpkg --compare-versions "$2" le "2.7-17"; then + if [ -e /etc/cron.daily/cracklib ]; then + rm -f /etc/cron.daily/cracklib-runtime + mv /etc/cron.daily/cracklib /etc/cron.daily/cracklib-runtime + fi + fi +fi + +#DEBHELPER# + +exit 0 --- cracklib2-2.8.13.orig/debian/watch +++ cracklib2-2.8.13/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/cracklib/ cracklib-(2\..+)\.tar\.gz --- cracklib2-2.8.13.orig/debian/libcrack2-dev.manpages +++ cracklib2-2.8.13/debian/libcrack2-dev.manpages @@ -0,0 +1 @@ +debian/FascistCheck.3 --- cracklib2-2.8.13.orig/debian/cracklib-runtime.docs +++ cracklib2-2.8.13/debian/cracklib-runtime.docs @@ -0,0 +1 @@ +debian/doc/cracklib-runtime.html --- cracklib2-2.8.13.orig/debian/cracklib-format.8 +++ cracklib2-2.8.13/debian/cracklib-format.8 @@ -0,0 +1,123 @@ +.\" source: +.\" /var/cvs/projects/debian/cracklib/debian/dpkg.src/cracklib-runtime.crack_mkdict.8.in,v +.\" +.\" revision: +.\" @(#) cracklib-runtime.crack_mkdict.8.in,v 1.7 1999/04/02 14:50:43 jplejacq Exp +.\" +.\" copyright: +.\" Copyright (C) 1998, 1999 Jean Pierre LeJacq +.\" +.\" Distributed under the GNU GENERAL PUBLIC LICENSE. +.\" +.TH cracklib\-format 8 "Sat Jun 21 22:43:12 CEST 2008" "2.7-8.5" "Debian GNU/Linux manual" +.SH NAME +cracklib\-format, cracklib\-packer, cracklib\-unpacker \- cracklib dictionary utilities +.SH SYNOPSIS +.B cracklib\-format +.IR file +.IR ... + +.B cracklib\-packer +.IR cracklib_dictpath + +.B cracklib\-unpacker +.IR cracklib_dictpath +.SH DESCRIPTION +.B cracklib\-format +takes a list of text files each containing a list of words, one per line, It +lowercases all words, removes control characters, and sorts the lists. It +outputs the cleaned up list to standard output. The text files may be +optionally compressed with +.BR gzip (1). + +If you supply massive amounts of text to +.B cracklib\-format +you must have enough free space available for use by the +.BR sort (1) +command. If you do not have 20Mb free in /var/tmp (or whatever +temporary area your +.BR sort (1) +command uses), have a look at the +.B /usr/sbin/cracklib\-format +program which is a +.BR sh (1) +program. You can usually tweak the +.BR sort (1) +command to use any large area of disk you desire, by use of the +.B \-T +option. +.B cracklib\-format +has a hook for this. + +.B cracklib\-packer +reads from standard input a list of sorted and cleaned words and +creates a database in the directory and prefix given by the command +line argument +.B cracklib_dictpath. +Three files are created with the suffixes of .hwm, .pwd, and .pwi. +These three files are in the format that the +.BR FascistCheck (3) +subroutine, +.BR cracklib\-unpacker (8), +and +.BR cracklib\-check (8), +utilities understand. The number of words read and written are printed on +.BR stdout (3). + +.B cracklib\-unpacker +reads from the database in the directory and prefix given by the command +line argument +.B cracklib_dictpath +and outputs on standard output the list of words that make up the +database. + +The database is in a binary format generated by the utilities +.BR cracklib\-format (8) +and +.BR cracklib\-packer (8). +On a Debian system the database is located in the directory +/var/cache/cracklib/cracklib_dict and is generated daily with the program +/etc/cron.daily/cracklib. The location is also defined in the +header file +.B crack.h +using the constant +.B CRACKLIB_DICTPATH +though none of the subroutines in the cracklib libraries have this +location hardcoded into their implementations. + +.SH FILES +.TP +.I /var/cache/cracklib/cracklib_dict.[hwm|pwd|pwi] +cracklib dictionary database files used by utilities. +.TP +.I /etc/cron.daily/cracklib +cracklib daily cron program to rebuild the cracklib dictionary database. +.TP +.I /etc/cracklib/cracklib.conf +cracklib configuration file used by the cracklib daily cron program to +rebuild the cracklib dictionary database. +.TP +.I /usr/include/crack.h +cracklib header file defining the subroutine +.BR FascistCheck(3) +and the constant +.B CRACKLIB_DICTPATH +used to compile in the location of the cracklib dictionary database for +these utilities. +.TP +.I /usr/sbin/cracklib\-format +cracklib shell script to create initial list of words for dictionary +database. +.SH SEE ALSO +.BR FascistCheck (3), +.BR cracklib\-check (8), +.BR update\-cracklib (8), +.BR create\-cracklib\-dict (8) +.br +/usr/share/doc/libcrack2/libcrack2.html +.br +/usr/share/doc/cracklib-runtime/cracklib-runtime.html +.SH AUTHOR +.B cracklib2 +is written by Alec Muffett . Manual added +by Jean Pierre LeJacq . --- cracklib2-2.8.13.orig/debian/cracklib-runtime.xml +++ cracklib2-2.8.13/debian/cracklib-runtime.xml @@ -0,0 +1,195 @@ + + +
+ cracklib utilities + + + cracklib2 is a library + containing a C function which may be used in a passwd + (1) like program. The idea is simple: try to prevent + users from choosing passwords that could be guessed by crack + by filtering them out, at + source. cracklib2 is + not a replacement passwd + (1) program. cracklib2 is a + library. + cracklib-runtime contains run-time support programs which use the shared library in libcrack2 including programs to build the password dictionary databases used by the functions in the shared library. + + + 1998 + 1999 + Jean Pierre LeJacq + + + 2003 + Martin Pitt + + + 2008 + Jan Dittberner + + + This package and this document is free software; you may + redistribute it and/or modify it under the terms of the GNU + General Public License version 2 as published by the Free + Software Foundation. + A copy of the GNU General Public License version 2 is + available as /usr/share/common-licenses/GPL-2 in the Debian + GNU/Linux distribution or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html. You + can also obtain it by writing to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, + USA. + + + Jean Pierre + LeJacq + Original Debian packaging + jplejacq@quoininc.com + + + Martin + Pitt + Debian package maintainer before version 2.8. + mpitt@debian.org + + + Jan + Dittberner + Reformulation to DocBook XML, updated to reflect new + packaging and upstream version. Current Debian package + maintainer. + jan@dittberner.info + + $Date: 2008-06-26 21:38:06 +0200 (Do, 26 Jun 2008) $ + +
+ Upstream <package>cracklib2</package> utilities. +
+ <package>cracklib2</package> dictionary utilities. +
+ cracklib-format + cracklib-format takes a list + of text files each containing a list of words, one per line, + It lowercases all words, removes control charac‐ters, and + sorts the lists. It outputs the cleaned up list to standard + output. + + For more information see the manual page of cracklib-format. +
+
+ cracklib-packer + cracklib-packer reads from + standard input a list of sorted and cleaned words and creates + a database from the result. + For more information see the manual page of cracklib-packer. +
+
+ cracklib-unpacker + cracklib-unpacker reads from + a database created by cracklib-packer + and outputs on standard output the list of words that make up + the database. + For more information see the manual page of cracklib-unpacker. +
+
+ create-cracklib-dict + create-cracklib-dict takes + one or more word list files as arguments and converts them + into cracklib dictionaries for use by password checking + programs. The results are placed in the default compiled-in + dictionary location (). + If you wish to store the dictionary in a different + location, use the cracklib-format and cracklib-packer + commands directly. +
+
+
+ <package>cracklib2</package>'s test utility + <application>cracklib-check.</application> + cracklib-check takes a list of + passwords from stdin and checks them via libcrack2’s FascistCheck + sub routine. + cracklib-check prints each + checked password and the corresponding result of FascistCheck + to stdout. The password and the result are separated by a + colon. +
+
+
+ Debian <package>cracklib2</package> utilities. +
+ update-cracklib + update-cracklib uses cracklib-format + and cracklib-packer + to update the default cracklib dictionary it uses the word lists + configured in + /etc/cracklib/cracklib.conf. + For more information see the manual page of cracklib-format. +
+
+
+ Debian dictionaries + cracklib2 uses a word database + that is in a binary format generated by the utilities cracklib-format + and cracklib-packer. Three + files are created with the suffixes of .hwm, .pwd, and .pwi. These + files are not byte-order independent, in fact they are probably + architecture specific, mostly due to speed constraints. +
+ Database location for cracklib utilities. + All cracklib utilities can use a dictionary database + location specified as a command line argument. The utilities use + a default dictionary database if nothing else is specified. On a + Debian system the database is located in the directory + /var/cache/cracklib/cracklib_dict and is + generated daily with the program + /etc/cron.daily/cracklib. +
+
+ Word lists for creating dictionary databases. + cracklib2 is only as good as the word dictionary database you create. Basically, you want to include any word that a malicious user could guess. It could include: + + + Names (including nicknames and user ids) of all users. + + + Names of pets, relatives, cars, ... of all users. + + + Computer, network, printer, ... names. + + + Insurance numbers, employee numbers, ... of users. * + ... + + + + Debian provides a number of word lists that can be used as + sources for creating the cracklib2 dictionary database. The + package wenglish provides a standard ASCII word list that can be + directly used. The package ispell also supplies a large word + list but it is in binary format. I haven't figured out how to + decode this binary format so that the resulting word list can be + used by cracklib2. +
+
+
--- cracklib2-2.8.13.orig/debian/libcrack2.postinst +++ cracklib2-2.8.13/debian/libcrack2.postinst @@ -0,0 +1,9 @@ +#! /bin/sh + +set -e + +if [ "$1" = "configure" ]; then ldconfig; fi + +#DEBHELPER# + +exit 0 --- cracklib2-2.8.13.orig/debian/libcrack2-dev.examples +++ cracklib2-2.8.13/debian/libcrack2-dev.examples @@ -0,0 +1 @@ +debian/examples/* --- cracklib2-2.8.13.orig/debian/cracklib-runtime.preinst +++ cracklib2-2.8.13/debian/cracklib-runtime.preinst @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +case "$1" in +install|upgrade) + # /etc/cron.daily/cracklib -> cracklib-runtime transition + if dpkg --compare-versions "$2" le "2.7-17"; then + CONFFILE=/etc/cron.daily/cracklib + if [ -e "$CONFFILE" ]; then + md5sum="`md5sum \"$CONFFILE\" | sed -e 's/ .*//'`" + old_md5sum="`dpkg-query -W -f='${Conffiles}' cracklib-runtime|sed -n -e \"{\\\\' $CONFFILE'{s/.* //;p}}\"`" + if [ "$md5sum" = "$old_md5sum" ]; then + rm -f "$CONFFILE" + fi + fi + fi +esac + +#DEBHELPER# + +exit 0 --- cracklib2-2.8.13.orig/debian/cracklib-runtime.dirs +++ cracklib2-2.8.13/debian/cracklib-runtime.dirs @@ -0,0 +1 @@ +/var/cache/cracklib --- cracklib2-2.8.13.orig/debian/copyright +++ cracklib2-2.8.13/debian/copyright @@ -0,0 +1,101 @@ +This package was debianized by Jean Pierre LeJacq + on Wed, 25 Feb 1998. Martin Pitt + was the package's maintainer up to version +2.7.19-1. The current maintainer is Jan Dittberner +. + +It was downloaded from http://sourceforge.net/projects/cracklib + +Copyright (c) 1993 Alec Muffett , +Copyright (c) 2005-2008 Nathan Neulinger + +Modifications: Added cronjob, configuration file, and man pages. + +This program is free software; you may redistribute it and/or modify +it under the terms of the GNU General Public License version 2 as +published by the Free Software Foundation. + +This 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. + +A copy of the GNU General Public License version 2 is available as +/usr/share/common-licenses/GPL-2 in the Debian GNU/Linux distribution +or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html. You +can also obtain it by writing to the Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +Copyright information: + +CrackLib was originally licensed with a variant of the Artistic +license. In the interests of wider acceptance and more modern +licensing, it was switched with the original author's blessing to GPL +v2. + +This approval was carried out in email discussions in 2005, and has +been reconfirmed as of 2007-10-01 with the following email from Alec +Muffett. + + +------------------------------------- + + +From alecm@crypticide.com Mon Oct 1 12:26:03 2007 +Received: from umr-exproto2.cc.umr.edu ([131.151.0.192]) by UMR-CMAIL1.umr.edu with Microsoft SMTPSVC(6.0.3790.3959); + Mon, 1 Oct 2007 12:26:03 -0500 +Received: from scansrv2.srv.mst.edu ([131.151.1.114]) by umr-exproto2.cc.umr.edu with Microsoft SMTPSVC(6.0.3790.3959); + Mon, 1 Oct 2007 12:26:02 -0500 +Received: (qmail 8022 invoked from network); 1 Oct 2007 16:59:55 -0000 +Received: from smtp1.srv.mst.edu (131.151.1.43) + by scanin-ipvs.cc.umr.edu with SMTP; 1 Oct 2007 16:59:55 -0000 +Received: from spunkymail-mx8.g.dreamhost.com (mx1.spunky.mail.dreamhost.com [208.97.132.47]) + by smtp1.srv.mst.edu (8.13.1/8.13.1) with ESMTP id l91Gxtpr020623 + for ; Mon, 1 Oct 2007 11:59:55 -0500 +Received: from rutherford.zen.co.uk (rutherford.zen.co.uk [212.23.3.142]) + by spunkymail-mx8.g.dreamhost.com (Postfix) with ESMTP id 2C7734D311 + for ; Mon, 1 Oct 2007 09:59:50 -0700 (PDT) +Received: from [82.68.43.14] (helo=[192.168.1.3]) + by rutherford.zen.co.uk with esmtp (Exim 4.50) + id 1IcOcX-0004Qt-6L + for nneul@neulinger.org; Mon, 01 Oct 2007 16:59:49 +0000 +Mime-Version: 1.0 (Apple Message framework v752.2) +In-Reply-To: <1b1b3fd80710010908k11dac0afp1f2dd471059ff9a4@mail.gmail.com> +References: <1190922867.3457.147.camel@localhost.localdomain> <1b1b3fd80710010908k11dac0afp1f2dd471059ff9a4@mail.gmail.com> +Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed +Message-Id: <117A1264-F6DC-4E25-B0DD-56FBFEBE6E9F@crypticide.com> +Content-Transfer-Encoding: 7bit +From: Alec Muffett +Subject: Re: cracklib license +Date: Mon, 1 Oct 2007 17:59:46 +0100 +To: Nathan Neulinger +X-Mailer: Apple Mail (2.752.2) +X-Originating-Rutherford-IP: [82.68.43.14] +Return-Path: alecm@crypticide.com +X-OriginalArrivalTime: 01 Oct 2007 17:26:03.0008 (UTC) FILETIME=[2420C000:01C80450] +Status: RO +Content-Length: 585 +Lines: 21 + +> +> ---------- Forwarded message ---------- +> From: Neulinger, Nathan +> Date: Sep 27, 2007 2:58 PM +> Subject: RE: cracklib license +> To: alecm@crypto.dircon.co.uk +> +> Any chance you could write me a self-contained email stating clearly +> that the license is being changed to GPL, so I could include that +> email +> in the repository and clean up the repository/tarballs? I have all the +> original discussion, but something succinct and self contained +> would be +> ideal. + +The license for my code in the Cracklib distribution is henceforth GPL. + +Happy now? :-) + + -a + + --- cracklib2-2.8.13.orig/debian/cracklib-runtime.logcheck.ignore.paranoid +++ cracklib2-2.8.13/debian/cracklib-runtime.logcheck.ignore.paranoid @@ -0,0 +1,2 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ cracklib: updated dictionary \(read/written words: ([0-9]+) \1\)\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ cracklib: no dictionary update necessary\.$ --- cracklib2-2.8.13.orig/debian/update-cracklib +++ cracklib2-2.8.13/debian/update-cracklib @@ -0,0 +1,37 @@ +#!/bin/sh +# update-cracklib - Regenerate cracklib word lists +# +# This script is based on the original cron job written by Jean Pierre +# LeJacq . + +set -e + +umask 0022 + +if [ -r "/etc/cracklib/cracklib.conf" ] +then + . /etc/cracklib/cracklib.conf +else + echo Error: cannot read configuration file /etc/cracklib/cracklib.conf + exit 1 +fi + +if [ ! -d /var/cache/cracklib/ ]; then + install -d -m 755 /var/cache/cracklib/ +fi + +if [ -n "${cracklib_dictpath_src}" -a -n "${cracklib_dictpath}" ] +then + for i in ${cracklib_dictpath_src} + do + if ! [ -e "${cracklib_dictpath}.pwd" ] \ + || [ "$i" -nt "${cracklib_dictpath}.pwd" ] + then + /usr/sbin/cracklib-format ${cracklib_dictpath_src} | \ + /usr/sbin/cracklib-packer + exit 0 + fi + done +fi + +exit 0 --- cracklib2-2.8.13.orig/debian/libcrack2.symbols +++ cracklib2-2.8.13/debian/libcrack2.symbols @@ -0,0 +1,28 @@ +libcrack.so.2 libcrack2 #MINVER# + Capitalise@Base 2.8.12 + Char2Int@Base 2.8.12 + Chop@Base 2.8.12 + Clone@Base 2.8.12 + FascistCheck@Base 2.8.12 + FascistGecos@Base 2.8.12 + FascistLook@Base 2.8.12 + FindPW@Base 2.8.12 + GTry@Base 2.8.12 + GetPW@Base 2.8.12 + Lowercase@Base 2.8.12 + Mangle@Base 2.8.12 + MatchClass@Base 2.8.12 + PMatch@Base 2.8.12 + PWClose@Base 2.8.12 + PWOpen@Base 2.8.12 + Pluralise@Base 2.8.12 + PolyPurge@Base 2.8.12 + PolyStrchr@Base 2.8.12 + PolySubst@Base 2.8.12 + Purge@Base 2.8.12 + PutPW@Base 2.8.12 + Reverse@Base 2.8.12 + Substitute@Base 2.8.12 + Suffix@Base 2.8.12 + Trim@Base 2.8.12 + Uppercase@Base 2.8.12 --- cracklib2-2.8.13.orig/debian/cracklib-runtime.cron.daily +++ cracklib2-2.8.13/debian/cracklib-runtime.cron.daily @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +if [ -x /usr/sbin/update-cracklib -a -r /etc/cracklib/cracklib.conf ] +then + status="$(/usr/sbin/update-cracklib)" + if [ -n "${status}" ] + then + /usr/bin/logger -p cron.info -t cracklib "updated dictionary (read/written words: ${status})." + else + /usr/bin/logger -p cron.info -t cracklib "no dictionary update necessary." + fi +fi + +exit 0 --- cracklib2-2.8.13.orig/debian/pycompat +++ cracklib2-2.8.13/debian/pycompat @@ -0,0 +1 @@ +2 --- cracklib2-2.8.13.orig/debian/compat +++ cracklib2-2.8.13/debian/compat @@ -0,0 +1 @@ +4 --- cracklib2-2.8.13.orig/debian/cracklib-runtime.doc-base +++ cracklib2-2.8.13/debian/cracklib-runtime.doc-base @@ -0,0 +1,11 @@ +Document: cracklib-runtime +Title: cracklib2 - utilities +Author: Jean Pierre LeJacq +Abstract: Run-time support programs which use the shared library in cracklib2 + including programs to build the password dictionary databases used by + the functions in the shared library. +Section: System/Security + +Format: HTML +Index: /usr/share/doc/cracklib-runtime/cracklib-runtime.html +Files: /usr/share/doc/cracklib-runtime/cracklib-runtime.html --- cracklib2-2.8.13.orig/debian/update-cracklib.8 +++ cracklib2-2.8.13/debian/update-cracklib.8 @@ -0,0 +1,43 @@ +.TH update\-cracklib 8 "June 09, 2003" "Martin Pitt" +.SH NAME +update\-cracklib \- Regenerate cracklib dictionary +.SH SYNOPSIS +.B update\-cracklib +.br + +.SH DESCRIPTION +.B update\-cracklib +builds a compressed and accumulated version of wordlists stored in the +directories given in cracklib's configuration file +/etc/cracklib/cracklib.conf. Programs using cracklib2 need this +database to be of any use. +.PP +By default this script is called by cron every day. + +.SH RESULT +.B +update\-cracklib +prints out two numbers: the number of words read from the ASCII +dictionaries and the number of words eventually written into the +cracklib database; if no error occurred, these should be equal. +.PP +0 is returned on success, otherwise an error message is printed to +standard error and \-1 is returned. + +.SH FILES +.TP +.B /etc/cracklib/cracklib.conf +shell script that sets +.B +cracklib_dictpath_src +which must be a space separated list of source dictionary files. + +.SH SEE ALSO +.BR cracklib (3), +.BR crack_mkdict (8) + +.SH AUTHOR +This program and manual page was written by Martin Pitt + for the Debian GNU/Linux System (but may be used by +others). + --- cracklib2-2.8.13.orig/debian/cracklib-runtime.logcheck.ignore.server +++ cracklib2-2.8.13/debian/cracklib-runtime.logcheck.ignore.server @@ -0,0 +1,2 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ cracklib: updated dictionary \(read/written words: ([0-9]+) \1\)\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ cracklib: no dictionary update necessary\.$ --- cracklib2-2.8.13.orig/debian/libcrack2.install +++ cracklib2-2.8.13/debian/libcrack2.install @@ -0,0 +1,4 @@ +debian/tmp/usr/lib/libcrack.so.2.8.0 usr/lib +debian/tmp/usr/share/cracklib/cracklib-small usr/share/cracklib +debian/tmp/usr/share/cracklib/cracklib.magic usr/share/cracklib +debian/tmp/usr/share/locale/* usr/share/locale --- cracklib2-2.8.13.orig/debian/README.source +++ cracklib2-2.8.13/debian/README.source @@ -0,0 +1,31 @@ +This package uses quilt in order to apply patches to the upstream source. +Patches are stored in debian/patches. For further details, see the man page for +quilt. + +All commands described below should be run from the top directory of the +package source tree, unless otherwise stated. + + * To generate the fully patched source, in a form ready for editing, that + would be built to create Debian packages, run: + + export QUILT_PATCHES=debian/patches + quilt push -a + + * To modify the source and save those modifications so that they will be + applied when building the package, pick a suitably informative patch file + name, for example Modify_README.source, and then run: + + export QUILT_PATCHES=debian/patches + quilt new Modify_README.source + quilt edit README.source + + This will place you in your default editor to modify the file. + Once your are done editing, save the file and run: + + quilt refresh + + * To remove source modifications that are currently being applied when + building the package, run: + + export QUILT_PATCHES=debian/patches + quilt top --- cracklib2-2.8.13.orig/debian/libcrack2-dev.links +++ cracklib2-2.8.13/debian/libcrack2-dev.links @@ -0,0 +1,2 @@ +/usr/lib/libcrack.so.2 /usr/lib/libcrack.so +/usr/share/man/man3/FascistCheck.3 /usr/share/man/man3/cracklib.3 --- cracklib2-2.8.13.orig/debian/libcrack2-dev.install +++ cracklib2-2.8.13/debian/libcrack2-dev.install @@ -0,0 +1,2 @@ +debian/tmp/usr/include/*.h usr/include +debian/tmp/usr/lib/libcrack.a usr/lib --- cracklib2-2.8.13.orig/debian/cracklib-runtime.postrm +++ cracklib2-2.8.13/debian/cracklib-runtime.postrm @@ -0,0 +1,11 @@ +#! /bin/sh + +set -e + +if [ "$1" = "purge" ]; then + rm -rf /var/cache/cracklib/ /etc/cracklib/ +fi + +#DEBHELPER# + +exit 0 --- cracklib2-2.8.13.orig/debian/crack.py +++ cracklib2-2.8.13/debian/crack.py @@ -0,0 +1,6 @@ +# +# wrapper script to provide the python-cracklib functionality with the +# module name of the older python-crack package +# +from cracklib import * + --- cracklib2-2.8.13.orig/debian/cracklib-runtime.manpages +++ cracklib2-2.8.13/debian/cracklib-runtime.manpages @@ -0,0 +1,4 @@ +debian/cracklib-format.8 +debian/update-cracklib.8 +debian/cracklib-check.8 +debian/create-cracklib-dict.8 --- cracklib2-2.8.13.orig/debian/libcrack2.postrm +++ cracklib2-2.8.13/debian/libcrack2.postrm @@ -0,0 +1,9 @@ +#! /bin/sh + +set -e + +if [ "$1" = "remove" ]; then ldconfig; fi + +#DEBHELPER# + +exit 0 --- cracklib2-2.8.13.orig/debian/libcrack2.docs +++ cracklib2-2.8.13/debian/libcrack2.docs @@ -0,0 +1,2 @@ +debian/doc/libcrack2.html +README --- cracklib2-2.8.13.orig/debian/cracklib-runtime.install +++ cracklib2-2.8.13/debian/cracklib-runtime.install @@ -0,0 +1,7 @@ +debian/cracklib.conf etc/cracklib +debian/update-cracklib usr/sbin +debian/tmp/usr/sbin/cracklib-check usr/sbin +debian/tmp/usr/sbin/cracklib-format usr/sbin +debian/tmp/usr/sbin/cracklib-packer usr/sbin +debian/tmp/usr/sbin/cracklib-unpacker usr/sbin +debian/tmp/usr/sbin/create-cracklib-dict usr/sbin --- cracklib2-2.8.13.orig/debian/control +++ cracklib2-2.8.13/debian/control @@ -0,0 +1,74 @@ +Source: cracklib2 +Section: libs +Priority: optional +Maintainer: Jan Dittberner +Uploaders: Martin Pitt +Standards-Version: 3.8.0 +Build-Depends: debhelper (>= 4.0.0), python-central (>= 0.6.7), + python-all-dev, python-all, chrpath, xmlto, quilt(>= 0.4), automake + (>= 1.10), autoconf (>=2.61), libtool +Homepage: http://sourceforge.net/projects/cracklib +XS-Python-Version: all +Vcs-Svn: svn://svn.debian.org/pkg-cracklib/cracklib2/trunk +Vcs-Browser: http://svn.debian.org/wsvn/pkg-cracklib/cracklib2/trunk/?op=log + +Package: libcrack2 +Section: libs +Architecture: any +Depends: ${shlibs:Depends} +Recommends: cracklib-runtime +Conflicts: cracklib2.6, cracklib2 (<< 2.8.12-1) +Provides: cracklib2 +Replaces: cracklib2.6, cracklib2 (<< 2.8.12-1) +Description: pro-active password checker library + Shared library for cracklib2 which contains a C function which may be + used in a passwd like program. The idea is simple: try to prevent + users from choosing passwords that could be guessed by crack by + filtering them out, at source. cracklib2 is NOT a replacement passwd + program. cracklib2 is a LIBRARY. + +Package: libcrack2-dev +Section: libdevel +Priority: extra +Architecture: any +Depends: libcrack2 (=${binary:Version}) +Recommends: cracklib-runtime +Provides: cracklib-dev, cracklib2-dev +Conflicts: cracklib-dev, cracklib2-dev (<< 2.8.12-1) +Replaces: cracklib-dev, cracklib2-dev (<< 2.8.12-1) +Description: pro-active password checker library - development + Header files, static libraries, documentation, and symbolic links + developers using cracklib2 will need. + +Package: cracklib-runtime +Section: admin +Architecture: any +Depends: ${shlibs:Depends}, libcrack2 (>=${binary:Version}), file +Recommends: wordlist +Description: runtime support for password checker library cracklib2 + Run-time support programs which use the shared library in libcrack2 + including programs to build the password dictionary databases used by + the functions in the shared library. + +Package: python-cracklib +Section: python +Priority: optional +Architecture: any +Depends: ${python:Depends}, ${shlibs:Depends}, libcrack2 + (>=${binary:Version}), python (>= 2.4) +Provides: ${python:Provides}, python-crack +Conflicts: python-crack (<< 2.8.12-1) +XB-Python-Version: ${python:Versions} +Description: Python bindings for password checker library cracklib2 + This package provides Python bindings for cracklib. It contains a pythonic + interface to cracklib's functions and some Python convenience functions. + +Package: python-crack +Section: python +Priority: extra +Architecture: all +Depends: python-cracklib +Description: transitional package from python-crack to python-cracklib + There has been a package python-crack in previous Debian + versions. This package provides an upgrade path to python-cracklib + and can be removed safely. --- cracklib2-2.8.13.orig/debian/cracklib.conf +++ cracklib2-2.8.13/debian/cracklib.conf @@ -0,0 +1,60 @@ +# copyright: +# Copyright (C) 1998, 1999 Jean Pierre LeJacq +# Modified 2003 by Martin Pitt +# +# Distributed under the GNU GENERAL PUBLIC LICENSE. +# +# description: +# Host configuration of cracklib. +# +# Defines location of database used by cracklib as well as files +# used to create this database. The database location, +# cracklib_dictpath, is compiled into the utility programs that are +# part of the cracklib-runtime package and should not be modified. +# But you should definitely add additional entries to +# cracklib_dictpath_src. The entries are separated by spaces and +# should be the fully qualified path to a file of words that +# passwords should not match. The files may optionally be compressed +# with gzip. +# +# The current configuration supports both the fsstnd 1.2 and fhs 2.0 +# standard location for dictionaries. +# +# format: +# posix shell syntax. +# +# reference: +# 1. http://www.pathname.com/fhs/2.0/fhs-toc.html +# 2. http://www.pathname.com/fhs/1.2/fsstnd-toc.html + + +# database (do not modify): + readonly cracklib_dictpath="/var/cache/cracklib/cracklib_dict" + + +# database sources: + cracklib_dictpath_src="" + + if [ -r "/usr/share/dict/cracklib" ] + then + cracklib_dictpath_src="${cracklib_dictpath_src} /usr/share/dict/cracklib" + fi + + if [ -r "/usr/local/share/dict/cracklib" ] + then + cracklib_dictpath_src="${cracklib_dictpath_src} /usr/local/share/dict/cracklib" + fi + + for i in /usr/share/dict /usr/dict /usr/local/share/dict /usr/local/dict + do + if [ -d $i ] + then + for file in $(find $i -type f -print) + do + if $(file -z -b ${file} | grep -q "text") + then + cracklib_dictpath_src="${cracklib_dictpath_src} ${file}" + fi + done + fi + done --- cracklib2-2.8.13.orig/debian/cracklib-runtime.logcheck.ignore.workstation +++ cracklib2-2.8.13/debian/cracklib-runtime.logcheck.ignore.workstation @@ -0,0 +1,2 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ cracklib: updated dictionary \(read/written words: ([0-9]+) \1\)\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ cracklib: no dictionary update necessary\.$ --- cracklib2-2.8.13.orig/debian/examples/README +++ cracklib2-2.8.13/debian/examples/README @@ -0,0 +1,17 @@ +Example for cracklib2 +--------------------- + +This example demonstrates the usage of cracklib2. Just enter a +potential password and the program will answer whether it is good, and +if not, why. + +Usage: copy Makefile and cracklib_example.c into a writable directory, +run 'make' and start 'cracklib_example'. + +You must have the package cracklib-runtime installed to actually make +it work, since otherwise cracklib has no wordlists to check against. + +cracklib-runtime also provides a test program crack_testlib(8) which +has a similar function. + +Martin Pitt --- cracklib2-2.8.13.orig/debian/examples/Makefile +++ cracklib2-2.8.13/debian/examples/Makefile @@ -0,0 +1,12 @@ +# Makefile for cracklib2 example. + +CC=gcc +CFLAGS=-g -O2 -Wall +LDFLAGS= + +cracklib_example: cracklib_example.o + $(CC) $(LDFLAGS) -o $@ -lcrack $^ + +clean: + rm -f *.o *~ cracklib_example + --- cracklib2-2.8.13.orig/debian/examples/cracklib_example.c +++ cracklib2-2.8.13/debian/examples/cracklib_example.c @@ -0,0 +1,41 @@ +/* + copyright: + Copyright (C) 1998, 1999 Jean Pierre LeJacq + Cleaned up 2003 by Martin Pitt + Adapted to new upstream 2008 by Jan Dittberner + + Distributed under the GNU GENERAL PUBLIC LICENSE. + + description: + cracklib_example - an example of using cracklib + + Nothing fancy here. Simply need to call FascistCheck() with the + potential password and the path+prefix to the dictionary database. + I'm using the path+prefix, CRACKLIB_DICTPATH, used by the + utilities in the cracklib-runtime package. FascistCheck() will + return non-NULL if the password is not selected. +*/ + + +#include +#include + +int main() +{ + char password[80U] = ""; + char const* msg; + + puts( "Example program using cracklib" ); + printf( "Enter potential password: " ); + scanf( "%79s", password ); + + msg = FascistCheck( password, NULL ); + + if( msg ) { + puts( "Please use a different password." ); + printf( "The one you have chosen is unsuitable because:\n %s\n", msg ); + } else + puts( "Good password." ); + + return 0; +} --- cracklib2-2.8.13.orig/debian/patches/series +++ cracklib2-2.8.13/debian/patches/series @@ -0,0 +1,4 @@ +01-cracklib-format-optim.patch +02-ccwarnings.patch +03-packer-dont-print-skipping-line.patch +04-enable-gettext.patch --- cracklib2-2.8.13.orig/debian/patches/04-enable-gettext.patch +++ cracklib2-2.8.13/debian/patches/04-enable-gettext.patch @@ -0,0 +1,12 @@ +--- a/util/check.c ++++ b/util/check.c +@@ -20,6 +20,9 @@ + const char *why; + int i; + ++ setlocale(LC_ALL, ""); ++ textdomain(PACKAGE); ++ + while (fgets(buf, sizeof(buf), stdin) != NULL) { + while (((i = strlen(buf)) > 0) && (i > 0)) { + if (strchr("\r\n", buf[i - 1]) != NULL) { --- cracklib2-2.8.13.orig/debian/patches/02-ccwarnings.patch +++ cracklib2-2.8.13/debian/patches/02-ccwarnings.patch @@ -0,0 +1,73 @@ +--- a/lib/packlib.c ++++ b/lib/packlib.c +@@ -15,7 +15,7 @@ + #endif + #include "packer.h" + +-static char vers_id[] = "packlib.c : v2.3p2 Alec Muffett 18 May 1993"; ++static const char vers_id[] = "packlib.c : v2.3p2 Alec Muffett 18 May 1993"; + + #define DEBUG 0 + +--- a/lib/rules.c ++++ b/lib/rules.c +@@ -4,7 +4,7 @@ + * or its effect upon hardware or computer systems. + */ + +-static char vers_id[] = "rules.c : v5.0p3 Alec Muffett 20 May 1993"; ++static const char vers_id[] = "rules.c : v5.0p3 Alec Muffett 20 May 1993"; + + #include "config.h" + #include +@@ -24,7 +24,7 @@ + int val; + char *a, *b, *c, *d, *e, *f, *g; + { +- fprintf(stderr, a, b, c, d, e, f); ++ fprintf(stderr, a, b, c, d, e, f, g); + } + #else + static void +@@ -480,7 +480,7 @@ + Debug(1, "Mangle: '>' weird argument in '%s'\n", control); + return ((char *) 0); + } +- if (strlen(area) <= limit) ++ if ( (int) strlen(area) <= limit) + { + return ((char *) 0); + } +@@ -499,7 +499,7 @@ + Debug(1, "Mangle: '<' weird argument in '%s'\n", control); + return ((char *) 0); + } +- if (strlen(area) >= limit) ++ if ( (int) strlen(area) >= limit) + { + return ((char *) 0); + } +--- a/lib/stringlib.c ++++ b/lib/stringlib.c +@@ -11,7 +11,7 @@ + #endif + #include "packer.h" + +-static char vers_id[] = "stringlib.c : v2.3p2 Alec Muffett 18 May 1993"; ++static const char vers_id[] = "stringlib.c : v2.3p2 Alec Muffett 18 May 1993"; + + char + Chop(string) +--- a/util/packer.c ++++ b/util/packer.c +@@ -17,8 +17,8 @@ + int argc; + char *argv[]; + { +- uint32_t readed; +- uint32_t wrote; ++ unsigned long readed; ++ unsigned long wrote; + PWDICT *pwp; + char buffer[STRINGSIZE]; + char *file; --- cracklib2-2.8.13.orig/debian/patches/01-cracklib-format-optim.patch +++ cracklib2-2.8.13/debian/patches/01-cracklib-format-optim.patch @@ -0,0 +1,14 @@ +--- a/util/cracklib-format ++++ b/util/cracklib-format +@@ -4,9 +4,7 @@ + # into cracklib-packer + # + gzip -cdf "$@" | ++ grep -v '^\(#\|$\)' | + tr '[A-Z]' '[a-z]' | + tr -cd '\012[a-z][0-9]' | +- sort | +- uniq | +- grep -v '^#' | +- grep -v '^$' ++ sort -u --- cracklib2-2.8.13.orig/debian/patches/03-packer-dont-print-skipping-line.patch +++ cracklib2-2.8.13/debian/patches/03-packer-dont-print-skipping-line.patch @@ -0,0 +1,10 @@ +--- a/util/packer.c ++++ b/util/packer.c +@@ -57,7 +57,6 @@ + + if (!buffer[0]) + { +- fprintf(stderr, "skipping line: %u\n", readed); + continue; + } +