diff --git a/utils/shadow/Makefile b/utils/shadow/Makefile index ad9bb1155..d56be8271 100644 --- a/utils/shadow/Makefile +++ b/utils/shadow/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2008-2014 OpenWrt.org +# Copyright (C) 2008-2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=shadow PKG_VERSION:=4.2.1 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://pkg-shadow.alioth.debian.org/releases diff --git a/utils/shadow/patches/004-fix-su-controoling-term.patch b/utils/shadow/patches/004-fix-su-controoling-term.patch new file mode 100644 index 000000000..4c130c736 --- /dev/null +++ b/utils/shadow/patches/004-fix-su-controoling-term.patch @@ -0,0 +1,16 @@ +--- a/src/su.c ++++ b/src/su.c +@@ -1090,8 +1090,12 @@ + + if (fd >= 0) { + err = ioctl (fd, TIOCNOTTY, (char *) 0); ++ if (-1 == err && ENOTTY == errno) { ++ /* There are no controlling terminal already */ ++ err = 0; ++ } + (void) close (fd); +- } else if (ENXIO == errno) { ++ } else if (ENXIO == errno || EACCES == errno) { + /* There are no controlling terminal already */ + err = 0; + }