collectd-exec(5): Improved description of the value-list identifier.
[collectd.git] / src / unixsock.c
index ddb3a52..c7e0c44 100644 (file)
@@ -29,6 +29,7 @@
 #include <pthread.h>
 
 #include <sys/socket.h>
+#include <sys/stat.h>
 #include <sys/un.h>
 
 #include <grp.h>
@@ -352,18 +353,21 @@ static int us_open_socket (void)
                        sizeof (sa.sun_path) - 1);
        /* unlink (sa.sun_path); */
 
+       DEBUG ("unixsock plugin: socket path = %s", sa.sun_path);
+
        status = bind (sock_fd, (struct sockaddr *) &sa, sizeof (sa));
        if (status != 0)
        {
                char errbuf[1024];
                sstrerror (errno, errbuf, sizeof (errbuf));
-               DEBUG ("bind failed: %s; sa.sun_path = %s", errbuf, sa.sun_path);
                ERROR ("unixsock plugin: bind failed: %s", errbuf);
                close (sock_fd);
                sock_fd = -1;
                return (-1);
        }
 
+       chmod (sa.sun_path, sock_perms);
+
        status = listen (sock_fd, 8);
        if (status != 0)
        {
@@ -622,7 +626,7 @@ static void *us_server_thread (void *arg)
 
        while (loop != 0)
        {
-               DEBUG ("Calling accept..");
+               DEBUG ("unixsock plugin: Calling accept..");
                status = accept (sock_fd, NULL, NULL);
                if (status < 0)
                {