Author: pjd
Date: Thu Jan  9 09:19:59 2014
New Revision: 260471
URL: http://svnweb.freebsd.org/changeset/base/260471

Log:
  Always create /var/run/casper with correct permissions and don't depend on the
  calling process' umask.
  
  Submitted by: Mikhail <m...@lenta.ru>

Modified:
  head/sbin/casperd/casperd.c

Modified: head/sbin/casperd/casperd.c
==============================================================================
--- head/sbin/casperd/casperd.c Thu Jan  9 09:16:35 2014        (r260470)
+++ head/sbin/casperd/casperd.c Thu Jan  9 09:19:59 2014        (r260471)
@@ -541,6 +541,7 @@ main_loop(const char *sockpath, struct p
        struct casper_service *casserv;
        struct service_connection *sconn, *sconntmp;
        int lsock, sock, maxfd, ret;
+       mode_t oldumask;
 
        lsock = socket(AF_UNIX, SOCK_STREAM, 0);
        if (lsock == -1)
@@ -554,8 +555,10 @@ main_loop(const char *sockpath, struct p
            sizeof(sun.sun_path));
        sun.sun_len = SUN_LEN(&sun);
 
+       oldumask = umask(S_IXUSR | S_IXGRP | S_IXOTH);
        if (bind(lsock, (struct sockaddr *)&sun, sizeof(sun)) == -1)
                pjdlog_exit(1, "Unable to bind to %s", sockpath);
+       (void)umask(oldumask);
        if (listen(lsock, 8) == -1)
                pjdlog_exit(1, "Unable to listen on %s", sockpath);
 
_______________________________________________
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