include $(TOPDIR)/rules.mk
PKG_NAME:=shadow
-PKG_VERSION:=4.1.5.1
-PKG_RELEASE:=4
+PKG_VERSION:=4.2.1
+PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://pkg-shadow.alioth.debian.org/releases
-PKG_MD5SUM:=a00449aa439c69287b6d472191dc2247
+PKG_MD5SUM:=2bfafe7d4962682d31b5eba65dba4fc8
PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>
+PKG_LICENSE:=BSD-3-Clause
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
--without-acl \
--without-attr \
--without-tcb \
- --without-nscd
+ --without-nscd \
+ --disable-subordinate-ids \
define Package/shadow/Default
SECTION:=utils
-diff --git a/etc/login.defs b/etc/login.defs
-index 5b6fab3..79eeccf 100644
--- a/etc/login.defs
+++ b/etc/login.defs
@@ -111,7 +111,7 @@ NOLOGINS_FILE /etc/nologin
- # command is "-su". If not defined, then "ps" would display the
+ # command as "-su". If not defined, then ps(1) will display the
# name of the shell actually being run, e.g. something like "-sh".
#
-SU_NAME su
--- a/configure.in
+++ b/configure.in
-@@ -195,7 +195,6 @@ AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$sha
- dnl XXX - quick hack, should disappear before anyone notices :).
+@@ -197,7 +197,6 @@ dnl XXX - quick hack, should disappear b
AC_DEFINE(USE_SYSLOG, 1, [Define to use syslog().])
- AC_DEFINE(RLOGIN, 1, [Define if login should support the -r flag for rlogind.])
--AC_DEFINE(RUSEROK, 0, [Define to the ruserok() "success" return value (0 or 1).])
+ if test "$ac_cv_func_ruserok" = "yes"; then
+ AC_DEFINE(RLOGIN, 1, [Define if login should support the -r flag for rlogind.])
+- AC_DEFINE(RUSEROK, 0, [Define to the ruserok() "success" return value (0 or 1).])
+ fi
AC_ARG_ENABLE(shadowgrp,
- [AC_HELP_STRING([--enable-shadowgrp], [enable shadow group support @<:@default=yes@:>@])],
--- /dev/null
+--- a/src/usermod.c
++++ b/src/usermod.c
+@@ -1361,6 +1361,7 @@ static void process_flags (int argc, cha
+ exit (E_UID_IN_USE);
+ }
+
++#ifdef ENABLE_SUBIDS
+ if ( (vflg || Vflg)
+ && !is_sub_uid) {
+ fprintf (stderr,
+@@ -1376,6 +1377,7 @@ static void process_flags (int argc, cha
+ Prog, sub_gid_dbname (), "-w", "-W");
+ exit (E_USAGE);
+ }
++#endif
+ }
+
+ /*
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -52,7 +52,10 @@ usbin_PROGRAMS = \
+ noinst_PROGRAMS = id sulogin
+
+ suidbins = su
+-suidubins = chage chfn chsh expiry gpasswd newgrp passwd newuidmap newgidmap
++suidubins = chage chfn chsh expiry gpasswd newgrp passwd
++if ENABLE_SUBIDS
++ suidubins += newuidmap newgidmap
++endif
+ if ACCT_TOOLS_SETUID
+ suidubins += chage chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod
+ endif