summaryrefslogtreecommitdiff
path: root/core/sudo
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-01-24 03:49:02 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-01-24 03:49:02 +0000
commit58a72e3d6c07ca57231ada1576ba86af346197d4 (patch)
tree1e2ab396a5c53f24fedef939833ca53fd8566847 /core/sudo
parent1a04b89cbb8e27e4622005c896745498af51ef45 (diff)
Fri Jan 24 03:41:27 UTC 2014
Diffstat (limited to 'core/sudo')
-rw-r--r--core/sudo/PKGBUILD6
-rw-r--r--core/sudo/sudo-1.8.9p3-remove-backchannel-event-if-we-get-eof.patch35
2 files changed, 38 insertions, 3 deletions
diff --git a/core/sudo/PKGBUILD b/core/sudo/PKGBUILD
index 8adcf754b..4e5c7e5bf 100644
--- a/core/sudo/PKGBUILD
+++ b/core/sudo/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 197841 2013-10-30 11:07:01Z allan $
+# $Id: PKGBUILD 204571 2014-01-23 02:27:37Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=sudo
-_sudover=1.8.8
+_sudover=1.8.9p4
pkgver=${_sudover/p/.p}
pkgrel=1
pkgdesc="Give certain users the ability to run some commands as root"
@@ -16,7 +16,7 @@ depends=('glibc' 'pam')
backup=('etc/sudoers' 'etc/pam.d/sudo')
source=(http://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz{,.sig}
sudo.pam)
-sha256sums=('9f911c1e9297fb8006deb52fa81197a8d06b9d54e70672f723c467ecae992fc9'
+sha256sums=('1943f9e9409c6542935d2e2d862c48d0d69dcf27288b294b8b537c02f52ac7a7'
'SKIP'
'e7de79d2c73f2b32b20a8e797e54777a2bf19788ec03e48decd6c15cd93718ae')
diff --git a/core/sudo/sudo-1.8.9p3-remove-backchannel-event-if-we-get-eof.patch b/core/sudo/sudo-1.8.9p3-remove-backchannel-event-if-we-get-eof.patch
new file mode 100644
index 000000000..684aedaec
--- /dev/null
+++ b/core/sudo/sudo-1.8.9p3-remove-backchannel-event-if-we-get-eof.patch
@@ -0,0 +1,35 @@
+
+# HG changeset patch
+# User Todd C. Miller <Todd.Miller@courtesan.com>
+# Date 1389722096 25200
+# Node ID a204b69d91f786444899ce3fc95ed535b6e32d33
+# Parent 987087ce465828da121b9d67412f42feaea06d56
+If not logging I/O we may get EOF when the command is executed and
+the other end of the backchannel is closed. Just remove the
+backchannel event in this case or we will continue to receive
+the event. Bug #631
+
+diff -r 987087ce4658 -r a204b69d91f7 src/exec.c
+--- a/src/exec.c Tue Jan 14 09:26:14 2014 -0700
++++ b/src/exec.c Tue Jan 14 10:54:56 2014 -0700
+@@ -230,11 +230,14 @@
+ /* Short read or EOF. */
+ sudo_debug_printf(SUDO_DEBUG_ERROR,
+ "failed to read child status: %s", n ? "short read" : "EOF");
+- /*
+- * If not logging I/O we may get EOF when the command is
+- * executed and sv is closed. It is safe to ignore this.
+- */
+- if (ec->log_io || n != 0) {
++ if (!ec->log_io && n == 0) {
++ /*
++ * If not logging I/O we may get EOF when the command is
++ * executed and the other end of the backchannel is closed.
++ * Just remove the event in this case.
++ */
++ (void)sudo_ev_del(ec->evbase, backchannel_event);
++ } else {
+ /* XXX - need new CMD_ type for monitor errors. */
+ errno = n ? EIO : ECONNRESET;
+ ec->cstat->type = CMD_ERRNO;
+