]> err.no Git - dpkg/commitdiff
Import tests from Parse::DebianChangelog
authorFrank Lichtenheld <djpig@debian.org>
Fri, 30 Nov 2007 16:40:14 +0000 (17:40 +0100)
committerFrank Lichtenheld <djpig@debian.org>
Fri, 30 Nov 2007 22:36:29 +0000 (23:36 +0100)
scripts/t/600_Dpkg_Changelog.t [new file with mode: 0644]
scripts/t/600_Dpkg_Changelog/countme [new file with mode: 0644]
scripts/t/600_Dpkg_Changelog/misplaced-tz [new file with mode: 0644]
scripts/t/600_Dpkg_Changelog/shadow [new file with mode: 0644]

diff --git a/scripts/t/600_Dpkg_Changelog.t b/scripts/t/600_Dpkg_Changelog.t
new file mode 100644 (file)
index 0000000..bc52339
--- /dev/null
@@ -0,0 +1,250 @@
+# -*- perl -*-
+# Before `make install' is performed this script should be runnable with
+# `make test'. After `make install' it should work as `perl Parse-DebianChangelog.t'
+
+#########################
+
+# change 'tests => 1' to 'tests => last_test_to_print';
+
+use strict;
+use warnings;
+
+use File::Basename;
+use XML::Simple;
+
+BEGIN {
+    my $no_examples = 3;
+    my $no_err_examples = 1;
+    my $no_tests = $no_examples * 13
+       + $no_err_examples * 2
+       + 49;
+
+    require Test::More;
+    import Test::More tests => $no_tests, ;
+}
+BEGIN {
+    use_ok('Parse::DebianChangelog');
+    use_ok('Parse::DebianChangelog::ChangesFilters', ':all' );
+};
+
+#########################
+
+my $test = Parse::DebianChangelog->init( { infile => '/nonexistant',
+                                          quiet => 1 } );
+ok( !defined($test), "fatal parse errors lead to init() returning undef");
+
+my $save_data;
+foreach my $file (qw(Changes t/examples/countme t/examples/shadow)) {
+
+    my $changes = Parse::DebianChangelog->init( { infile => $file,
+                                                 quiet => 1 } );
+    my $errors = $changes->get_parse_errors();
+    my $basename = basename( $file );
+
+#    use Data::Dumper;
+#    diag(Dumper($changes));
+
+    ok( !$errors, "Parse example changelog $file without errors" );
+
+    my @data = $changes->data;
+
+    ok( @data, "data is not empty" );
+
+    my $html_out = $changes->html( { outfile => "t/$basename.html.tmp",
+                                    template => "tmpl/default.tmpl" } );
+
+    is( `tidy -qe t/$basename.html.tmp 2>&1`, '',
+       'Generated HTML has no tidy errors' );
+
+    ok( ($changes->delete_filter( 'html::changes',
+                                 \&common_licenses ))[0]
+       == \&common_licenses );
+    ok( ! $changes->delete_filter( 'html::changes',
+                                  \&common_licenses ) );
+
+    $changes->html( { outfile => "t/$basename.html.tmp.2",
+                     template => "tmpl/default.tmpl" } );
+    is( `tidy -qe t/$basename.html.tmp.2 2>&1`, '',
+       'Generated HTML has no tidy errors' );
+
+    $changes->add_filter( 'html::changes',
+                         \&common_licenses );
+
+    my $html_out2 = $changes->html();
+
+    # remove timestamps since they will differ
+    $html_out =~ s/Generated .*? by//go;
+    $html_out2 =~ s/Generated .*? by//go;
+
+    is( $html_out, $html_out2 )
+       and unlink "t/$basename.html.tmp", "t/$basename.html.tmp.2";
+
+    my $str = $changes->dpkg_str();
+
+    is( $str, `dpkg-parsechangelog -l$file`,
+       'Output of dpkg_str equal to output of dpkg-parsechangelog' );
+
+    if ($file eq 't/examples/countme') {
+       $save_data = $changes->rfc822_str({ all => 1 });
+
+       # test range options
+       cmp_ok( @data, '==', 7, "no options -> count" );
+       my $all_versions = join( '/', map { $_->Version } @data);
+
+       sub check_options {
+           my ($changes, $data, $options, $count, $versions,
+               $check_name) = @_;
+
+           my @cnt = $changes->data( $options );
+           cmp_ok( @cnt, '==', $count, "$check_name -> count" );
+           if ($count == @$data) {
+               is_deeply( \@cnt, $data, "$check_name -> returns all" );
+
+           } else {
+               is( join( "/", map { $_->Version } @cnt),
+                   $versions, "$check_name -> versions" );
+           }
+       }
+
+       check_options( $changes, \@data,
+                      { count => 3 }, 3, '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2',
+                      'positve count' );
+       check_options( $changes, \@data,
+                      { count => -3 }, 3,
+                      '1:2.0~rc2-1sarge2/1:2.0~rc2-1sarge1/1.5-1',
+                      'negative count' );
+       check_options( $changes, \@data,
+                      { count => 1 }, 1, '2:2.0-1',
+                      'count 1' );
+       check_options( $changes, \@data,
+                      { count => 1, default_all => 1 }, 1, '2:2.0-1',
+                      'count 1 (d_a 1)' );
+       check_options( $changes, \@data,
+                      { count => -1 }, 1, '1.5-1',
+                      'count -1' );
+
+       check_options( $changes, \@data,
+                      { count => 3, offset => 2 }, 3,
+                      '1:2.0~rc2-2/1:2.0~rc2-1sarge3/1:2.0~rc2-1sarge2',
+                      'positve count + positive offset' );
+       check_options( $changes, \@data,
+                      { count => -3, offset => 4 }, 3,
+                      '1:2.0~rc2-3/1:2.0~rc2-2/1:2.0~rc2-1sarge3',
+                      'negative count + positive offset' );
+
+       check_options( $changes, \@data,
+                      { count => 4, offset => 5 }, 2,
+                      '1:2.0~rc2-1sarge1/1.5-1',
+                      'positve count + positive offset (>max)' );
+       check_options( $changes, \@data,
+                      { count => -4, offset => 2 }, 2,
+                      '2:2.0-1/1:2.0~rc2-3',
+                      'negative count + positive offset (<0)' );
+
+       check_options( $changes, \@data,
+                      { count => 3, offset => -4 }, 3,
+                      '1:2.0~rc2-1sarge3/1:2.0~rc2-1sarge2/1:2.0~rc2-1sarge1',
+                      'positve count + negative offset' );
+       check_options( $changes, \@data,
+                      { count => -3, offset => -3 }, 3,
+                      '1:2.0~rc2-3/1:2.0~rc2-2/1:2.0~rc2-1sarge3',
+                      'negative count + negative offset' );
+
+       check_options( $changes, \@data,
+                      { count => 5, offset => -2 }, 2,
+                      '1:2.0~rc2-1sarge1/1.5-1',
+                      'positve count + negative offset (>max)' );
+       check_options( $changes, \@data,
+                      { count => -5, offset => -4 }, 3,
+                      '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2',
+                      'negative count + negative offset (<0)' );
+
+       check_options( $changes, \@data,
+                      { count => 7 }, 7, '',
+                      'count 7 (max)' );
+       check_options( $changes, \@data,
+                      { count => -7 }, 7, '',
+                      'count -7 (-max)' );
+       check_options( $changes, \@data,
+                      { count => 10 }, 7, '',
+                      'count 10 (>max)' );
+       check_options( $changes, \@data,
+                      { count => -10 }, 7, '',
+                      'count -10 (<-max)' );
+
+       check_options( $changes, \@data,
+                      { from => '1:2.0~rc2-1sarge3' }, 4,
+                      '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2/1:2.0~rc2-1sarge3',
+                      'from => "1:2.0~rc2-1sarge3"' );
+       check_options( $changes, \@data,
+                      { since => '1:2.0~rc2-1sarge3' }, 3,
+                      '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2',
+                      'since => "1:2.0~rc2-1sarge3"' );
+       check_options( $changes, \@data,
+                      { to => '1:2.0~rc2-1sarge2' }, 3,
+                      '1:2.0~rc2-1sarge2/1:2.0~rc2-1sarge1/1.5-1',
+                      'to => "1:2.0~rc2-1sarge2"' );
+       check_options( $changes, \@data,
+                      { until => '1:2.0~rc2-1sarge2' }, 2,
+                      '1:2.0~rc2-1sarge1/1.5-1',
+                      'until => "1:2.0~rc2-1sarge2"' );
+       #TODO: test combinations
+    }
+
+    if ($file eq 'Changes') {
+       my $v = $data[0]->Version;
+       $v =~ s/[a-z]$//;
+       cmp_ok( $v, 'eq', $Parse::DebianChangelog::VERSION,
+               'version numbers in module and Changes match' );
+    }
+
+    my $oldest_version = $data[-1]->Version;
+    $str = $changes->dpkg_str({ since => $oldest_version });
+
+    is( $str, `dpkg-parsechangelog -v$oldest_version -l$file`,
+       'Output of dpkg_str equal to output of dpkg-parsechangelog' )
+       or diag("oldest_version=$oldest_version");
+
+    $str = $changes->rfc822_str();
+
+    ok( 1 );
+
+    $str = $changes->rfc822_str({ since => $oldest_version });
+
+    ok( 1 );
+
+    $str = $changes->xml( { outfile => "t/$basename.xml.tmp" });
+
+    ok( XMLin($str, ForceArray => {},
+             KeyAttr => {} ), "can read in the result of XMLout" );
+    ok( (-s "t/$basename.xml.tmp") == length($str) );
+
+    unlink( "t/$basename.xml.tmp" );
+
+}
+
+open CHANGES, '<', 't/examples/countme';
+my $string = join('',<CHANGES>);
+
+my $str_changes = Parse::DebianChangelog->init( { instring => $string,
+                                                 quiet => 1 } );
+my $errors = $str_changes->get_parse_errors();
+ok( !$errors,
+    "Parse example changelog t/examples/countme without errors from string" );
+
+my $str_data = $str_changes->rfc822_str({ all => 1 });
+is( $str_data, $save_data,
+    "Compare result of parse from string with result of parse from file" );
+
+
+foreach my $test (( [ 't/examples/misplaced-tz', 6 ])) {
+
+    my $file = shift @$test;
+    my $changes = Parse::DebianChangelog->init( { infile => $file,
+                                                 quiet => 1 } );
+    my @errors = $changes->get_parse_errors();
+
+    ok( @errors, 'errors occoured' );
+    is_deeply( [ map { $_->[1] } @errors ], $test, 'check line numbers' );
+
+}
diff --git a/scripts/t/600_Dpkg_Changelog/countme b/scripts/t/600_Dpkg_Changelog/countme
new file mode 100644 (file)
index 0000000..166b72f
--- /dev/null
@@ -0,0 +1,41 @@
+countme (2:2.0-1) unstable; urgency=low
+
+  * Final
+
+ -- Frank Lichtenheld <frank@lichtenheld.de>  Tue,  4 Oct 2005 01:49:05 +0200
+
+countme (1:2.0~rc2-3) unstable; urgency=low
+
+  * kadabra
+
+ -- Frank Lichtenheld <frank@lichtenheld.de>  Tue,  4 Oct 2005 01:48:05 +0200
+
+countme (1:2.0~rc2-2) unstable; urgency=low
+
+  * Abra
+
+ -- Frank Lichtenheld <frank@lichtenheld.de>  Tue,  4 Oct 2005 01:47:48 +0200
+
+countme (1:2.0~rc2-1sarge3) unstable; urgency=low
+
+  * Baz
+
+ -- Frank Lichtenheld <frank@lichtenheld.de>  Tue,  4 Oct 2005 01:47:19 +0200
+
+countme (1:2.0~rc2-1sarge2) unstable; urgency=low
+
+  * Bar
+
+ -- Frank Lichtenheld <frank@lichtenheld.de>  Tue,  4 Oct 2005 01:47:08 +0200
+
+countme (1:2.0~rc2-1sarge1) unstable; urgency=low
+
+  * Foo
+
+ -- Frank Lichtenheld <frank@lichtenheld.de>  Tue,  4 Oct 2005 01:46:49 +0200
+
+countme (1.5-1) unstable; urgency=low
+
+  * Initial
+
+ -- Frank Lichtenheld <frank@lichtenheld.de>  Thu, 01 Jan 1970 00:00:00 +0000
diff --git a/scripts/t/600_Dpkg_Changelog/misplaced-tz b/scripts/t/600_Dpkg_Changelog/misplaced-tz
new file mode 100644 (file)
index 0000000..39dc8e3
--- /dev/null
@@ -0,0 +1,12 @@
+error-tz (1.1-1) unstable; urgency=low
+
+  * 
+
+ -- Frank Lichtenheld <djpig@debian.org>  Mon, 16 Jul 2007 02:54:18 +0200
++0200
+
+error-tz (1.0-1) unstable; urgency=low
+
+  * 
+
+ -- Frank Lichtenheld <djpig@debian.org>  Mon, 16 Jul 2007 02:54:18 +0200
diff --git a/scripts/t/600_Dpkg_Changelog/shadow b/scripts/t/600_Dpkg_Changelog/shadow
new file mode 100644 (file)
index 0000000..8863a50
--- /dev/null
@@ -0,0 +1,1755 @@
+shadow (1:4.0.3-36) unstable; urgency=low
+
+  * Debian specific programs fixes:
+    - Re-enable logging and displaying failures on login when login is
+      compiled with PAM and when FAILLOG_ENAB is set to yes. And create the
+      faillog file if it does not exist on postinst (as on Woody).
+      Closes: #192849
+    - do not localize login's syslog messages.
+  * Debian packaging fixes:
+    - Fix FTBFS with new dpkg 1.13 and use a correct dpkg-architecture
+      invocation. Closes: #314407
+    - Add a comment about potential sensitive information exposure
+      when LOG_UNKFAIL_ENAB is set in login.defs
+      Closes: #298773
+    - Remove limits.5 and limits.conf.5 man pages which do not
+      reflect the way we deal with limits in Debian
+      Closes: #288106, #244754
+    - debian/login.defs:
+      - Make SU_PATH and PATH consistent with the values used in /etc/profile
+        Closes: #286616
+      - Comment the UMASK setting which is more confusing than useful
+        as it only affects console logins. Better use pam_umask instead
+        Closes: #314539, #248150
+      - Add a comment about "appropriate" values for umask
+        Closes: #269583
+      - Correct the assertion about the variable defined by QMAIL_DIR
+        which is MAILDIR, not MAIL
+        Closes: #109279
+      - Move the PASS_MAX_LEN variable at the end of login.defs as this
+        is obsoleted when using PAM
+        Closes: #87301
+    - debian/passwd.config:
+      - Re-enable the password confirmation question at critical priority
+        Closes: #304350
+      - Do no prompt again for the login name when the two passwords don't
+        match while creating a new user
+        Closes: #245332
+    - debian/add-shell.sh, debian/remove-shell.sh, debian/shadowconfig.sh,
+      debian/passwd.config, debian/passwd.postinst:
+      - checked for bashisms, replaced "#!/bin/bash" with "#!/bin/sh",
+        Closes: #315767
+      - replaced "test XXX -a YYY" XSI:isms with "test XXX && test YYY",
+        for rationale see:
+        http://www.opengroup.org/onlinepubs/009695399/utilities/test.html
+      - replaced all unneeded "egrep"s with basic "grep"s
+        Closes: #256732
+    - debian/rules:
+      Remove the setuid bit on login
+      Closes: #298060
+    - debian/passwd.templates:
+      Templates rewrite to shorten them down a little and make them DTSG
+      compliant. Give more details about what the user's full name is used
+      for.
+      Closes: #287410
+    - Updated to Standards: 3.6.2 (checked)
+  * Debconf translation updates:
+    - Estonian added. Closes: #312471
+    - Basque updated. Closes: #314303
+    - Malagasy updated. Closes: #290842
+    - Punjabi updated. Closes: #315372
+    - Danish updated. Closes: #315378
+    - Polish updated. Closes: #315391
+    - Japanese updated. Closes: #315407
+    - Brazilian Portuguese updated. Closes: #315426
+    - Czech updated. Closes: #315429
+    - Spanish updated. Closes: #315434
+    - Lithuanian updated. Closes: #315483
+    - Galician updated. Closes: #315362
+    - Portuguese updated. Closes: #315375
+    - Simplified Chinese updated. Closes: #315567
+    - French updated
+    - Ukrainian updated. Closes: #315727
+    - Welsh updated. Closes: #315809
+    - Slovak updated. Closes: #315812
+    - Romanian updated. Closes: #315783
+    - Finnish updated. Closes: #315972
+    - Catalan updated. Closes: #316026
+  * Man pages translation updates:
+    - Remove the too outdated Korean translation of newgrp.1
+      which doesn't even mention sg
+      Closes: #261490
+  * Man pages correction for Debian specific issues:
+    - 402_usermod.8-system-users-range-286258:
+      Document the system user range from 0 to 999 in Debian
+      Closes: #286258
+  * Upstream bugs not fixed in upstream releases or CVS:
+    - 423_su_pass_args_without_concatenation
+      Thanks to Helmut Waitzmann.
+      Closes: #276419
+      * pass the argument to the shell or command without concatenation
+        before the call to exec.
+      * If no command is provided, the arguments after the username are for
+        the shell, no -c has to be appended.
+    - 008_su_ignore_SIGINT
+      * Also ignore SIGQUIT in su to avoid defeating the delay.
+        The gain in security is very minor.
+        Closes: #288827
+    - 424_pwck.8_quiet_option
+      pwck(8): document the -q option. Closes: #309408
+    - 425_lastlog_8_sparse
+      lastlog(8): Document that lastlog is a sparse file, and don't need to be
+      rotated. Closes: #219321
+    - 426_grpck_group-gshadow_members_consistency
+      * (grpck) warn for inconsistencies between members in /etc/group and gshadow
+        Closes: #75181
+      * (pwck and grpck) warn and propose a fix for entries present in the
+        regular /etc/group or /etc/passwd files and not in shadow/gshadow.
+    - 427_chage_expiry_0
+      Fix chage display in the case of null expiry fields (do not display
+      Never, but 01 Jan 1970)
+      Closes: #78961
+  * Upstream bugs already fixed in upstream releases or CVS:
+    - Corrected typos in chfn.1. Closes: #312428
+    - Corrected typos in gshadow.5. Closes: #312429
+    - Corrected typos in shadow.5. Closes: #312430
+    - Corrected typos in grpck.8. Closes: #312431
+    - Added patch (356th) for su to propagate SIGSTOP up and SIGCONT down.
+      Added similar patch (357th) for newgrp. Both changes only affect
+      operation with CLOSE_SESSION set to yes (in /etc/login.defs).
+      Closes: #314727
+  * Translation updates:
+    - debian/patches/010_more-i18ned-messages
+      - More messages are translatable. We will deal with the translation
+        updates after syncing with upstream.
+        Closes: #266281
+    - debian/patches/114_eu:
+      - Basque translation update. Closes: #314423
+    - debian/patches/132_vi.dpatch:
+      - Vietnamese translation update. Closes: #315840
+ -- Christian Perrier <bubulle@debian.org>  Mon, 20 Jun 2005 23:37:56 +0300
+
+shadow (1:4.0.3-35) unstable; urgency=low
+
+  * Re-apply the debian/patches/036_CAN-2004-1001_passwd_check patch
+    which fixed the "Adjusted password check to fix authentication bypass"
+    security issue (CAN-2004-1001)
+  * Debian packaging fixes:
+    - Add --host to config_options on cross build. Patch from NIIBE Yutaka.
+      Closes: #283729
+    - Enable login for GNU/Hurd in rules. First patch from Robert Millan.
+      Closes: #249372
+    - Cleanup passwd debconf stuff as md5 passwords are assumed since
+      1:4.0.3-19 and the resolution of #223664.
+    - Document the TTYPERM variable set to 0600 in the default login.defs file
+      Closes: #59439
+    - Make login and su use limits.so PAM module by default
+      (change made in sarge branch also)
+      Closes: #300720
+    - debian/rules: Add removal of config.log in the clean target
+    - debian/control: 
+      - Add Martin to Uploaders
+      - Remove Sam Hartman from Uploaders. The team is now setup and this
+        does not really have a real meaning now. You're still welcome for
+        NMU's, Sam, and thanks for the good work.
+    - Switching from dpatch to quilt.
+  * Debconf translation updates:
+    - Portuguese spellchecked by Miguel Figueiredo
+    - Punjabi (Gumurkhi) added, by Amanpreet Singh Alam. Closes: #309800
+  * Man pages translation updates:
+    - German completed by reference to original man page
+      Closes: #311554
+  * Debian specific programs fixes:
+    - NONE
+  * Upstream bugs not fixed in upstream releases or CVS:
+    - 421_login.1_pishing:
+      Document how to initiate a trusted path under Linux
+      Closes: #305600
+    - set CLOSE_SESSIONS to yes in login.defs, and document why.
+      Closes: #163635
+  * Upstream bugs already fixed in upstream releases or CVS:
+    - 324_configure.in-no-debian-dir:
+      Separated from 004_configure.in : this change will not be needed when
+      syncing with upstream
+    - 325_gshadow_5_manpage:
+      Add a gshadow.5 man page, and clarifications in the newgrp and gpasswd
+      man pages.
+      Closes: #113191, #166173, #169046, #251926
+    - 326_su.1_pwconv.8-typos:
+      Correct typos in su.1 and pwconv.8 man pages.
+      Closes: #309666
+  * Translation updates:
+    - 004_configure.in, 100_LINGUAS
+      Add Vietnamese to LINGUAS. Patch for LINGUAS in configure.in moved
+      from 004_configure.in to the new 100_LINGUAS patch
+    - 101_cs: Czech updated by Miroslav Kure
+      Closes: #308658
+    - 102_de: German updated by Dennis Stampfer
+    - 104_fr: French updated by Jean-Luc Coulon
+      Closes: #308909
+    - 111_ca: Catalan completed by Guillem Jover
+      Closes: #309212
+    - 108_sv: Swedish completed with the help of Magnus Holmgren
+              Encoding issues fixed
+              Closes: #309380
+    - 109_uk: Ukrainian completed by Eugeniy Meshcheryakov
+      Closes: #308647
+    - 120_nl: Dutch updated by Bart Cornelis
+      Closes: #308662
+    - 124_ru: Russian updated by Yuri Kozlov
+      Closes: #308839
+    - 129_ru: Romanian updated by Sorin Bataruc
+      Closes: #308921
+    - 130_zh_TW: Tradition Chinese updated by Tetralet
+      Closes: #311588
+    - 131_tl: Tagalog updated by Eric Pareja
+      Closes: #310386
+    - 132_vi: Correct file used for Vietnamese tanslation
+      Closes: #306614, #307251, #307262, #308479
+
+ -- Christian Perrier <bubulle@debian.org>  Fri,  3 Jun 2005 07:32:07 +0200
+
+shadow (1:4.0.3-34) unstable; urgency=low
+
+  * Debian packaging fixes:
+    - NONE
+  * Debian specific programs fixes:
+    - NONE
+  * Upstream bugs not fixed in upstream releases or CVS:
+    - 406_good_name:
+      - relaxed user/group names checking is now fixed and accepts
+        _only_ names matching '^[^-:\n][^:\n]*$'
+        Closes: #264879, #308478
+  * Upstream bugs already fixed in upstream releases or CVS:
+    - 311_high-uids.dpatch:
+      - Add large file support to lastlog and faillog. Closes: #280212
+  * Translation updates:
+    - 132_vi:
+      Vietnamese programs translation added (from upstream CVS)
+      Closes: #308479
+    - 118_it:
+      Italian programs translation updated
+      Closes: #308327
+
+ -- Christian Perrier <bubulle@debian.org>  Tue, 10 May 2005 18:24:12 +0200
+
+shadow (1:4.0.3-33) unstable; urgency=low
+
+  * The "Don't believe lintian blindly" release
+  * Urgency left to low because RC bug fixed but we leave priority
+    to sarge-targeted work
+  * Debian packaging fixes:
+    - Remove CVS id tag from the supplied login.defs file
+      Closes: #308019
+    - revert dependency on debconf which would make it required
+      Closes: #308145
+    - Add the missing add-shell, remove-shell, cppw and cpgr
+      (Debian specific) man pages
+      Closes: #162241
+    - make lintian ignore warnings about missing debconf dependency
+      in passwd.lintian-overrides
+  * Debian specific programs fixes:
+    - NONE
+  * Upstream bugs not already fixed in upstream releases or CVS:
+    - NONE
+  * Upstream bugs already fixed in upstream releases or CVS:
+    - 313_pam_access_with_preauth:
+      - allow PAM account authorization when preauthenticated
+        Closes: #193869
+    - 314_passwd.1_formatting:
+      - minor formatting fixes of passwd(1) man page
+        Closes: #304447
+    - 315_chage.1_document_expiration_removal:
+      - document expiration removal in chage(1)
+        Closes: #304542
+    - 316_vipw-race-242407:
+      - make vipw to remove /etc/{passwd|shadow|group|gshadow}.edit
+        and only then unlock
+        Closes: #242407
+    - 317_lastlog_usage_249611:
+      - Fix the lastlog usage and all the translations accordingly
+        (--user instead of --login).
+        Closes: #249611
+    - 323_passwd.1-typo:
+      - correct a typo in passwd(1) man page. Closes: #302740
+
+ -- Christian Perrier <bubulle@debian.org>  Sun,  8 May 2005 14:32:20 +0200
+
+shadow (1:4.0.3-32) unstable; urgency=low
+
+  * Switch to dpatch for upstream patches
+    This should bring more clarity to modifications
+    we make to upstream sources and help integrating
+    new upstream releases
+    Old patches have been moved quite roughly to
+    debian/patches
+  * Modified debian/rules for "Calling GNU configure properly", see
+    /usr/share/doc/autotools-dev/README.Debian.gz
+  * Debian packaging fixes:
+    - Lintian fixes:
+      - Description synopsis initial capital letters removed
+      - passwd now depends on debconf (>=0.5.00) as it uses the seen flag
+      - add login.lintian-overrides and passwd.lintian-overrides
+        files to mention setuid and setgid files and avoid lintian warning
+        about them
+    - debian/pam.d/login:
+      - Remove the confusing comment about "nullok". Closes: #207816
+    - debian/rules:
+      - Add call for dh_installdirs
+    - debian/passwd.dirs:
+      - Added
+    - debian/login.dirs:
+      - Added
+  * Debian specific programs fixes:
+    - fixed /usr/sbin/remove-shell bug with handling of non-existing/empty
+      /etc/shells file. Closes: #271565
+  * GNU config automated update: config.sub (20010907 to 20050422),
+    config.guess (20010904 to 20050422)
+
+ -- Christian Perrier <bubulle@debian.org>  Tue,  3 May 2005 11:53:12 +0200
+
+shadow (1:4.0.3-31sarge3) unstable; urgency=low
+
+  * The "please buy me a brain" release
+  * *Really* shorten down the Dutch debconf translation for the root password
+    input so that it fits in one screen. Closes: #277750
+  * man/usermod.8: *Really* document -o option in usermod
+                  Closes: #302388
+  * man/fr/po4a/fr: Removed. This directory only clutters up the diff
+                   and is not used during the build process
+  * man/de/passwd.1: Updated. Closes: #304757
+  * man/de/chsh.1: Updated.
+  * man/it/*: All files updated. Closes: #305095
+  * Translation updates:
+    - Portuguese (from the translation file sent for 4.0.8 upstream)
+      Closes: #305257
+
+ -- Christian Perrier <bubulle@debian.org>  Tue, 19 Apr 2005 19:31:43 +0200
+
+shadow (1:4.0.3-31sarge2) unstable; urgency=low
+
+  * Shorten down the Dutch debconf translation for the root password
+    input so that it fits in one screen. Closes: #277750
+  * man/usermod.8: Document -o option in usermod
+                   Closes: #302388
+
+ -- Christian Perrier <bubulle@debian.org>  Mon,  4 Apr 2005 20:28:47 +0200
+
+shadow (1:4.0.3-31sarge1) unstable; urgency=high
+
+  * Urgency set to high because of RC bug fixed. Reuploaded
+    because I messed up with the changelog first. Use this occasion
+    to start a sarge series just in case. Changes below were made
+    in the former version already.
+  * Avoid package file conflicts for woody->sarge upgrade:
+    - Add manpages-it and manpages-ko to Replaces: for login
+    - Remove manpages-de from Replaces: for login (useless)
+    - Improve readability of the Replaces line for passwd
+    Closes: #299549
+
+ -- Christian Perrier <bubulle@debian.org>  Tue, 15 Mar 2005 13:55:34 +0100
+
+shadow (1:4.0.3-31) unstable; urgency=low
+
+  * New maintainer
+
+ -- Christian Perrier <bubulle@debian.org>  Fri, 11 Mar 2005 19:28:38 +0100
+
+shadow (1:4.0.3-30.10) unstable; urgency=low
+
+  * Non-maintainer upload targeted at sarge.
+  * Programs translations:
+    - Greek updated. Closes: #293911
+    - French updated. Closes: #294330
+  * Debconf translations:
+    - Galician updated. Closes: #295543
+
+ -- Christian Perrier <bubulle@debian.org>  Mon,  7 Feb 2005 08:18:56 +0100
+
+shadow (1:4.0.3-30.9) unstable; urgency=low
+
+  * Non-maintainer upload targeted at sarge.
+  * Programs translations:
+    - German updated. Closes: #291703
+    - Tagalog added. Closes: #292353
+    - Korean updated.
+
+ -- Christian Perrier <bubulle@debian.org>  Sun, 23 Jan 2005 09:30:49 +0100
+
+shadow (1:4.0.3-30.8) unstable; urgency=low
+
+  * Non-maintainer upload targeted at sarge.
+  * Debconf translations:
+    - Tagalog added. Closes: #289837
+  * Programs translations:
+    - Traditional Chinese added. Closes: #288879
+
+ -- Christian Perrier <bubulle@debian.org>  Tue, 11 Jan 2005 11:39:18 +0100
+
+shadow (1:4.0.3-30.7) unstable; urgency=low
+
+  * Non-maintainer upload targeted at sarge.
+  * Resolv conflict with manpage-spl in login
+    as well as passwd. Thanks to Robert Luberda for
+    the notice
+
+ -- Christian Perrier <bubulle@debian.org>  Thu, 23 Dec 2004 22:23:11 +0100
+
+shadow (1:4.0.3-30.6) unstable; urgency=low
+
+  * Revert back to Ian Gulliver genuine patch
+    to chpasswd. Update man page accordingly.
+    Closes: #283961 
+    (again)
+  * Programs translations
+    - German updated. Closes: #286522
+  * Debconf translations
+    - German updated. Closes: #286522
+
+ -- Christian Perrier <bubulle@debian.org>  Mon, 20 Dec 2004 23:51:39 +0100
+
+shadow (1:4.0.3-30.5) unstable; urgency=high
+
+  * Non-maintainer upload targeted at sarge.
+    Fix release critical bug
+  * Resolve conflict with woody's manpages-pl package
+    which prevent woody->sarge upgrade if
+    manpages-pl was installed
+    Closes: #284239
+  * Programs translations
+    - Romanian added. Closes: #284338
+  * Add MD5 support to chpasswd
+    Thanks to Ian Gulliver for the patch
+    Closes: #283961
+  * Correct typos in man pages
+    Thanks to Nicolas François for the patch
+    Closes: #141322
+  * Replace "C/" with "../../" in man/fr/shadow.conf
+    for best integration in the package build process
+
+ -- Christian Perrier <bubulle@debian.org>  Thu, 16 Dec 2004 21:48:56 +0100
+
+shadow (1:4.0.3-30.4) unstable; urgency=low
+
+  * Non-maintainer upload targeted at sarge.
+    Localisation and d-i related updates only
+  * Programs translations
+    - Albanian (very partial) added.
+  * Debconf translations
+    - Hindi added. Closes: #282443
+    - Malagasy added. Closes: #282580
+    - Albanian added. Closes: #282160
+
+ -- Christian Perrier <bubulle@debian.org>  Thu, 25 Nov 2004 07:21:53 +0100
+
+shadow (1:4.0.3-30.3) unstable; urgency=high
+
+  * Non-maintainer upload: security fix using the woody patch
+    by the Security Team
+  * Adjusted password check to fix authentication bypass
+    [debian/patches/036_CAN-2004-1001_passwd_check]
+  * Debconf translations
+    - Brazilian Portuguese updated. Closes: #278051
+    - Norwegian Bokmal fixed. Closes: #277563
+  * Programs translations
+    - Indonesian updated. Closes: #277751, #277741
+
+ -- Christian Perrier <bubulle@debian.org>  Tue,  2 Nov 2004 22:28:26 +0100
+
+shadow (1:4.0.3-30.2) unstable; urgency=low
+
+  * Non-maintainer upload targeted at sarge.
+    Localisation and d-i related updates only
+  * Debconf translations
+    - Macedonian added. Closes: #275781
+    - Slovakian updated. Closes: #273585
+    - Slovenian added.
+  * Man pages translations
+    - German for vipw.8/vigr.8. Closes: #260645
+  * Fix preseeding for d-i : do not mark debconf templates as seen
+    Also remove the hack for Joey Hess login name..:)
+    Closes: #271407
+  * Ask for the user full name at critical priority so that
+    it is never empty. Closes: #257700
+
+ -- Christian Perrier <bubulle@debian.org>  Sun, 10 Oct 2004 19:02:50 +0200
+
+shadow (1:4.0.3-30.1) unstable; urgency=low
+
+  * Non-maintainer upload targeted at sarge. Localisation updates only
+  * Debconf translations
+    - Arabic added. Closes: #261022
+    - Swedish updated. Closes: #261553
+    - Bulgarian added. Closes: #262928
+    - Brazilian Portuguese updated. Closes: #263957
+    - Simplified Chinese updated. Closes: #268646
+    - Traditional Chinese updated. Closes: #268151
+    - German updated. Closes: #268051
+    - Basque synced with templates.pot
+  * Programs translations
+    - Swedish updated. Closes: #261553
+    - Russian updated. Closes: #268412
+    - Norwegian Bokmal updated. Closes: #269907
+    - Norwegian Nynorsk updated. Closes: #269907
+    - Hebrew updated. Closes: #269967
+    - Danish updated. Closes: #270083
+    - Catalan updated. Closes: #254956
+  * Man pages translations
+    - French translation completely rewritten and reviewed
+      Closes: #270168
+    - Add expiry.1 and limits.conf.5 to the list of installed man
+      pages (add two lines to passwd.files and one to rules)
+      From #270168 also.
+
+ -- Christian Perrier <bubulle@debian.org>  Tue,  7 Sep 2004 20:20:21 +0200
+
+shadow (1:4.0.3-30) unstable; urgency=high
+  * Attempt to fix FTBFS and dependency problems on hurd. Closes: #235641
+  * don't run dh_undocumented anymore as it has become angstful.
+
+  * Thanks to Christian Perrier:
+  * Debconf translations
+    - Brazilian updated. Closes: #261387
+    - Croatian added. Closes: #261418
+    - Minor corrections fo ja.po and pl.po headers
+  * Programs translations
+    - Dutch updated. Closes: #260361
+    - Hebrew added. Closes: #260722
+  * Urgency set to high because of RC bug fixed:
+  * Correct check for root password being already set in passwd.config
+    Closes: #260799
+
+  * Acknowledge 29.1 NMU: 
+    Closes: #256664, #257949, #258241, #258563, #258566, #258957,
+    #190567, #259389, #260223, #257949, #259663, #259827
+
+ -- Karl Ramm <kcr@debian.org>  Tue, 27 Jul 2004 09:38:32 -0400
+
+shadow (1:4.0.3-29.1) unstable; urgency=low
+
+  * NMU with maintainer consent
+  * Programs translations
+    - Greek updated. Closes: #256664
+    - Finnish updated. Closes: #257949
+    - Spanish updated. Closes: #258241
+    - Polish updated. Closes: #258563
+    - Indonesian added (configure.in changed accordingly). Closes: #258566
+    - French updated. Closes: #258957, #190567
+    - Slovak updated. Closes: #259389
+    - Portuguese updated. Closes: #260223
+  * Debconf translations
+    - Finnish updated. Closes: #257949
+  * Typo correction in su.1 man page. Closes: #259663
+  * Removed malloc definition in libmisc/xmalloc.c
+    Closes: #259827
+  * Lintian-driven corrections
+    - Corrected section number in several man pages:
+      - grpck.8
+      - pwck.8
+      - ja/grpck.8
+      - pl/grpck.8
+      - pl/pwck.8
+    - Replace the full GPL text in copyright by a pointer
+    - Bumped Standards to 3.6.1.1 (changes checked)
+
+ -- Christian Perrier <bubulle@debian.org>  Mon, 19 Jul 2004 17:52:24 +0200
+
+shadow (1:4.0.3-29) unstable; urgency=low
+  * Be up front on the origin of our su.  Closes: #244297
+  * The following thanks to Christian Perrier:
+  * Debconf translations
+    - Hungarian added. Closes: #256493
+    - Greek updated. Closes: #251990
+    - Brazilian portuguese updated. Closes: #256771
+  * po/POTFILES.in
+    - corrected file. No more mentions unexisting files
+      Closes: #253792
+      this change was already in 28.5 but was forgotten in the
+      changelog
+  * Acknowledge NMUs: 
+  closes: #244604, #244734, #246302, #246376, #246848, #246859,
+          #247084, #247698, #247770, #248386, #248391, #248392,
+         #248392, #248516, #248516, #248648, #248938, #248957,
+         #249141, #249257, #249682, #250169, #250339, #250496,
+         #251140, #251141, #251317, #251495, #251716, #251990,
+         #252087, #252499, #253165, #253186, #253570, #254503,
+         #254760 
+
+ -- Karl Ramm <kcr@debian.org>  Sat,  3 Jul 2004 00:24:55 -0400
+
+shadow (1:4.0.3-28.5) unstable; urgency=low
+
+  * debian/*.files
+    - care about adding ALL existing translations. Removed hard-coded
+      file names. Closes: #248516
+      Thanks to Ruben Porras for noticing
+      This involves changes to debian/*.files with the use of
+      regexp in these files
+  * libmisc/failure.c
+    - Make use of plural forms. Closes: #251317
+  * Programs translations
+    - Norwegian Bokmal and Norwegian Nynorsk translations. Closes: #252499
+    - Dutch updated. Closes: #253165
+    - Brazilian Portuguese updated
+    - Turkish updated
+    - Korean updated
+    - Czech updated
+    - Japanese updated
+    - German updated
+    - Catalan added. Closes: #254760
+    - Italian updated
+  * Debconf translations
+    - Finnish added. Closes: #253570
+    - Danish updated
+    - Hebrew added. Closes: #253186
+    - Traditional Chinese added. Closes: #254503
+    - French updated for clarification and shorten the root password screen
+
+ -- Christian Perrier <bubulle@debian.org>  Tue, 22 Jun 2004 09:44:45 +0200
+
+shadow (1:4.0.3-28.4) unstable; urgency=low
+
+  * NMU for l10n stuff again
+  * Programs translations
+    - All languages "activated" in configure.in. Closes: #248516
+    - Russian. Closes: #250496
+    - Bosnian added. Closes: #251141
+    - Finnish update. Closes: #251495
+    - Italian update. Closes: #252087
+  * Debconf translations
+    - Norwegian Bokmal update. Closes: #250339
+    - Bosnian added. Closes: #251140
+    - Catalan updated. Closes: #251716
+    - Greek update. Closes: #251990
+    - Welsh added (directly sent by Dafydd Harries
+  * Christian Perrier
+    - debian/passwd.config : a few rewards to a few people. Just check
+      the code
+
+ -- Christian Perrier <bubulle@debian.org>  Tue,  1 Jun 2004 09:11:01 -0300
+
+shadow (1:4.0.3-28.3) unstable; urgency=high
+
+  * NMU for correcting my mistake
+  * Remove an extra "fi" in passwd.config. Closes: #250169
+  * Debconf translation updates:
+    - Norwegian Nynorsk. Closes: #249682
+
+ -- Christian Perrier <bubulle@debian.org>  Fri, 21 May 2004 06:50:13 +0200
+
+shadow (1:4.0.3-28.2) unstable; urgency=high
+
+  * NMU for Debian Installer rc1 release schedule
+  * Removed duplicate sentence in templates. Closes: #244734, #244604
+  * Move the "root password empty" check before the root password
+    confirmation. Closes: #247770
+  * Debconf translation updates:
+    - Danish. Closes: #246859
+    - Spanish. Closes: #246302
+    - Russian. Closes: #248392
+    - Simplified Chinese. Closes: #248938
+    - Lithuanian. Closes: #249141
+    - Italian. Closes: #249257
+    - Dutch sent directly by Bart Cornelis
+    - Korean sent directly by Changwoo Ryu
+    - Galician sent directly by Héctor Fernández
+    - Romanian sent directly by Eddy Petrisor
+  * Programs translation updates:
+    - Korean. Closes: #242055
+    - Japanese. Closes: #242586
+    - Polish. Closes: #246376
+    - Slovak. Closes: #247084
+    - Basque. Closes: #248386
+    - German. Closes: #248391
+    - Russian. Closes: #248392
+    - Spanish. Closes: #248516
+    - Czech. Closes: #248648
+    - Simplified Chinese. Closes: #248957
+    - Indonesian. Closes: #242813
+    - Italian sent directly by Giuseppe Sacco
+  * Translated man pages
+    - Typo correction in Brazilian Portuguese for gpasswd. Closes: #247698
+
+ -- Christian Perrier <bubulle@debian.org>  Tue, 18 May 2004 12:09:34 +0200
+
+shadow (1:4.0.3-28.1) unstable; urgency=high
+
+  * NMU for special purposes below
+  * Urgency set to high for helping out Brazilian DD's building CD's
+    for FISL conference
+  * Translation updates:
+    - Debconf:
+      - Brazilian Portuguese. Closes: #246848
+      - Spanish. Was unfortunately based on older templates hence
+        this does not close 246302
+      - Basque: Closes: #243545
+      - German: Closes: #242116
+
+ -- Christian Perrier <bubulle@debian.org>  Mon, 10 May 2004 23:23:25 +0200
+
+shadow (1:4.0.3-28) unstable; urgency=low
+
+  *  Fix login and passwd in preinst to avoid promts on woody upgrade,
+    Closes: #243099
+  * Fix login and passwd configuration file to support common-passwd
+  * Apply NMU patch from Christian Perrier, Closes: #241438
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 29 Apr 2004 16:31:25 -0400
+
+shadow (1:4.0.3-27) unstable; urgency=low
+
+  * update "da" debconf translation, closes: #241262
+  * new "pt_BR" program translation, closes: #241366
+
+ -- Karl Ramm <kcr@debian.org>  Thu,  1 Apr 2004 00:19:44 -0500
+
+shadow (1:4.0.3-26.1) unstable; urgency=low
+
+  * NMU for Debian Installe rneeds
+  * Translation updates:
+    - Debconf:
+      - French. Closes: #241438
+      - Ukrainian. Closes: #241514
+      - Swedish: #241558
+      - Japanese. Closes: #241802
+      - Danish. Closes: #241262
+      - Portuguese. Closes: #241675
+      - Polish. Closes: #243185, #242996
+      - Czech. Closes: #241877
+      - Korean. Closes: #241928
+      - Greek. Closes: #242396
+      - Turkish. Closes: #243103
+      - Slovak. Closes: #245671
+
+ -- Christian Perrier <bubulle@debian.org>  Wed, 28 Apr 2004 11:47:34 +0200
+
+shadow (1:4.0.3-26) unstable; urgency=low
+
+  * Have passwd.config fall back gracefully to useradd if adduser is
+    unavailable. closes: #240894
+
+ -- Karl Ramm <kcr@debian.org>  Wed, 31 Mar 2004 00:26:17 -0500
+
+shadow (1:4.0.3-25) unstable; urgency=low
+
+  * Update "da" program translation, thanks to Claus Hindsgaul.
+  * Update "sv" translation, closes: #239198
+  * lower debconf priority of shadow password question to 'low'
+
+ -- Karl Ramm <kcr@debian.org>  Tue, 30 Mar 2004 19:39:59 -0500
+
+shadow (1:4.0.3-24) unstable; urgency=low
+
+  * add new program translations to the file manifest. *sigh*
+    closes: #241016
+  * add "tr" debconf translation. closes: #239148
+  * Rearrange username creation dialog text to make sense in
+    new order. closes: #240607
+  * Edit the debconf templates for content.
+  * Remove the program .gmo files in the clean step. closes: #200054
+
+ -- Karl Ramm <kcr@debian.org>  Tue, 30 Mar 2004 11:37:22 -0500
+
+shadow (1:4.0.3-23) unstable; urgency=low
+
+  * increase maximum group name size to 32 for no particularly good reason
+    closes: #240456
+  * fix su man page to reflect code.  closes: #239805
+  * fix username defaulting in passwd.config. closes: #238781
+  * update "it" debconf translation. closes: #237504
+  * update "ru" debconf translation. closes: #238211
+  * update "de" debconf translation. closes: #238779
+  * update "el" debconf translation. closes: #240473
+  * add "nn" debconf translation. closes: #238590
+  * add "da" program translation. closes: #238005
+  * add "nl" program translation. closes: #238488
+  * add "pt" program translation. closes: #238796
+  * add "pt" debconf translation. closes: #239641
+  * remove spurious const, closes: #240677
+
+ -- Karl Ramm <kcr@debian.org>  Sun, 28 Mar 2004 19:46:34 -0500
+
+shadow (1:4.0.3-22) unstable; urgency=low
+
+  * Don't assume that lastlog.ll_time or utmp.ut_time or utmpx.ut_tv are made 
+    up of time_ts and timevals, because they aren't on x86-64.  Dismaying
+    but true.
+
+ -- Karl Ramm <kcr@debian.org>  Sun, 14 Mar 2004 16:53:21 -0500
+
+shadow (1:4.0.3-21) unstable; urgency=low
+
+  * Try and get the right French translation update in the right place, 
+    Karl, you can do it even if you do only speak English. Closes: #236993
+
+ -- Karl Ramm <kcr@debian.org>  Wed, 10 Mar 2004 15:31:35 -0500
+
+shadow (1:4.0.3-20) unstable; urgency=low
+
+  * Added Norwegian Bokmal debconf translation, closes: #206349
+  * tell shadow build system about new message translations
+
+ -- Karl Ramm <kcr@debian.org>  Thu,  4 Mar 2004 11:04:44 -0500
+
+shadow (1:4.0.3-19) unstable; urgency=low
+
+  * When creating a user account in psaswd.config, ask for full name
+    first, and make up a default username.  Closes: #235386
+  * "No really, assume md5 passwords". Closes: #223664
+
+ -- Karl Ramm <kcr@debian.org>  Thu,  4 Mar 2004 00:42:08 -0500
+
+shadow (1:4.0.3-18) unstable; urgency=low
+
+  * Removed po/cs.po and added new debian/po/cs.po
+    Updated Czech translation, closes: #229125
+  * Updated Japanese debconf translation, closes: #227237
+  * Updated Danish debconf translation, closes: #227619
+  * Updated Dutch debconf translation, closes: #227883
+  * Updated Brazilian Portuguese debconf translation, closes: #228080
+  * Added Simplified Chinese debconf translation
+    Added Simplified Chinese programs translation
+    Closes: #229334
+  * Added Greek debconf translation
+    Added Greek programs translation
+    Closes: #229504, #229528
+  * Added Finnish programs translation, closes: #230369
+    charset changed from UTF-8 to ISO-8859-1 as the bug patch was wrong
+  * Updated German debconf translation, closes: #232710
+  * Updated Russian debconf translation, closes: #235541
+  * Added Ukrainian debconf translation, closes: #233560
+  * Added Lithuanian debconf translation, closes: #235698
+  * thanks to Christian Perrier <bubulle@debian.org>
+
+ -- Karl Ramm <kcr@debian.org>  Wed,  3 Mar 2004 22:56:31 -0500
+
+shadow (1:4.0.3-17) unstable; urgency=low
+
+  * Fix braino in version number of example dependency in README.shells.
+    Apologies to anyone foolhardy enough to believe my documentation.
+  * Add Swedish debconf translation, closes: #225059
+  * New French debconf translation, closes: #225914
+  * Add Catalan debconf translation, closes: #227029
+  * add securetty files for the hurd, freebsd, and netbsd, closes: #200739
+
+ -- Karl Ramm <kcr@debian.org>  Sun, 11 Jan 2004 17:37:54 -0500
+
+shadow (1:4.0.3-16) unstable; urgency=low
+
+  * run dh_installdeb *after* dh_installdebconf,
+    remove . from short description of passwd, 
+    add versioned conflict with debconf older than 0.5
+    closes: #224133
+  * replace manpages-it due to man page conflict
+    closes: #224474
+  * fix the *other* su syslogs.
+    closes: #224508
+  * fix filename in control file, closes: #224579
+  * fix permissions on chage and expiry, closes: #224717
+  * run debconf-updatepo
+  * remove debian/compat as redundant
+  
+ -- Karl Ramm <kcr@debian.org>  Mon, 22 Dec 2003 19:53:30 -0500
+
+shadow (1:4.0.3-15) unstable; urgency=low
+
+  * remove bogus dependency on base-config 2.00,
+  closes: #222772, #223726
+  * New Czech translation thanks to Miroslav Kure.
+
+ -- Karl Ramm <kcr@debian.org>  Fri, 12 Dec 2003 18:40:25 -0500
+
+shadow (1:4.0.3-14) unstable; urgency=low
+
+  * exit 30 when backing all the way out in passwd.conf, and 
+    depend on base-config 2.00, closes: #222772
+  * adjust debconf templates for debian-installer work,
+    closes: #222832
+
+ -- Karl Ramm <kcr@debian.org>  Thu, 11 Dec 2003 01:53:37 -0500
+
+shadow (1:4.0.3-13) unstable; urgency=low
+
+  * Fix typo passwd.config.  Closes: #223079, #222714
+  * Let's try out this oldfangled anonymous ftp upload queue.
+
+ -- Karl Ramm <kcr@debian.org>  Mon,  8 Dec 2003 17:59:31 -0500
+
+shadow (1:4.0.3-12) unstable; urgency=low
+
+  * Explicitly use automake-1.7 and aclocal-1.7.  closes: #216594
+  * Update Danish debconf translation.  closes: #216542  
+  * Update French debconf translation.  closes: #206352
+  * Update Dutch debconf translation.  closes: #212995
+  * Remove redundant dependency on grep.  closes: #216535
+  * Fix chfn documentation bug.  closes: #213931  
+  * Fix su syslogs to be less ambiguous.  (old:new instead of old-new
+    because '-' can appear in usernames.)  Not clearer, mind you, but less
+    ambiguous.  closes: #213592
+  * Rename limits(5) to limits.conf(5) and edit to reflect reality.
+    closes: #212935
+  * Move the change_uid call in login back to where it was before -11, and
+    relocate the fork for pam_close_session above it.  closes: #211884
+
+ -- Karl Ramm <kcr@debian.org>  Sat, 25 Oct 2003 15:26:20 -0400
+
+shadow (1:4.0.3-11) unstable; urgency=low
+
+  * update Japanese debconf translation. closes: #210382
+  * update Brazilian Portugese debconf translation. closes: #208122
+  * run pam cleanup code as root. closes: #195048
+
+ -- Karl Ramm <kcr@debian.org>  Sat, 13 Sep 2003 17:49:29 -0400
+
+shadow (1:4.0.3-10) unstable; urgency=low
+
+  * postinst sources confmodule. closes: #88843
+  * Implement the pam configuration New World Order.  Wow, that was quick. :-)
+  * Implement a scheme for allowing other packages to modify /etc/shells.
+
+ -- Karl Ramm <kcr@debian.org>  Fri, 22 Aug 2003 20:58:42 -0400
+
+shadow (1:4.0.3-9) unstable; urgency=low
+
+  * fix mysterious creeping bug in po/Makefile.in.in, closes: #200052
+  * dutch debconf translation, closes: #204578
+  * switch to po-debconf, closes: #183998, #200130
+  * use automake1.7, closes: #205991
+  * update german debconf translation, closes: #94138
+  * I can't come up with a good justification as to why characters other
+    than ':'s and '\0's should be disallowed in group and usernames (other
+    than '-' as the leading character).  Thus, the maintenance tools don't
+    anymore.  closes: #79682, #166798, #171179
+  * Fix typo in /etc/pam.d/su. closes: #196804
+  * danish debconf translation, closes: #118245
+  * russian debconf translation, closes: #198729
+  * And last, but not least, what's undoubtedly going to be the most
+    popular change: md5 passwords are turned on by default, and there is
+    no prompt to change them.  Yes, this is reduced functionality.  No, it
+    can't go back in the way it was; the old code not only modified
+    conffiles, it modified *other*packages* conffiles and was a massive
+    policy violation.  I expect this change will motivate the people who
+    have said that they will come up with a proper solution to do so.
+    closes: #186016, #110228, #171808
+
+ -- Karl Ramm <kcr@debian.org>  Wed, 20 Aug 2003 02:06:50 -0400
+
+shadow (1:4.0.3-8) unstable; urgency=low
+
+  * Fix missing ':' in getopt call.  closes: #184301
+  * Don't install mkpasswd, we don't use it.  closes: #185919, #187906
+  * replaces: manpages-ko. closes: #184810
+  * Fix the message in #190567 (not closing until it's been accepted upstream)
+  * Fix brainos in login.1. closes: #184731
+  * Fixup permissions for chage.  closes: #184138
+  * Force the umask to 022 in passwd.config.  closes: #182506
+  * Add Sam Hartman <hartmans@debian.org> as an uploader.
+  * Update standards-version.
+  * Add versioned build-depend on debhelper.
+
+ -- Karl Ramm <kcr@debian.org>  Sat, 26 Apr 2003 15:34:16 -0400
+
+shadow (1:4.0.3-7) unstable; urgency=low
+
+  * When relocating a user's home directory, don't fail and remove the new
+    home directory if we can't remove the old home directory for some
+    reason; the results can be spectularly poort if, for instance, only
+    the rmdir() fails. closes: #166369
+  * run dh_installdebconf so base-config will work.  *sigh*.  closes: #166788
+
+ -- Karl Ramm <kcr@debian.org>  Sun, 24 Nov 2002 21:40:30 -0500
+
+shadow (1:4.0.3-6) unstable; urgency=low
+
+  * remove automake dependency and leave only automake1.5, since it seems
+    to confuse the alpha and mipsel autobuilders for some reason.
+
+ -- Karl Ramm <kcr@debian.org>  Sun, 13 Oct 2002 21:45:15 -0400
+
+shadow (1:4.0.3-5) unstable; urgency=low
+
+  * build-depend on libtool and automake.  oops. closes: #164545
+
+ -- Karl Ramm <kcr@debian.org>  Sun, 13 Oct 2002 01:44:47 -0400
+
+shadow (1:4.0.3-4) unstable; urgency=low
+
+  * I am unable to begin to express the bitterness that I'm now experiencing.
+  * replaces manpages-de <= 0.4-4, closes: #162097, #162173
+  * replaces manpages-fr, closes: #162150
+  * replaces manpages-hu, closes: #162126
+  * replaces manpages-ja, closes: #163511, #162095
+  * fix sg symlink, closes: #162339, #163652
+  * newgrp should be aware that getlogin() and ttyname() are not
+    guaranteed to return anything and NOT blindly assume that they
+    successfully returned a pointer to a string.  I mean, really, people,
+    that sort of thing hasn't been reliable since 4.2BSD on a VAX.  I'll
+    bet most of the working on the upstream weren't even born yet when
+    this sort of thing was commonplace (it was NEVER acceptable).
+    closes: #162303
+  * pull the manpage for the spiffy su forward. closes: #162275
+  * depend on automake1.5, and rerun the autogrunge.  This should
+    *hopefully* make it build more consistently.
+  * this concludes the biweekly treading of water.
+
+ -- Karl Ramm <kcr@debian.org>  Sat, 12 Oct 2002 14:56:16 -0400
+
+shadow (1:4.0.3-3) unstable; urgency=low
+
+  * the "fix the brain damage" release
+  * fix pam brain-damage in ch{age,passwd}, {group,user}{add,del,mod}, newusers
+    closes: #162181, #162199, #162228 
+  * fix vipw symlink brain-damage: closes: #162218
+  * fix package description brain damage, closes: #139563
+  * install cp{pw,gr} brain damge
+
+ -- Karl Ramm <kcr@debian.org>  Wed, 25 Sep 2002 01:21:35 -0400
+
+shadow (1:4.0.3-2) unstable; urgency=low
+
+  * fix "su -".  closes: #162089
+  * document exit codes of groupdel and userdel (again, for userdel)
+    closes: #161861
+  * clean up logoutd cleanup
+
+ -- Karl Ramm <kcr@debian.org>  Mon, 23 Sep 2002 19:44:40 -0400
+
+shadow (1:4.0.3-1) unstable; urgency=low
+
+  * new upstream version! closes: #149444, #150237, #145415
+  * completely new packaging!
+  * all new bugs!
+  * old bugs as well!
+  * remove /etc/init.d/logoutd, like the old postrm should've, closes: #160682
+  * fix passwd manpage, closes: #160477, #122797
+  * fix lastlog manpage, closes: #159886
+  * add as many virtual console devices as I seem to have to securetty,
+    closes: #156472
+  * add ttyS0 and tts/0 to securetty.  closes: #130138
+  * su should not segfault if nobody has uid 0.  closes: #139967
+  * install and use translations.  closes: #118238
+  * upstream uses new automake.  closes: #114935
+  * add russian template file for password.  closes: #130358
+  * handle template installation correctly.  closes: #156674
+  * don't place a maximum restriction on the length of passwords.
+    closes: #159487
+  * fix description. closes: #145459
+  * update config.{guess,sub}
+
+ -- Karl Ramm <kcr@debian.org>  Wed, 18 Sep 2002 10:14:08 -0400
+
+shadow (20000902-12) unstable; urgency=high
+
+  * "oops"
+  * /etc/login.defs: /var/spool/mail -> /var/mail, closes: #125311
+
+ -- Karl Ramm <kcr@debian.org>  Sun,  7 Apr 2002 11:54:48 -0400
+
+shadow (20000902-11) unstable; urgency=low
+
+  * Fix some nits:
+  * remove changelog~ file.  oops.  closes: #139711
+  * fix typo in control.  closes: #139564
+  * Hmmm.  People open more bugs when I upload new versions of things.
+    Maybe they just notice them more then, or maybe it's just Murphy.
+
+ -- K. Ramm <kcr@debian.org>  Tue, 26 Mar 2002 12:14:33 -0500
+
+shadow (20000902-10) unstable; urgency=low
+
+  * We hates the automake.  We hates it forever.  closes: #139293
+  * stupid ommision: logoutd still in postinst.  closes: #139422
+  * make login.defs a bit clearer. closes: #138809
+
+ -- Karl Ramm <kcr@debian.org>  Fri, 22 Mar 2002 12:09:07 -0500
+
+shadow (20000902-9) unstable; urgency=medium
+
+  * Get rid of logoutd, it doesn't work, didn't work in potato, and now
+    it's causing people to open RC bugs.  closes: #138259, #66153,  #121940
+    I'm told the timeoutd package does a better job anyway.
+  * add /bin/tcsh to /etc/shells, closes: #118103, #122112
+  * add /bin/ksh to /etc/shells, closes: #123556
+  * remove text about password aging from passwd(5), closes: #137493
+  * spanish debconf template for passwd, closes: #136463
+  * document the fact that you can not have a valid password in
+    /etc/shadow.  closes: #131690
+  * /etc/login.defs: /var/spool/mail -> /var/mail, closes: #125311
+  * fix locations of utmp and wtmp in login(1), closes: #119656
+  * The package description for passwd refers to README.Debian.gz
+    but only README.debian.gz actually exists.  Most packages use
+    README.Debian.gz, but the control file is the only place that gets it
+    wrong for this package.  When in doubt, fix the documentation. :-)
+    closes: #116955
+
+ -- Karl Ramm <kcr@debian.org>  Thu, 14 Mar 2002 17:05:56 -0500
+
+shadow (20000902-8) unstable; urgency=low
+
+  * check in passwd.expire.cron for already-expired passwords; closes: #102319
+  * note in chage.1 and shadowconfig.8 that password aging information
+    only works when shadow passwords are enabled. closes: #103702
+  * enable changing the name in chfn by default. closes: #107819
+  * fail to mangle files in lib/commonio.c, thanks to matt@linuxbox.nu
+  * add /dev/console to the secure ttys list.  because.  closes: #113949
+  * find the FHS mail spool first in configure.  closes: #114951
+    (thanks to mjb@debian.org)
+  * above sadly causes automake to go bonkers, and I don't want to
+    reassemble the build system before woody is released.  Keep automake
+    from going off on its own.
+  * terminate argument validation in login when it hits a '--'.
+    closes: #66368
+  
+ -- Karl Ramm <kcr@debian.org>  Mon, 22 Oct 2001 11:17:35 -0400
+
+shadow (20000902-7) unstable; urgency=low
+
+  * the "I'm sorry, I should've done this earlier" release
+  * Cancel login timeout after authentication so that patient people
+    timing out on network directory services can log in with local
+    accounts.  Closes: #107148
+  * Add Brazillian Portugese debconf template translation for passwd.
+    Closes: #105292, #93223
+  * Pull /usr/share/doc/$package/README.shadow-paper.gz.  Closes: #98058
+  * Use getent instead of group to verify existence of shadow group
+    [works better for distributed group files].  Closes: #99902
+    [Note that this sort of problem is rampant in these postinst and
+    config scripts, but that's not getting fixed in woody.]
+  * Amend reference to /usr/doc in shadowconfig.8.  Closes: #102804
+  * su should set $USER.  Closes: #102995
+  * userdel now deletes user groups from /etc/gshdow as well as
+    /etc/group.  Closes: #99442
+  * grpck now has an (otherwise undocumented) -p option, so that
+    shadowconfig can clean up the results of the above, so the config
+    script will fail randomly less often.  Closes: #103385
+
+ -- Karl Ramm <kcr@debian.org>  Wed, 22 Aug 2001 12:09:27 -0400
+
+shadow (20000902-6.1) unstable; urgency=low
+  * Non-maintainer upload.
+  * Upgrade to latest config.sub and config.guess.  Closes: #88547
+ -- Gerhard Tonn <gt@debian.org>  Fri,  1 Jun 2001 20:38:43 +0200
+                                                              
+shadow (20000902-6) unstable; urgency=medium
+
+  * actually set root's password when appropriate
+    patch thanks to joeyh, closes #98402
+  * fix error in expiry man page.  Such damage. closes: #99291
+  * fix group of setgid program chage and expiry, closes: #98122
+
+ -- Karl Ramm <kcr@debian.org>  Thu, 31 May 2001 07:38:59 -0400
+
+shadow (20000902-5) unstable; urgency=low
+
+  * add build dependency on file, to keep libtool happy. closes: #97498
+
+ -- Karl Ramm <kcr@debian.org>  Wed, 16 May 2001 06:57:23 -0400
+
+shadow (20000902-4) unstable; urgency=low
+
+  * Change maintainers, closes: #92355
+
+ -- Karl Ramm <kcr@debian.org>  Sun, 13 May 2001 03:28:07 -0400
+
+shadow (20000902-3.1) unstable; urgency=low
+
+  * Non-maintainer upload
+  * Recompile to fix ARM lossage 
+
+ -- Philip Blundell <philb@armlinux.org>  Sun, 11 Mar 2001 07:47:27 -0500
+
+shadow (20000902-3) unstable; urgency=low
+
+  * Update config.sub and config.guess so ia64 compiled, closes: #81897
+  * libmisc/sub.c: skip '*' in shell name when doing subsystem, closes:
+    #82893
+  * src/su.c: don't assume uid 0 == "root", use getpwuid to fetch it,
+    closes: #81924
+  * This was fixed in a previous version, closes: #77057
+  * Update passwd long desc, closes: #88299
+  * Conflict with suidmanager << 0.5, and remove suid{,un}register calls,
+    closes: #87157
+  * Update policy to 3.5.0.0
+  * Added debconf support for passwd from base-config
+
+ -- Ben Collins <bcollins@debian.org>  Sat,  3 Mar 2001 07:26:57 -0500
+
+shadow (20000902-2) unstable frozen; urgency=low
+
+  * control.hurd->control.gnu: closes: #77940
+  * Cannot reproduce, closes: #79447
+  * User never sent a patch, plus I think removing the passwd/account when
+    doing passwd -l is a bad idea. Makes it so you cannot unlock the
+    account. closes: #77824
+  * Don't allow shadowconfig to change perms of other binaries, close: #77057
+  * IMO, this is not a bug. It's part of a feature, and can be disabled by
+    turning off USER_GROUPS. closes: #76806
+  * /bin/login is suid root for several good reasons. For one, it allows
+    daemons that use it to run as non-root. This is a good thing since it
+    means only one program is running as root, and not several. closes: #17911
+  * sulog is fairly easy to grep or parse so I don't see how the
+    similarity of the log entries for failed and successful is a problem.
+    '-' for failed, '+' for success. closes: #63801
+  * logoutd.8: s,/etc/utmp,/var/run/utmp, closes: #80494
+  * Fix case where pam_auth returns a NULL username, closes: #76817, #75510
+  * Hmm, Linux is a sysv derivative, so the comment is perfectly
+    legitimate, closes: #76898
+  * MAX_PASSWORD is used by useradd, and CHFN_AUTH is actually used by
+  * chfn to decide if the current user needs to auth in order to change
+    their info, closes: #71114
+  * login.1: Fix \' closes: #75435
+  * login -f works for me assuming you call it as root. I tested this with
+    plain pam_unix.so, and also with pam_unix.so stacked with pam_ldap.so.
+    So if it doesn't work with telnet-heimdal, then that program is not
+    doing something right. closes: #78186
+  * login.pam.d: made pam_nologin.so requisite. closes: #80111
+  * su to root seems pretty quick to me, closes: #64756
+  * xmalloc.c: remove decleration of malloc, which was causing system
+  * header conflicts. closes: #80398
+
+ -- Ben Collins <bcollins@debian.org>  Sun, 31 Dec 2000 14:33:47 -0500
+
+shadow (20000902-1) unstable frozen; urgency=low
+
+  * New upstream release, lots of Debian patches merged, closes: #72735
+  * man/passwd.1: removed reference to passwd(3), closes: #72704
+  * man/chsh.1,man/chfn.1: document login.defs affects on these programs,
+    closes: #68029
+  * not a bug, expected behavior, closes: #74137
+  * IMO, this is a bug in the user's setup, closes: #65600
+  * securetty: add devfs console devices, closes: #71946
+  * libmisc/sulog.c: removed arbitrary limit on number of chars printed of
+    the tty name (truncated to 6 chars, which is silly), closes: #65404
+  * tested this, and it works fine for me so long as pam_unix.so is called
+    with the nullok option (which it isn't by default because of security
+    concerns), closes: #75063
+  * appears to be fixed by PAM, closes: #70627
+  * src/useradd.c: user mkstemp instead of mktemp, per libc6 linktime
+    warning
+  * src/su.c: fixup arg handling passed to shell, closes: #75326
+
+ -- Ben Collins <bcollins@debian.org>  Mon, 23 Oct 2000 13:22:29 -0400
+
+shadow (19990827-21) unstable frozen; urgency=low
+
+  * Added build deps
+  * Use pre-generated files for hurd/linux control file. The old method of
+    using cpp would have broken with the new gcc.
+
+ -- Ben Collins <bcollins@debian.org>  Wed, 26 Jul 2000 21:04:03 -0400
+
+shadow (19990827-20) unstable frozen; urgency=low
+
+  * Release Manager
+    None of these are marked as RC in the BTS, however, they do make the
+    package unsuitable for release. Since this is an essential package (IOW,
+    installed on every Debian system), I hope you can see how important it
+    is to make sure this package is perfect. None of the changes are
+    functional (except the fix in logoutd's init script, which was a 20 char
+    change), so please consider this for the next test cycle.
+  * Fix logoutd init script from spurious output when /etc/porttime is not
+    there, closes: #63962, #64067
+  * su: Fix typo in usage output, closes: #60226
+  * passwd: Fixed typo and missing newline in output for successful password
+    change, closes: #64106, #63703
+  * passwd.1: Add documentation on the -f, -e, -s and -d command line
+    options, closes: #64339, #64410
+  * login: Verified that utmp/wtmp works when called by telnet with -h
+    option, closes: #56854
+
+ -- Ben Collins <bcollins@debian.org>  Tue, 23 May 2000 14:40:01 -0400
+
+shadow (19990827-19) unstable frozen; urgency=low
+
+  * debian/local/shells: added esh, closes: #59934
+  * logoutd: modify to work with pam_time.so's time.conf file, modify
+    manpage to reflect this, closes: #61300
+  * userdel.8: added note about group removal, closes: #56723
+  * base-config handles md5 setup, closes: #60125
+  * cppw: make sure it gets installed, closes: #62960
+  * passwd: correct error message for "not you", closes: #61313
+  * sulog.c: fixed extern for char (char foo[] -> char *foo), closes: #61643
+  * userdel.8: documented userdel's exit values, closes: #54775
+  * passwd: error messages are two fold, the second is actually from
+    pam_strerror(), closes: #61937
+  * passwd: print "success" on successful password change, closes: #58676
+
+ -- Ben Collins <bcollins@debian.org>  Sat, 29 Apr 2000 10:26:56 -0400
+
+shadow (19990827-18) unstable frozen; urgency=low
+
+  * Crap, all the bug fixes from -17 need to go to frozen too
+
+ -- Ben Collins <bcollins@debian.org>  Tue, 29 Feb 2000 14:57:14 -0500
+
+shadow (19990827-17) unstable; urgency=low
+
+  * Fixed typo in login.defs, closes: #54877
+  * logoutd.init.d: Check for /etc/security/time.conf, closes: #54900
+  * login.defs: Added note about the MAIL env option, closes: #54768
+  * login.pam.d,passwd.pam.d: Use new options in pam_unix.so to enable
+    obsure password checks. This mimics the old behavior in pre-PAM
+    shadow, closes: #58203
+  * Use patch from Topi Miettinen <tom@pluto.nic.fi> to add pam session
+    ability to su, closes: #57526, #55873, #57532
+  * Made login's -f option also able to use the username after -- if none
+    was passed as it's optarg, closes: #53702
+
+ -- Ben Collins <bcollins@debian.org>  Mon, 28 Feb 2000 12:37:22 -0500
+
+shadow (19990827-16) unstable; urgency=low
+
+  * got rid of g+s directories in the source tarball, closes: #54585
+  * make su mode 4755 in the package. This way there is no chance of a
+    failed dpkg install causing it to be left without suid root perms
+    before suidmanager or chmod is called in the postinst.
+  * src/login.c: added faillog support to the pam_authenticate loop. This
+    loop is now completely rewritten, and should produce better results on
+    failures, closes: #53164
+
+ -- Ben Collins <bcollins@debian.org>  Sun,  9 Jan 2000 23:35:08 -0500
+
+shadow (19990827-15) unstable; urgency=low
+
+  * src/su.c: moved signal() call to re-establish SIGINT to right place,
+    closes: #54496
+  * src/login.c: if hostname is blank (not a remote login via rlogin or
+    telnet), then use the tty to log failures in syslog, closes: #53966
+  * passwd: Locking a password by appending '!' appears to be pretty
+    standard, so ssh needs to check for it.
+  * passwd and login come with a README.pam that discusses the differences
+    between the PAM and old non-PAM versions. It also talks about where to
+    look for details. Also now that I have added the extra examples to the
+    pam.d files, I hope this satisfies...closes: #52917
+  * A new package, base-config, which will be used by boot floppies is
+    going to have an option to configure MD5 usage for passwords. Since
+    this is the best place for it, and I don't really have any control
+    over it, I am .... closes: #47620
+  * libmisc/chowntty.c: applied patch for read-only root, closes: #52069
+
+ -- Ben Collins <bcollins@debian.org>  Sat,  8 Jan 2000 22:11:29 -0500
+
+shadow (19990827-14) unstable; urgency=low
+
+  * debian/local/shells: added /bin/zsh, closes: #53883
+
+ -- Ben Collins <bcollins@debian.org>  Sun,  2 Jan 2000 13:51:42 -0500
+
+shadow (19990827-13) unstable; urgency=low
+
+  * su.c: ignore SIGINT while authenticating, closes: #52372
+  * su.pam.d: added 2 new examples of how to allow su for wheel users
+    without prompting for a password, and also how to deny users of a
+    specific group.
+
+ -- Ben Collins <bcollins@debian.org>  Sat,  1 Jan 2000 22:29:46 -0500
+
+shadow (19990827-12) unstable; urgency=low
+
+  * Recompiled against latest libpam and up'd the module deps,
+    closes: #52171
+  * login.pam.d: added "noenv" option so we don't clobber login's setting,
+    closes: #51441
+
+ -- Ben Collins <bcollins@debian.org>  Tue, 14 Dec 1999 22:41:40 -0500
+
+shadow (19990827-11) unstable; urgency=low
+
+  * debian/passwd.in: add a preinst (matches login's) to fix the latest
+    build change (only affected hurd since it doesn't use login).
+  * debian/scripts/passwd.mk: use passwd.preinst instead of login.preinst
+    to complete the fix above.
+
+ -- Ben Collins <bcollins@debian.org>  Mon,  6 Dec 1999 18:25:07 -0500
+
+shadow (19990827-10) unstable; urgency=low
+
+  * src/login.c: only set pam_fail_delay if > 0. Also make the default 0
+    so not defining it has the same affect as disabling it, closes: #51178
+  * src/userdel.c: make sure we remove the shadow group entries when
+    removing the users own group, closes: #50005, #50138
+
+ -- Ben Collins <bcollins@debian.org>  Fri, 26 Nov 1999 22:37:44 -0500
+
+shadow (19990827-9) unstable; urgency=low
+
+  * src/su.c: Fixed getopt parsing, and added a usage output
+  * man/su.1: minor typos
+
+ -- Ben Collins <bcollins@debian.org>  Mon,  8 Nov 1999 22:13:05 -0500
+
+shadow (19990827-8) unstable; urgency=low
+
+  * src/login.c: fixed loggin of username on succesful login (was using
+    the normal username, when it should have used pam_user),
+    closes: #47819
+  * src/login.c: check for hushed login and pass PAM_SILENT if true,
+    closes: #48002
+  * src/useradd.c: set def_shell to /bin/bash, closes: #48304
+  * doc/README.debian: add note about how to avoid issues with nscd's
+    lag in aging the cache, closes: #48629
+  * src/cppw.c: new program to assist copying a passwd/group file without
+    corruption, closes: #42141
+
+ -- Ben Collins <bcollins@debian.org>  Tue,  2 Nov 1999 21:46:28 -0500
+
+shadow (19990827-7) unstable; urgency=low
+
+  * {passwd,login}.pam.d: added blurb about how to use the pam_cracklib
+    module, and also changed it to use pam_unix and not pam_pwdb (gah!
+    how did that happen?), closes: #46983
+  * README.debian: changes to reflect new PAM usage aswell as removing
+    references to obsolete config files, closes: #46595
+  * passwd.expire.cron: example script that informs users by email when
+    their accounts are about to expire, closes: #41393
+  * lastlogin.c: added -h option and usage aswell as long option support,
+    closes: #45804
+  * shadow now only has 3 wishlist bugs and nothing else
+
+ -- Ben Collins <bcollins@debian.org>  Sat,  9 Oct 1999 11:54:16 -0400
+
+shadow (19990827-6) unstable; urgency=low
+
+  * debian/shells: new file, needed to include /bin/sash, closes: #45826
+  * useradd.8,groupadd.8: added note about the prefered use of adduser
+    and addgroup when conforming to Debian policy (taken from notes in
+    adduser's man pages), closes: #22821
+  * dialups.5: new man page that documents /etc/{dialups,d_passwd},
+    closes: #42212
+  * src/su.c: added -m, -p and -s command line options to match GNU options,
+    also documented in su(1), closes: #45394, #46424
+  * login.defs.5: clarified usage of TTYTYPE_FILE, closes: #23194
+  * login.pam.d: added pam_issue.so which replaces the old ISSUE_FILE from
+    login.defs, this also allows it to grok escapes in the issue file,
+    also increases the MODDEPS to (>= 0.69-10). By default this module is
+    not enabled, closes: #21044
+  * login.defs.pam.linux: added ISSUE_FILE to list of deprecated options
+
+ -- Ben Collins <bcollins@debian.org>  Mon,  4 Oct 1999 19:56:22 -0400
+
+shadow (19990827-5) unstable; urgency=low
+
+  * {login,su}.1: added description of a subsystem login, closes: #31987
+  * src/chowndir.c: fixed recursive chown's on usermod, also changed it
+    to use lchown and lstat since we actually want that, closes: #46405
+  * su.1: removed reference to suauth aswell as added "-c" to the SYNOPSIS,
+    closes: #45685
+  * login.1: added options to the SYNOPSIS and documented OPTIONS,
+    closes: #28763
+  * login.defs.5: documented the ENVIRON_FILE options (even though it's
+    not really used in the PAM version), close: #28786
+  * 010_src_gpasswd.c: new patch, fixes changing group passwords when not
+    using shadow groups, closes: #25919
+  * {chfn,chsh,login}.pam.d: added nullok to pam_unix.so auth line to
+    allow for passwordless accounts, closes: #46510
+  * login.pam.d: add "standard" to the pam_mail option so we get old
+    style "You have..." login messages.
+
+ -- Ben Collins <bcollins@debian.org>  Sun,  3 Oct 1999 13:41:53 -0400
+
+shadow (19990827-4) unstable; urgency=low
+
+  * Alright, we are really getting some usage from this now, and seeing
+    some odd ball setups, so it means more work for me, but more stable
+    and feature filled software for you :)
+  * debian/{login,su}.pam.d: Fixed spelling errors, closes: #45234, #45235
+  * debian/login.pam.d: Added commented pam_access.so reference and
+    description, closes: #45241
+  * src/login.c: moved usage of setup_uid_gid() when PAM is enabled or
+    pam_groups.so's groups get clobbered
+  * src/newgrp.c: don't call sanitize_env() and also make sure we don't
+    check passwords when the user is trying to get back to their default
+    group, closes: #22244
+  * Closed some other bugs that were either not really bugs, or they weren't
+    reproducable.
+  * debian/login.pam.d: moved around the pam_motd and pam_mail modules to
+    order them the same as old login would have done
+
+ -- Ben Collins <bcollins@debian.org>  Sun, 19 Sep 1999 19:42:13 -0400
+
+shadow (19990827-3) unstable; urgency=low
+
+  * This is a "Sit down and really fix some bugs" update. I'm going through
+    the ones that really need some work.
+  * src/vipw.c: use the system() call to invoke the editor so that it accepts
+    command line args in the EDITOR and VISUAL environment vars, closes: #31029
+  * src/userdel.c: added code to remove user groups (of the same name) if there
+    were no members left and USERGROUPS_ENAB is set to yes, closes: #35046
+  * login.defs: documented above change
+  * {login,passwd}.postinst: fixed some bashisms, closes: #45159
+  * login.defs.pam.linux: documented the FAKE_SHELL option, closes: 31987
+  * su.1,login.1: documented the subsystem root ability in login and su, closes: 
+  * doc directory for both packages now includes the README.shadow-paper file
+    closes: #15391
+
+ -- Ben Collins <bcollins@debian.org>  Sun, 19 Sep 1999 15:49:11 -0400
+
+shadow (19990827-2) unstable; urgency=low
+
+  * debian/rules: use "$(CC) -E" instead of "cpp" to make it easier to
+    cross compile for Hurd (requested by Marcus Brinkman).
+  * debian/login.pam.d: forgot to remove that comment about login not
+    being PAMified, it is and works fine.
+  * src/login.c: Added login.defs option to turn on and off the persistent
+    login, also give note on when it isn't and is needed in login.defs.
+  * lib/getdef.c: Added CLOSE_SESSIONS for above code.
+  * man/login.defs.5: document the new CLOSE_SESSION option for login
+  * logoutd: disabled until I can fix it to grok /etc/security/time.conf
+
+ -- Ben Collins <bcollins@debian.org>  Mon, 13 Sep 1999 18:57:47 -0400
+
+shadow (19990827-1) unstable; urgency=low
+
+  * New Maintainer, with Guy's consent.
+    closes: #22296, #22331 (closed some NMU bug reports)
+  * New upstream release, closes: #15879, #24712, #25739, #28785, #32991
+    closes: #38672, #39933, #41060, #42480, #22534, #12690, #36150, #26412
+    closes: #40398, #43750
+  * Ok, now for some dusting and house cleaning (aka The Bug Killfile
+    Begins Here):
+  %%- login package
+    - Not a bug in login anymore, closes: #28098
+    - No longer pertinent, and is not controlled by the login program,
+      closes: #23155
+    - This does not appear to be a bug anymore, closes: #32424
+    - This is not a login problem. Xterm itself prints the LOGIN message
+      and it does _not_ read login.access, closes: #16958
+    - Seems to be fixed, closes: #28098
+    - Huge list of "Fixed" bugs, that I want to close. I really need to
+      start with a clean slate in order to get some of this cleaned up,
+      closes: #3439, #11443, #13485, #13815, #15176, #15998, #16187, #17529
+      closes: #17532, #17532, #18133, #18225, #20052, #20876, #21280, #21357
+      closes: #21687, #21695, #21746, #21767, #22716, #24710
+    - lastlog(8): Clarified differences in the usage of "login-name" and
+      UID, closes: #26727
+  %%- passwd package
+    - newuser: appears to be working correctly and placing x, not !,
+      closes: #19620
+    - userdel(8): added note about user's mail spool also being deleted,
+      closes: #20790
+    - Can't reproduce this one, closes: #21639
+    -  -e expire_date
+          The  date  on  which  the user account will be dis-
+          abled.   The  date  is  specified  in  the   format
+          MM/DD/YY.
+      Bug filer was trying to use an integer instead of the documented
+      format, closes: #22533
+    - chfn's command line options seem to work for root and non-root,
+      closes: #25396
+    - seems to have been fixed by the latest upstream, #25670
+    - Removed references to shadow(3), closes: #32859
+    - passwd only saves first 8 chars...duh :) closes: #33368
+    - userdel can only do so much, the admin should know to check some
+      things on their own, closes: #35418
+    - Lot's of Y2K issues fixed in this release, closes: #37232
+    - useradd requires the -m option to make it create a home directory
+      if one does not exist, closes: #39581
+    - useradd's -p option requires the password to already be encrypted
+      as documented in useradd(8), closes: #39870, #39874
+    - More "Fixed" bugs in passwd, closes: #13753, #16893, #17894, #18132
+      closes: #18628, #12691
+  %%- su (no longer a package, but has bugs just the same, will be
+      forwarded to the login package soon)
+    - Sorry, but su (all su's) invoke the shell with -c "cmd". This is
+      documented, not a bug, it's a standard interface that su expects,
+      go fix sash's bug for not supporting it, closes: #14551
+    - Acknoledged NMU: closes: #20058
+    - More "Fixed" bugs getting closed...CLOSED AT LAST, closes: #17593
+      closes: #20057, #12689
+  * Switched to a new build setup (dbs)
+  * Split makes into seperate files to make it a little cleaner
+  * FHS compliance changes (usr/{doc,man} to usr/share/{doc,man})
+  * debian/tar.c: removed
+  * su: su is now going to be provided by shadow's login package and
+    removed from shellutils (the shellutils maintainer agreed to this)
+    in preperation for future PAM support. Added conflicts with older
+    version of shellutils that does provide the su binary.
+  * debian/control.in: removed the secure-su package since login now
+    contains su and all of it's components
+  * debian/control.in: modified the package descriptions to be a little
+    more explicative of what they do.
+  * Upgraded standards version to 3.0.1.1
+  * Setup suidmanager support for all +s apps, closes: #15705, #15704, #15699
+  * Enabled PAM. Support now for su, passwd, chfn, chsh. I am working on the
+    support in login.
+  * expiry: Changed to be installed as sgid shadow instead of suid root
+    since it doesn't need root priviledges. Also added man page expiry(1) based
+    on the comments found in expiry.c.
+  * Removed bashism's in control scripts. Now lintian clean (smells fresh too)
+  * chage.c: Keep chage from locking when not running as root, since it just
+    needs to read the shadow and password files. This let's it run sgid shadow
+    instead of suid root. When run as root, it can lock files for editing.
+  * login.c: Pam support Works For Me(tm)!
+  * login.c: Fixed PAM's auth when PAM_USER was not set from the command line,
+    also call pam_fail_delay() with FAIL_DELAY as the arg before authentication.
+  * etc/login.defs.pam.linux: new file, reflects options that PAM takesover
+  * etc/login.defs.pam.hurd: new file, same for Hurd
+  * debian/passwd.mk: make sure that login.defs.5 get's installed for Hurd
+  * pam.d/: Modified defaults for each service to reflect the old style and also
+    added commented options on how to enable obsoleted options from login.defs
+    in the PAM Way(tm).
+  * debian/rules: removed --disable-desrpc from configure options since it was
+    supposedly just a workaround for glibc 2.0
+  * src/login.c: reset pam_fail_delay after every failure
+  * debian/rules: remove debian/files on clean target
+  * src/login.c: removed setup_limits() and check_nologin() usage when PAM is
+    enabled
+  * debian/login.pam.d,debian/login.defs.pam.linux: made notes about the pam_limits.so
+    module, as well as pam_nologin.so
+  * debian/su.pam.d: made notes about pam_limits.so module
+  * debian/control.in: removed depends on libpam-motd since it is now in libpam-modules,
+    also make login conflict with secure-su
+  * debian/*: setup so that Hurd does not get PAM, since they don't have it ported
+    completely yet.
+  * debian/*: Final approach to a final upload, modified login.postinst to check old
+    obsolete conffiles to see if the user needs a notice that they are no longer used.
+
+ -- Ben Collins <bcollins@debian.org>  Sat, 11 Sep 1999 19:58:14 -0400
+
+shadow (980403-0.3.3) unstable; urgency=low
+
+  * Non maintainer upload.
+  * Add dpkg-architecture and cross compilation support to the package.
+  * Changes for the Hurd:
+    + Only build passwd, add etc/login.defs.hurd to this package.
+    + libmisc/rlogin.c: Conditionalize CBAUD, which is not portable.
+
+ -- Marcus Brinkmann <brinkmd@debian.org>  Thu,  5 Aug 1999 00:28:12 +0200
+
+shadow (980403-0.3.2) unstable; urgency=low
+
+  * configure.in patched for utmpx.h (for arm)
+  
+ -- Jim Pick <jim@jimpick.com>  Sun,  4 Oct 1998 19:06:15 -0700
+
+shadow (980403-0.3.1) frozen unstable; urgency=low
+
+  * Non maintainer upload.
+    changes.{guess,sub} changed to recognize a Arm architecture.
+
+ -- Turbo Fredriksson <turbo@debian.org>  Fri, 14 Aug 1998 22:37:58 -0400
+
+shadow (980403-0.3) frozen unstable; urgency=high
+
+  * Non maintainer upload.
+  * src/login.c: Applied patch from <marekm@i17linuxb.ists.pwr.wroc.pl> to
+    fix security hole of login not checking the return code from setgid(),
+    initgroups() or setuid(). [#24710]
+
+ -- James Troup <james@nocrew.org>  Fri, 17 Jul 1998 18:56:31 +0100
+
+shadow (980403-0.2) frozen unstable; urgency=low
+
+  * (login.defs): fixed UMASK
+    (thanks to James Troup for noticing my screwup :)
+  * Pruned non-Debian changelog entries.
+
+ -- Joel Klecker <jk@espy.org>  Mon, 11 May 1998 11:25:22 -0700
+
+shadow (980403-0.1) frozen unstable; urgency=low
+  
+  * Non-maintainer release.
+  * New upstream release (18225).
+  * (debian/login.postinst)
+    * Use 'touch' instead of 'cat >' when creating /var/log/faillog
+      (15998,16187,21687).
+    * No longer fails if no previous configured version exists (11433).
+  * (gpasswd): now checks which user invoked it before calling setuid() (18132).
+  * (debian/passwd.postinst): removed bashism (13753).
+  * (groupmod): NULL dereference fixed upstream, as a result, it no longer
+    dumps core when changing group name (16893,17894).
+  * (useradd): no longer segfaults if /etc/default/useradd is missing (18628).
+  * (login.defs.1): now documents more options (13485).
+  * (source): includes 'missing' (13815,18133,21280).
+  * (login.1):
+    * Removed mention of "d_passwd(5)", which doesn't exist,
+      and login.defs.5 now documents /etc/dialups (15176).
+    * Added /etc/nologin to FILES section and reference nologin(5) (21695).
+  * The URL mentioned in Bug#15391 is no longer valid.
+  * (login.defs): no longer sets ULIMIT (17529).
+  * (login):
+    * No longer uses static buffers for group lines (17532).
+    * Doesn't seem to make assumptions about gid_t any longer (21767).
+  * (faillog.8): s-/usr/adm-/var/log-g (19974).
+  * (lastlog.8): notes that "some systems" use /var/log instead of
+    /usr/adm (21746).
+  * Install upstream changelog as 'changelog.gz' as per policy (20052).
+  * (secure-su): Changed /etc/suauth to reference the group 'root'
+    instead of 'wheel' (17593).
+  
+ -- Joel Klecker <jk@espy.org>  Thu, 30 Apr 1998 18:32:12 -0700
+
+shadow (970616-1) unstable; urgency=low
+
+  * Upstream upgrade.
+  * chage works (10561).
+  * Fix NIS behavior (5634,8734,10032,10545,10984,11160,12064).
+  * Wrote pwconv,pwunconv,grpconv,grpunconv manpage (10940).
+  * vipw fixes (10521,10696,11618,11924,12184,13001)
+  * Fixes for new automake.
+  * Compile with glibc2. (8627,8777,9824,11713,11719,12082,12108,11442).
+  * debian/rules fixes (8876,12468).
+  * /etc/login.defs: UMASK=002 (9102).
+  * chown /dev/vcs* on login (9421,13255).
+  * Added tty9-tty12 to /etc/securetty (11644).
+  * Provide template and manpage for /etc/limits (12289).
+  * Fix security hole in postinst (11769).
+  * login fills out ut_addr field in utmp (10701).
+  * shadowconfig.sh fixes (9189,9328,9386,10968,12452,12469).
+  * Overcome postinst bug in old shadow-passwd package (9939,12120).
+  * useradd default GROUP=100 (9244).
+  * Allow 8 bit chars in chfn (12367).
+  * secure-su - set HOME, use SHELL if set (11003,11189).
+
+ -- Guy Maor <maor@ece.utexas.edu>  Fri, 26 Sep 1997 19:23:42 -0500
+
+shadow (970616) unstable; urgency=low
+
+  * vipw preserves permissions on edited files (10521).
+  * various other bug fixes.
+
+ -- Marek Michalkiewicz <marekm@piast.t19.ds.pwr.wroc.pl>  Mon, 16 Jun 1997 02:02:00 +0200
+
+shadow (970601) unstable; urgency=low
+
+  * Fix typo in libmisc/mail.c causing login to segfault.
+
+ -- Marek Michalkiewicz <marekm@piast.t19.ds.pwr.wroc.pl>  Mon,  2 Jun 1997 07:33:00 +0200
+
+shadow (970502-2) unstable; urgency=low
+
+  * Fixes to shadow group support (grpconv didn't work).
+
+ -- Marek Michalkiewicz <marekm@piast.t19.ds.pwr.wroc.pl>  Fri,  2 May 1997 15:48:00 +0200
+
+shadow (970502-1) unstable; urgency=low
+
+  * Upstream upgrade.
+
+ -- Marek Michalkiewicz <marekm@piast.t19.ds.pwr.wroc.pl>  Fri,  2 May 1997 03:18:00 +0200
+
+shadow (961025-2) frozen unstable; urgency=medium
+
+  * Fix useradd -D segfault (8098, 8152, 8733).
+  * Fix shadowconfig - permfix only on xlock; /etc/init.d/xdm rewrite, chmod
+    (8102, 8320, 8333, 8708).
+  * Remove HOWTO from usr/doc/passwd as it's in linux-doc (8150).
+  * Fixes to su.1 (8153).
+  * login, passwd, su each conflict and replace with the old shadow-*
+    version. (8269, 8290, 8393, 8394).
+  * Put /etc/shells back in passwd (8328).
+  * Fixed login.postinst for upgrade from shadow-login (8392).
+  * Added -e to pwck for use in shadowconfig: reports only errors, no
+    warnings (8542).
+  * Wrote shadowconfig.8 (8588).
+
+ -- Guy Maor <maor@ece.utexas.edu>  Sat, 19 Apr 1997 02:34:59 -0500
+
+shadow (961025-1) unstable; urgency=low
+  
+  * Upstream upgrade, new source format.
+
+ -- Guy Maor <maor@ece.utexas.edu>  Mon, 10 Feb 1997 02:56:56 -0600
+