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 <john.marsh...@riverwillow.com.au>
  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);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to