summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/socket-server.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-07-19 21:48:35 +0000
committerLennart Poettering <lennart@poettering.net>2006-07-19 21:48:35 +0000
commita382492204ad3588c0c837e120e5bc31578df72a (patch)
tree3b9abb372bc4f5882136be2eaa821cc7f137a4b3 /src/pulsecore/socket-server.c
parent340803b30c154ead29795454416592ff9d0e0df2 (diff)
* add new function pa_check_in_group()
* abstract credential APis a little bit by introducing HAVE_CREDS and a structure pa_creds * rework credential authentication * fix module-volume-restore and friends for usage in system-wide instance * remove loopback= argument from moulde-*-protocol-tcp since it is a superset of listen= and usually a bad idea anyway since the user shouldn't load the TCP module at all if he doesn't want remote access * rename a few variables in the jack modules to make sure they don't conflict with symbols defined in the system headers * add server address for system-wide daemons to the default server list for the the client libs * update todo git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1109 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/socket-server.c')
-rw-r--r--src/pulsecore/socket-server.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/pulsecore/socket-server.c b/src/pulsecore/socket-server.c
index 77ea13e7..25483592 100644
--- a/src/pulsecore/socket-server.c
+++ b/src/pulsecore/socket-server.c
@@ -30,6 +30,7 @@
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
+#include <sys/stat.h>
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
@@ -185,12 +186,18 @@ pa_socket_server* pa_socket_server_new_unix(pa_mainloop_api *m, const char *file
sa.sun_path[sizeof(sa.sun_path) - 1] = 0;
pa_socket_low_delay(fd);
-
+
if (bind(fd, (struct sockaddr*) &sa, SUN_LEN(&sa)) < 0) {
pa_log(__FILE__": bind(): %s", pa_cstrerror(errno));
goto fail;
}
+ /* Allow access from all clients. Sockets like this one should
+ * always be put inside a directory with proper access rights,
+ * because not all OS check the access rights on the socket
+ * inodes. */
+ chmod(filename, 0777);
+
if (listen(fd, 5) < 0) {
pa_log(__FILE__": listen(): %s", pa_cstrerror(errno));
goto fail;