From 58a72e3d6c07ca57231ada1576ba86af346197d4 Mon Sep 17 00:00:00 2001 From: Nicolás Reynolds Date: Fri, 24 Jan 2014 03:49:02 +0000 Subject: Fri Jan 24 03:41:27 UTC 2014 --- core/sudo/PKGBUILD | 6 ++-- ...p3-remove-backchannel-event-if-we-get-eof.patch | 35 ++++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 core/sudo/sudo-1.8.9p3-remove-backchannel-event-if-we-get-eof.patch (limited to 'core/sudo') 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 # Contributor: Allan McRae # Contributor: Tom Newsom 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 +# 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; + -- cgit v1.2.3-54-g00ecf