Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Aug 2017 18:32:58 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r447784 - in head/security/sudo: . files
Message-ID:  <201708111832.v7BIWwJa026357@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Fri Aug 11 18:32:57 2017
New Revision: 447784
URL: https://svnweb.freebsd.org/changeset/ports/447784

Log:
  - Fix sudo sending a 2nd SIGINFO on ^T to processes, which is already
    handled by the kernel sending it to the entire controlling terminal's
    process group.
    - This fixes ^T with 'sudo poudriere ...' showing a status log twice.
    - This is intended to be upstreamed.
  
  Approved by:	garga (maintainer)
  Tested by:	swills, bdrewery
  Reviewed/Discussed with:	kib
  Reported by:	kwm, swills, bapt, dim, kib, many others
  MFH:		2017Q3

Added:
  head/security/sudo/files/patch-src_exec__nopty.c   (contents, props changed)
Modified:
  head/security/sudo/Makefile

Modified: head/security/sudo/Makefile
==============================================================================
--- head/security/sudo/Makefile	Fri Aug 11 18:17:53 2017	(r447783)
+++ head/security/sudo/Makefile	Fri Aug 11 18:32:57 2017	(r447784)
@@ -3,7 +3,7 @@
 
 PORTNAME=	sudo
 PORTVERSION=	1.8.20p2
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	security
 MASTER_SITES=	SUDO
 

Added: head/security/sudo/files/patch-src_exec__nopty.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/sudo/files/patch-src_exec__nopty.c	Fri Aug 11 18:32:57 2017	(r447784)
@@ -0,0 +1,26 @@
+--- src/exec_nopty.c.orig	2017-08-09 17:20:41 UTC
++++ src/exec_nopty.c
+@@ -201,7 +201,7 @@ exec_nopty(struct command_details *details, struct com
+ 	sudo_warn(U_("unable to set handler for signal %d"), SIGCHLD);
+     if (sudo_sigaction(SIGCONT, &sa, NULL) != 0)
+ 	sudo_warn(U_("unable to set handler for signal %d"), SIGCONT);
+-#ifdef SIGINFO
++#if defined(SIGINFO) && !defined(__FreeBSD__)
+     if (sudo_sigaction(SIGINFO, &sa, NULL) != 0)
+ 	sudo_warn(U_("unable to set handler for signal %d"), SIGINFO);
+ #endif
+@@ -222,6 +222,14 @@ exec_nopty(struct command_details *details, struct com
+ 	sudo_warn(U_("unable to set handler for signal %d"), SIGQUIT);
+     if (sudo_sigaction(SIGTSTP, &sa, NULL) != 0)
+ 	sudo_warn(U_("unable to set handler for signal %d"), SIGTSTP);
++#if defined(SIGINFO) && defined(__FreeBSD__)
++    /*
++     * FreeBSD's ^T will generate a SIGINFO to the controlling terminal's
++     * process group.
++     */
++    if (sudo_sigaction(SIGINFO, &sa, NULL) != 0)
++	sudo_warn(U_("unable to set handler for signal %d"), SIGINFO);
++#endif
+ 
+     /*
+      * The policy plugin's session init must be run before we fork



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708111832.v7BIWwJa026357>