diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-07-19 21:48:35 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-07-19 21:48:35 +0000 |
commit | a382492204ad3588c0c837e120e5bc31578df72a (patch) | |
tree | 3b9abb372bc4f5882136be2eaa821cc7f137a4b3 /src/pulsecore/socket-server.c | |
parent | 340803b30c154ead29795454416592ff9d0e0df2 (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.c | 9 |
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; |