diff --git a/shadow/.footprint b/shadow/.footprint index e15cad2e..10164886 100644 --- a/shadow/.footprint +++ b/shadow/.footprint @@ -34,7 +34,6 @@ drwxr-xr-x root/root usr/man/man1/ -rw-r--r-- root/root usr/man/man1/su.1.gz drwxr-xr-x root/root usr/man/man5/ -rw-r--r-- root/root usr/man/man5/faillog.5.gz --rw-r--r-- root/root usr/man/man5/gshadow.5.gz -rw-r--r-- root/root usr/man/man5/limits.5.gz -rw-r--r-- root/root usr/man/man5/login.access.5.gz -rw-r--r-- root/root usr/man/man5/login.defs.5.gz @@ -73,4 +72,5 @@ lrwxrwxrwx root/root usr/sbin/vigr -> vipw -rwxr-xr-x root/root usr/sbin/vipw drwxr-xr-x root/root var/ drwxr-xr-x root/root var/log/ +-rw-r--r-- root/root var/log/faillog (EMPTY) -rw-r--r-- root/root var/log/lastlog (EMPTY) diff --git a/shadow/.md5sum b/shadow/.md5sum index f0994d9a..5d5508c7 100644 --- a/shadow/.md5sum +++ b/shadow/.md5sum @@ -1,5 +1,4 @@ -e98baece425f10e7e1dd68c412e0f7dd login.defs +05a85f1ea6bf26aec66a91b5f98a51b0 login.defs be8f69c2701118093af3d7f3bc02af16 pwck -d58a29c9fa227f18545d8c43997dbb7d shadow-4.0.16-fix-useradd-usergroups.patch -aa1259020b925cd3088cb7a36fbe7753 shadow-4.0.18.1-useradd-usermod.diff -e7751d46ecf219c07ae0b028ab3335c6 shadow-4.0.18.1.tar.bz2 +3c3a1fbfae01534de2c8bbd566200dce shadow-4.1.0.patch +dd6ca3ac424b447962d7a7af923b7bda shadow-4.1.0.tar.bz2 diff --git a/shadow/Pkgfile b/shadow/Pkgfile index f6173092..45689c45 100644 --- a/shadow/Pkgfile +++ b/shadow/Pkgfile @@ -1,20 +1,18 @@ # Description: Shadow password file utilities -# URL: http://shadow.pld.org.pl/ -# Packager: CRUX System Team, core-ports at crux dot nu +# URL: http://pkg-shadow.alioth.debian.org/ # Maintainer: CRUX System Team, core-ports at crux dot nu name=shadow -version=4.0.18.1 -release=5 -source=(http://gentoo.osuosl.org/distfiles/$name-$version.tar.bz2 +version=4.1.0 +release=1 +source=(ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/$name-$version.tar.bz2 pwck login.defs - shadow-4.0.16-fix-useradd-usergroups.patch - shadow-4.0.18.1-useradd-usermod.diff) + shadow-4.1.0.patch) build() { cd $name-$version - patch -p0 < $SRC/shadow-4.0.16-fix-useradd-usergroups.patch - patch -p1 < $SRC/shadow-4.0.18.1-useradd-usermod.diff + + patch -p1 -i $SRC/shadow-4.1.0.patch ./configure --prefix=/usr \ --mandir=/usr/man \ @@ -25,21 +23,25 @@ build() { --without-selinux \ --without-libpam + make make DESTDIR=$PKG install - mkdir -p $PKG/etc/cron/daily $PKG/var/log - install -m 644 ../login.defs $PKG/etc - install -m 755 ../pwck $PKG/etc/cron/daily + + install -d $PKG/etc/cron/daily $PKG/var/log + install -m 644 $SRC/login.defs $PKG/etc + install -m 755 $SRC/pwck $PKG/etc/cron/daily mv $PKG/bin/{su,groups} $PKG/usr/bin - touch $PKG/var/log/lastlog - rm -rf $PKG/usr/bin/gpasswd \ - $PKG/usr/man/man1/gpasswd.1 \ - $PKG/usr/sbin/{chpasswd,grpconv,grpunconv,logoutd} \ - $PKG/usr/sbin/{mkpasswd,newusers,pwconv,pwunconv} \ - $PKG/usr/man/man8/{chpasswd.8,grpconv.8,grpunconv.8,logoutd.8} \ - $PKG/usr/man/man8/{mkpasswd.8,newusers.8,pwconv.8,pwunconv.8} \ - $PKG/usr/man/{man3,cs,de,es,fi,tr,fr,hu,id,it,ja,ko,pl,pt_BR,ru,zh_CN,zh_TW} \ - $PKG/lib \ - $PKG/etc/{login.access,limits,default} + touch $PKG/var/log/{lastlog,faillog} + + rm -r $PKG/usr/bin/gpasswd \ + $PKG/usr/man/man1/gpasswd.1 \ + $PKG/usr/sbin/{chpasswd,grpconv,grpunconv,logoutd} \ + $PKG/usr/sbin/{newusers,pwconv,pwunconv} \ + $PKG/usr/man/man8/{chpasswd.8,grpconv.8,grpunconv.8,logoutd.8} \ + $PKG/usr/man/man8/{newusers.8,pwconv.8,pwunconv.8} \ + $PKG/usr/man/man5/gshadow.5 \ + $PKG/usr/man/man3 \ + $PKG/lib \ + $PKG/etc/{login.access,limits,default} } diff --git a/shadow/login.defs b/shadow/login.defs index 66b74e8f..69b71df4 100644 --- a/shadow/login.defs +++ b/shadow/login.defs @@ -42,7 +42,7 @@ PASS_CHANGE_TRIES 5 PASS_ALWAYS_WARN yes CHFN_AUTH yes CHFN_RESTRICT rwh -MD5_CRYPT_ENAB yes +ENCRYPT_METHOD MD5 PASS_MAX_LEN 8 DEFAULT_HOME yes USERGROUPS_ENAB no diff --git a/shadow/pwck b/shadow/pwck old mode 100755 new mode 100644 diff --git a/shadow/shadow-4.0.16-fix-useradd-usergroups.patch b/shadow/shadow-4.0.16-fix-useradd-usergroups.patch deleted file mode 100644 index 98fb7b37..00000000 --- a/shadow/shadow-4.0.16-fix-useradd-usergroups.patch +++ /dev/null @@ -1,108 +0,0 @@ -Taken from - http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/shadow/files/shadow-4.0.18.1-useradd-usermod.patch?rev=1.1&view=markup - -http://bugs.gentoo.org/128715 - -exact implementation details are still in discussion upstream, but this fixes -the behavior to not suck like current code - -Index: src/useradd.c -=================================================================== -RCS file: /cvsroot/shadow/src/useradd.c,v -retrieving revision 1.96 -diff -u -p -r1.96 useradd.c ---- src/useradd.c 30 May 2006 18:28:45 -0000 1.96 -+++ src/useradd.c 10 Jun 2006 22:13:32 -0000 -@@ -114,7 +114,7 @@ static int do_grp_update = 0; /* group f - static char *Prog; - - static int -- bflg = 0, /* new default root of home directory */ -+ bflg = 0, /* new default root of home directory */ - cflg = 0, /* comment (GECOS) field for new account */ - dflg = 0, /* home directory for new account */ - Dflg = 0, /* set/show new user default values */ -@@ -253,6 +253,12 @@ static void get_defaults (void) - const struct group *grp; - - /* -+ * Pull relevant settings from login.defs first. -+ */ -+ if (getdef_bool ("USERGROUPS_ENAB")) -+ nflg = -1; -+ -+ /* - * Open the defaults file for reading. - */ - -@@ -628,6 +634,8 @@ static void usage (void) - " -K, --key KEY=VALUE overrides /etc/login.defs defaults\n" - " -m, --create-home create home directory for the new user\n" - " account\n" -+ " -n, --user-group create a new group with the same name as the\n" -+ " new user\n" - " -o, --non-unique allow create user with duplicate\n" - " (non-unique) UID\n" - " -p, --password PASSWORD use encrypted password for the new user\n" -@@ -1009,6 +1017,7 @@ static void process_flags (int argc, cha - {"skel", required_argument, NULL, 'k'}, - {"key", required_argument, NULL, 'K'}, - {"create-home", no_argument, NULL, 'm'}, -+ {"user-group", no_argument, NULL, 'n'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, - {"shell", required_argument, NULL, 's'}, -@@ -1016,7 +1025,7 @@ static void process_flags (int argc, cha - {NULL, 0, NULL, '\0'} - }; - while ((c = -- getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:mMop:s:u:", -+ getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:mMnop:s:u:", - long_options, NULL)) != -1) { - switch (c) { - case 'b': -@@ -1156,6 +1165,9 @@ static void process_flags (int argc, cha - case 'm': - mflg++; - break; -+ case 'n': -+ nflg = 1; -+ break; - case 'o': - oflg++; - break; -@@ -1203,6 +1215,16 @@ static void process_flags (int argc, cha - usage (); - - /* -+ * Using --gid and --user-group doesn't make sense. -+ */ -+ if (nflg == -1 && gflg) -+ nflg = 0; -+ if (nflg && gflg) { -+ fprintf (stderr, _("%s: options -g and -n conflict\n"), Prog); -+ exit (E_BAD_ARG); -+ } -+ -+ /* - * Either -D or username is required. Defaults can be set with -D - * for the -b, -e, -f, -g, -s options only. - */ -@@ -1725,7 +1747,7 @@ int main (int argc, char **argv) - * to that group, use useradd -g username username. - * --bero - */ -- if (!gflg) { -+ if (nflg) { - if (getgrnam (user_name)) { - fprintf (stderr, - _ -@@ -1759,7 +1781,7 @@ int main (int argc, char **argv) - - /* do we have to add a group for that user? This is why we need to - * open the group files in the open_files() function --gafton */ -- if (!(nflg || gflg)) { -+ if (nflg) { - find_new_gid (); - grp_add (); - } diff --git a/shadow/shadow-4.0.18.1-useradd-usermod.diff b/shadow/shadow-4.0.18.1-useradd-usermod.diff deleted file mode 100644 index 8fe14329..00000000 --- a/shadow/shadow-4.0.18.1-useradd-usermod.diff +++ /dev/null @@ -1,42 +0,0 @@ ---- shadow-4.0.18.1.orig/src/useradd.c 2006-07-28 19:42:48.000000000 +0200 -+++ shadow-4.0.18.1/src/useradd.c 2006-08-04 09:24:34.000000000 +0200 -@@ -203,13 +203,17 @@ - long gid; - char *errptr; - -+ struct group* grp = getgrnam (grname); -+ if (grp) -+ return grp; -+ - gid = strtol (grname, &errptr, 10); - if (*errptr || errno == ERANGE || gid < 0) { - fprintf (stderr, - _("%s: invalid numeric argument '%s'\n"), Prog, grname); - exit (E_BAD_ARG); - } -- return getgrnam (grname); -+ return getgrgid (gid); - } - - static long get_number (const char *numstr) ---- shadow-4.0.18.1.orig/src/usermod.c 2006-07-28 19:42:48.000000000 +0200 -+++ shadow-4.0.18.1/src/usermod.c 2006-08-04 09:24:21.000000000 +0200 -@@ -165,13 +165,17 @@ - long val; - char *errptr; - -+ struct group* grp = getgrnam (grname); -+ if (grp) -+ return grp; -+ - val = strtol (grname, &errptr, 10); - if (*errptr || errno == ERANGE || val < 0) { - fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, - grname); - exit (E_BAD_ARG); - } -- return getgrnam (grname); -+ return getgrgid (val); - } - - /* diff --git a/shadow/shadow-4.1.0.patch b/shadow/shadow-4.1.0.patch new file mode 100644 index 00000000..39886a24 --- /dev/null +++ b/shadow/shadow-4.1.0.patch @@ -0,0 +1,35 @@ +diff -Nru shadow-4.1.0.orig/lib/encrypt.c shadow-4.1.0/lib/encrypt.c +--- shadow-4.1.0.orig/lib/encrypt.c 2008-01-22 18:32:09.000000000 +0100 ++++ shadow-4.1.0/lib/encrypt.c 2008-01-22 18:35:08.000000000 +0100 +@@ -32,6 +32,7 @@ + #ident "$Id: encrypt.c 1457 2007-11-24 00:37:37Z nekral-guest $" + + #include ++#include + #include "prototypes.h" + #include "defines.h" + char *pw_encrypt (const char *clear, const char *salt) +diff -Nru shadow-4.1.0.orig/libmisc/salt.c shadow-4.1.0/libmisc/salt.c +--- shadow-4.1.0.orig/libmisc/salt.c 2008-01-22 18:32:09.000000000 +0100 ++++ shadow-4.1.0/libmisc/salt.c 2008-01-22 18:32:50.000000000 +0100 +@@ -13,6 +13,7 @@ + + #include + #include ++#include + #include + #include "prototypes.h" + #include "defines.h" +diff -Nru shadow-4.1.0.orig/src/usermod.c shadow-4.1.0/src/usermod.c +--- shadow-4.1.0.orig/src/usermod.c 2008-01-22 18:32:09.000000000 +0100 ++++ shadow-4.1.0/src/usermod.c 2008-01-22 18:37:06.000000000 +0100 +@@ -1146,7 +1146,9 @@ + pw_locked = 0; + spw_locked = 0; + gr_locked = 0; ++#ifdef SHADOWGRP + sgr_locked = 0; ++#endif + + /* + * Close the DBM and/or flat files