From a14b3c86518e0b161d7356e7f3de01bb220bade9 Mon Sep 17 00:00:00 2001 From: Pelle Johnsen Date: Fri, 3 Jul 2015 13:44:10 +0200 Subject: [PATCH] shadow: fix su controlling terminal #1521 Signed-off-by: Pelle Johnsen --- utils/shadow/Makefile | 4 ++-- .../patches/004-fix-su-controoling-term.patch | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 utils/shadow/patches/004-fix-su-controoling-term.patch 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; + }