From owner-svn-src-all@FreeBSD.ORG Sun Jan 17 17:52:35 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF576106566C; Sun, 17 Jan 2010 17:52:35 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF8998FC16; Sun, 17 Jan 2010 17:52:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0HHqZpU099662; Sun, 17 Jan 2010 17:52:35 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0HHqZPU099660; Sun, 17 Jan 2010 17:52:35 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201001171752.o0HHqZPU099660@svn.freebsd.org> From: Ed Schouten Date: Sun, 17 Jan 2010 17:52:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202500 - head/lib/libutil X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jan 2010 17:52:36 -0000 Author: ed Date: Sun Jan 17 17:52:35 2010 New Revision: 202500 URL: http://svn.freebsd.org/changeset/base/202500 Log: Fix a regression that was introduced in r191882. I changed login_tty() to only work when the application is not a session leader yet. This works fine for applications in the base system, but it turns out various applications call this function after daemonizing, which means they already use their own session. If setsid() fails, just call tcsetsid() on the current session. tcsetsid() will already perform proper security checks. Reported by: Oliver Lehmann MFC after: 1 week Modified: head/lib/libutil/login_tty.c Modified: head/lib/libutil/login_tty.c ============================================================================== --- head/lib/libutil/login_tty.c Sun Jan 17 17:49:28 2010 (r202499) +++ head/lib/libutil/login_tty.c Sun Jan 17 17:52:35 2010 (r202500) @@ -50,7 +50,7 @@ login_tty(int fd) s = setsid(); if (s == -1) - return (-1); + s = getsid(0); if (tcsetsid(fd, s) == -1) return (-1); (void) dup2(fd, 0);