diff options
author | Mike Frysinger <vapier@gentoo.org> | 2007-10-05 23:26:57 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2007-10-05 23:26:57 +0000 |
commit | 5d652a469e1b5e822759a5a6279435e3b4c82935 (patch) | |
tree | f57dc437dfeef056c0086907f2d20302778de452 /sys-apps/util-linux/files | |
parent | Version bump to 0.6.5069 (diff) | |
download | gentoo-2-5d652a469e1b5e822759a5a6279435e3b4c82935.tar.gz gentoo-2-5d652a469e1b5e822759a5a6279435e3b4c82935.tar.bz2 gentoo-2-5d652a469e1b5e822759a5a6279435e3b4c82935.zip |
Add fix from upstream for `script` breakage with SIGWINCH #191452 by Eric Augustus. Add security fix from upstream. Fix from Petr Pisar for swap on cryptoloop #182031. Add by in loop-aes support via USE=crypt #193088 by Hank Leininger and Alon Bar-Lev.
(Portage version: 2.1.3.11)
Diffstat (limited to 'sys-apps/util-linux/files')
5 files changed, 128 insertions, 2 deletions
diff --git a/sys-apps/util-linux/files/crypto-loop.initd b/sys-apps/util-linux/files/crypto-loop.initd index ff5f63b0f97d..21e0ef9525b0 100755 --- a/sys-apps/util-linux/files/crypto-loop.initd +++ b/sys-apps/util-linux/files/crypto-loop.initd @@ -1,7 +1,7 @@ #!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/files/crypto-loop.initd,v 1.1 2005/04/29 23:54:25 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/files/crypto-loop.initd,v 1.2 2007/10/05 23:26:57 vapier Exp $ depend() { need checkroot modules @@ -51,7 +51,7 @@ stop() { for loop in $(ls /dev/loop[0-9]) ; do losetup ${loop} &> /dev/null if [[ $? == 0 ]] ; then - umount ${loop} &>/dev/null + umount ${loop} &>/dev/null || swapoff "${loop}" &>/dev/null if ! /sbin/losetup -d ${loop} &> /dev/null ; then ewarn "Failure deconfiguring ${loop}." status=1 diff --git a/sys-apps/util-linux/files/digest-util-linux-2.12r-r8 b/sys-apps/util-linux/files/digest-util-linux-2.12r-r8 new file mode 100644 index 000000000000..91a63b37ea77 --- /dev/null +++ b/sys-apps/util-linux/files/digest-util-linux-2.12r-r8 @@ -0,0 +1,12 @@ +MD5 1020b93d723f1d573bacfe4a3362fc25 loop-AES-v3.1f.tar.bz2 173423 +RMD160 7490e3d90727621fde3052fd1747af338518b158 loop-AES-v3.1f.tar.bz2 173423 +SHA256 f744f3dd74b554d1a2e3788752c4a63049647bfd2bae71d9fff2427c0e175ca7 loop-AES-v3.1f.tar.bz2 173423 +MD5 dee120b17425e1edf0a0c64f0e249c20 util-linux-2.12i-cryptoapi-losetup.patch.bz2 4800 +RMD160 82e54aedd691aa93b67de9dfb9049a3f012a29f7 util-linux-2.12i-cryptoapi-losetup.patch.bz2 4800 +SHA256 565a0cc6c3c148a66969276ae9d34dc34f19fbd45df2740343793ee067b3700f util-linux-2.12i-cryptoapi-losetup.patch.bz2 4800 +MD5 6e0deccf97db98d2ae751577d019efa4 util-linux-2.12i.tar.gz 1975468 +RMD160 f055a94ad247dc59293f7b933c12bdda135159fc util-linux-2.12i.tar.gz 1975468 +SHA256 28e2fc70d7507e158d8861c958461aef1c4bbf4157a8ebbc237943944e5a8c4a util-linux-2.12i.tar.gz 1975468 +MD5 af9d9e03038481fbf79ea3ac33f116f9 util-linux-2.12r.tar.bz2 1370907 +RMD160 51950aafd5cbcb574e69fbd6b28d15a106147e64 util-linux-2.12r.tar.bz2 1370907 +SHA256 b8e499b338ce9fbd1fb315194b26540ec823c0afc46c9e145ac7a3e38ad57e6b util-linux-2.12r.tar.bz2 1370907 diff --git a/sys-apps/util-linux/files/digest-util-linux-2.13-r2 b/sys-apps/util-linux/files/digest-util-linux-2.13-r2 new file mode 100644 index 000000000000..35f8c626232c --- /dev/null +++ b/sys-apps/util-linux/files/digest-util-linux-2.13-r2 @@ -0,0 +1,6 @@ +MD5 601caadc3248fcd6b5911fc6339451e9 util-linux-ng-2.13-1.diff.bz2 40468 +RMD160 defb0fa7abb39963d1d168c4fbf8352ceb2a916c util-linux-ng-2.13-1.diff.bz2 40468 +SHA256 6606666808f510cc8aeead408e14d3226b06219b0752ca3badea7acd154929cd util-linux-ng-2.13-1.diff.bz2 40468 +MD5 2175a6e64ba0cf8ff05402eaee33e4b0 util-linux-ng-2.13.tar.bz2 2702618 +RMD160 499b1c5c2060b23d8bf504122a22122af99eb7fa util-linux-ng-2.13.tar.bz2 2702618 +SHA256 002412e93d8e85b1796fdbe65bbb0a4d193d0317a7155fda4270667e08bdfbfc util-linux-ng-2.13.tar.bz2 2702618 diff --git a/sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch b/sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch new file mode 100644 index 000000000000..e8ed571be2ee --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch @@ -0,0 +1,56 @@ +commit 2b8bbb5fb0f024ea3917fedbbbaf0fab1c1f6555 +Author: Karel Zak <kzak@redhat.com> +Date: Fri Oct 5 12:22:13 2007 +0200 + + script: dies on SIGWINCH + + The "doinput" process doesn't make a difference between SIGWINCH and + SIGCHILD. This process also sends unnecessary SIGWINCH to child (the + signal is ignored by child). Fixed. + + Signed-off-by: Karel Zak <kzak@redhat.com> + +diff --git a/misc-utils/script.c b/misc-utils/script.c +index d3272df..3b957d8 100644 +--- a/misc-utils/script.c ++++ b/misc-utils/script.c +@@ -99,6 +99,7 @@ int tflg = 0; + static char *progname; + + int die; ++int resized; + + static void + die_if_link(char *fn) { +@@ -235,8 +236,14 @@ doinput() { + if (die == 0 && child && kill(child, 0) == -1 && errno == ESRCH) + die = 1; + +- while (die == 0 && (cc = read(0, ibuf, BUFSIZ)) > 0) +- (void) write(master, ibuf, cc); ++ while (die == 0) { ++ if ((cc = read(0, ibuf, BUFSIZ)) > 0) ++ (void) write(master, ibuf, cc); ++ else if (cc == -1 && errno == EINTR && resized) ++ resized = 0; ++ else ++ break; ++ } + + done(); + } +@@ -255,11 +262,10 @@ finish(int dummy) { + + void + resize(int dummy) { ++ resized = 1; + /* transmit window change information to the child */ + (void) ioctl(0, TIOCGWINSZ, (char *)&win); + (void) ioctl(slave, TIOCSWINSZ, (char *)&win); +- +- kill(child, SIGWINCH); + } + + /* + + diff --git a/sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch b/sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch new file mode 100644 index 000000000000..a3758ddbd64d --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch @@ -0,0 +1,52 @@ +From: Ludwig Nussel <ludwig.nussel@suse.de> +Date: Thu, 20 Sep 2007 12:57:20 +0000 (+0200) +Subject: mount: doesn't drop privileges properly when calling helpers +X-Git-Url: http://git.kernel.org/?p=utils%2Futil-linux-ng%2Futil-linux-ng.git;a=commitdiff_plain;h=ebbeb2c7ac1b00b6083905957837a271e80b187e + +mount: doesn't drop privileges properly when calling helpers + +{,u}mount calls setuid() and setgid() in the wrong order and doesn't checking +the return value of set{u,g}id(() when running helpers like mount.nfs. + +Signed-off-by: Ludwig Nussel <ludwig.nussel@suse.de> +Signed-off-by: Karel Zak <kzak@redhat.com> +--- + +diff --git a/mount/mount.c b/mount/mount.c +index 40699f3..5bc2b30 100644 +--- a/mount/mount.c ++++ b/mount/mount.c +@@ -634,8 +634,12 @@ check_special_mountprog(const char *spec, const char *node, const char *type, in + char *oo, *mountargs[10]; + int i = 0; + +- setuid(getuid()); +- setgid(getgid()); ++ if(setgid(getgid()) < 0) ++ die(EX_FAIL, _("mount: cannot set group id: %s"), strerror(errno)); ++ ++ if(setuid(getuid()) < 0) ++ die(EX_FAIL, _("mount: cannot set user id: %s"), strerror(errno)); ++ + oo = fix_opts_string (flags, extra_opts, NULL); + mountargs[i++] = mountprog; /* 1 */ + mountargs[i++] = (char *) spec; /* 2 */ +diff --git a/mount/umount.c b/mount/umount.c +index b3100c9..3221619 100644 +--- a/mount/umount.c ++++ b/mount/umount.c +@@ -102,8 +102,12 @@ check_special_umountprog(const char *spec, const char *node, + char *umountargs[8]; + int i = 0; + +- setuid(getuid()); +- setgid(getgid()); ++ if(setgid(getgid()) < 0) ++ die(EX_FAIL, _("umount: cannot set group id: %s"), strerror(errno)); ++ ++ if(setuid(getuid()) < 0) ++ die(EX_FAIL, _("umount: cannot set user id: %s"), strerror(errno)); ++ + umountargs[i++] = umountprog; + umountargs[i++] = xstrdup(node); + if (nomtab) |