From owner-svn-src-head@FreeBSD.ORG Wed Mar 13 09:41:55 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AC4132F4; Wed, 13 Mar 2013 09:41:55 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9F40AFC; Wed, 13 Mar 2013 09:41:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2D9ftY7065314; Wed, 13 Mar 2013 09:41:55 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2D9ftfp065313; Wed, 13 Mar 2013 09:41:55 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201303130941.r2D9ftfp065313@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Wed, 13 Mar 2013 09:41:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248231 - head/crypto/openssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 09:41:55 -0000 Author: des Date: Wed Mar 13 09:41:55 2013 New Revision: 248231 URL: http://svnweb.freebsd.org/changeset/base/248231 Log: Unlike OpenBSD's, our setusercontext() will intentionally ignore the user's own umask setting (from ~/.login.conf) unless running with the user's UID. Therefore, we need to call it again with LOGIN_SETUMASK after changing UID. PR: bin/176740 Submitted by: John Marshall MFC after: 1 week Modified: head/crypto/openssh/session.c Modified: head/crypto/openssh/session.c ============================================================================== --- head/crypto/openssh/session.c Wed Mar 13 06:42:01 2013 (r248230) +++ head/crypto/openssh/session.c Wed Mar 13 09:41:55 2013 (r248231) @@ -1533,6 +1533,12 @@ do_setusercontext(struct passwd *pw) perror("unable to set user context (setuser)"); exit(1); } + + /* + * FreeBSD's setusercontext() will not apply the user's + * own umask setting unless running with the user's UID. + */ + setusercontext(lc, pw, pw->pw_uid, LOGIN_SETUMASK); #else /* Permanently switch to the desired uid. */ permanently_set_uid(pw);