From 17274b11b92b673c4e4934597e0139714d0eb8ae Mon Sep 17 00:00:00 2001 From: Sergey Popov Date: Sat, 28 Apr 2012 13:33:21 +0400 Subject: [PATCH] modify socket file permissions by changing umask --- daemon/yasnd-sock.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/daemon/yasnd-sock.c b/daemon/yasnd-sock.c index d81655e..d810876 100644 --- a/daemon/yasnd-sock.c +++ b/daemon/yasnd-sock.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -57,6 +58,10 @@ void* server_socket(void* param) address.sun_family = AF_UNIX; snprintf(address.sun_path, UNIX_PATH_MAX, sock_path); + // Set umask value for new socket file + mode_t old_umask = umask(077); + + // Create(bind) socket if(bind(socket_fd, (struct sockaddr *) &address, sizeof(struct sockaddr_un)) != 0) @@ -65,6 +70,9 @@ void* server_socket(void* param) return (void*)1; } + // Return previous umask value + umask(old_umask); + if(listen(socket_fd, 5) != 0) { log_event("listen() call failed");