[polypaudio-commits] r548 - in /trunk/src: Makefile.am modules/module-protocol-stub.c polypcore/socket-server.c polypcore/socket-server.h

svnmailer-noreply at 0pointer.de svnmailer-noreply at 0pointer.de
Mon Feb 20 17:08:54 PST 2006


Author: lennart
Date: Tue Feb 21 02:08:53 2006
New Revision: 548

URL: http://0pointer.de/cgi-bin/viewcvs.cgi?rev=548&root=polypaudio&view=rev
Log:
* Don't build seperate ipv4/ipv6 versions of the protocol plugins
* Instead try IPv6 and if that fails fall back to IPv4

Modified:
    trunk/src/Makefile.am
    trunk/src/modules/module-protocol-stub.c
    trunk/src/polypcore/socket-server.c
    trunk/src/polypcore/socket-server.h

Modified: trunk/src/Makefile.am
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/Makefile.am?rev=548&root=polypaudio&r1=547&r2=548&view=diff
==============================================================================
--- trunk/src/Makefile.am (original)
+++ trunk/src/Makefile.am Tue Feb 21 02:08:53 2006
@@ -697,13 +697,9 @@
 modlib_LTLIBRARIES += \
 		module-cli.la \
 		module-cli-protocol-tcp.la \
-		module-cli-protocol-tcp6.la \
 		module-simple-protocol-tcp.la \
-		module-simple-protocol-tcp6.la \
 		module-esound-protocol-tcp.la \
-		module-esound-protocol-tcp6.la \
 		module-native-protocol-tcp.la \
-		module-native-protocol-tcp6.la \
 		module-native-protocol-fd.la \
 		module-sine.la \
 		module-combine.la \
@@ -712,7 +708,6 @@
 		module-null-sink.la \
 		module-esound-sink.la \
 		module-http-protocol-tcp.la \
-		module-http-protocol-tcp6.la \
 		module-detect.la
 
 if HAVE_AF_UNIX
@@ -792,18 +787,14 @@
 SYMDEF_FILES = \
 		modules/module-cli-symdef.h \
 		modules/module-cli-protocol-tcp-symdef.h \
-		modules/module-cli-protocol-tcp6-symdef.h \
 		modules/module-cli-protocol-unix-symdef.h \
 		modules/module-pipe-sink-symdef.h \
 		modules/module-pipe-source-symdef.h \
 		modules/module-simple-protocol-tcp-symdef.h \
-		modules/module-simple-protocol-tcp6-symdef.h \
 		modules/module-simple-protocol-unix-symdef.h \
 		modules/module-esound-protocol-tcp-symdef.h \
-		modules/module-esound-protocol-tcp6-symdef.h \
 		modules/module-esound-protocol-unix-symdef.h \
 		modules/module-native-protocol-tcp-symdef.h \
-		modules/module-native-protocol-tcp6-symdef.h \
 		modules/module-native-protocol-unix-symdef.h \
 		modules/module-native-protocol-fd-symdef.h \
 		modules/module-sine-symdef.h \
@@ -819,7 +810,6 @@
 		modules/module-lirc-symdef.h \
 		modules/module-mmkbd-evdev-symdef.h \
 		modules/module-http-protocol-tcp-symdef.h \
-		modules/module-http-protocol-tcp6-symdef.h \
 		modules/module-http-protocol-unix-symdef.h \
 		modules/module-x11-bell-symdef.h \
 		modules/module-x11-publish-symdef.h \
@@ -844,11 +834,6 @@
 module_simple_protocol_tcp_la_LDFLAGS = -module -avoid-version
 module_simple_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-simple.la libsocket-server.la
 
-module_simple_protocol_tcp6_la_SOURCES = modules/module-protocol-stub.c
-module_simple_protocol_tcp6_la_CFLAGS = -DUSE_TCP6_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
-module_simple_protocol_tcp6_la_LDFLAGS = -module -avoid-version
-module_simple_protocol_tcp6_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-simple.la libsocket-server.la
-
 module_simple_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
 module_simple_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
 module_simple_protocol_unix_la_LDFLAGS = -module -avoid-version
@@ -865,11 +850,6 @@
 module_cli_protocol_tcp_la_LDFLAGS = -module -avoid-version
 module_cli_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-cli.la libsocket-server.la
 
-module_cli_protocol_tcp6_la_SOURCES = modules/module-protocol-stub.c
-module_cli_protocol_tcp6_la_CFLAGS = -DUSE_TCP6_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
-module_cli_protocol_tcp6_la_LDFLAGS = -module -avoid-version
-module_cli_protocol_tcp6_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-cli.la libsocket-server.la
-
 module_cli_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
 module_cli_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
 module_cli_protocol_unix_la_LDFLAGS = -module -avoid-version
@@ -882,11 +862,6 @@
 module_http_protocol_tcp_la_LDFLAGS = -module -avoid-version
 module_http_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-http.la libsocket-server.la
 
-module_http_protocol_tcp6_la_SOURCES = modules/module-protocol-stub.c
-module_http_protocol_tcp6_la_CFLAGS = -DUSE_TCP6_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
-module_http_protocol_tcp6_la_LDFLAGS = -module -avoid-version
-module_http_protocol_tcp6_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-http.la libsocket-server.la
-
 module_http_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
 module_http_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
 module_http_protocol_unix_la_LDFLAGS = -module -avoid-version
@@ -899,11 +874,6 @@
 module_native_protocol_tcp_la_LDFLAGS = -module -avoid-version
 module_native_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-native.la libsocket-server.la
 
-module_native_protocol_tcp6_la_SOURCES = modules/module-protocol-stub.c
-module_native_protocol_tcp6_la_CFLAGS = -DUSE_TCP6_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
-module_native_protocol_tcp6_la_LDFLAGS = -module -avoid-version
-module_native_protocol_tcp6_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-native.la libsocket-server.la
-
 module_native_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
 module_native_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
 module_native_protocol_unix_la_LDFLAGS = -module -avoid-version
@@ -920,11 +890,6 @@
 module_esound_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
 module_esound_protocol_tcp_la_LDFLAGS = -module -avoid-version
 module_esound_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-esound.la libsocket-server.la
-
-module_esound_protocol_tcp6_la_SOURCES = modules/module-protocol-stub.c
-module_esound_protocol_tcp6_la_CFLAGS = -DUSE_TCP6_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
-module_esound_protocol_tcp6_la_LDFLAGS = -module -avoid-version
-module_esound_protocol_tcp6_la_LIBADD = $(AM_LIBADD) libpolypcore.la libprotocol-esound.la libsocket-server.la
 
 module_esound_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
 module_esound_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)

Modified: trunk/src/modules/module-protocol-stub.c
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/modules/module-protocol-stub.c?rev=548&root=polypaudio&r1=547&r2=548&view=diff
==============================================================================
--- trunk/src/modules/module-protocol-stub.c (original)
+++ trunk/src/modules/module-protocol-stub.c Tue Feb 21 02:08:53 2006
@@ -53,9 +53,6 @@
 #ifdef USE_TCP_SOCKETS
 #define SOCKET_DESCRIPTION "(TCP sockets)"
 #define SOCKET_USAGE "port=<TCP port number> loopback=<listen on loopback device only?>"
-#elif defined(USE_TCP6_SOCKETS)
-#define SOCKET_DESCRIPTION "(TCP/IPv6 sockets)"
-#define SOCKET_USAGE "port=<TCP port number> loopback=<listen on loopback device only?>"
 #else
 #define SOCKET_DESCRIPTION "(UNIX sockets)"
 #define SOCKET_USAGE "socket=<path to UNIX socket>"
@@ -71,8 +68,6 @@
   #define MODULE_ARGUMENTS "rate", "format", "channels", "sink", "source", "playback", "record",
   #if defined(USE_TCP_SOCKETS)
     #include "module-simple-protocol-tcp-symdef.h"
-  #elif defined(USE_TCP6_SOCKETS)
-    #include "module-simple-protocol-tcp6-symdef.h"
   #else
     #include "module-simple-protocol-unix-symdef.h"
   #endif
@@ -88,8 +83,6 @@
   #define MODULE_ARGUMENTS 
   #ifdef USE_TCP_SOCKETS
     #include "module-cli-protocol-tcp-symdef.h"
-  #elif defined(USE_TCP6_SOCKETS)
-    #include "module-cli-protocol-tcp6-symdef.h"
   #else
     #include "module-cli-protocol-unix-symdef.h"
   #endif
@@ -105,8 +98,6 @@
   #define MODULE_ARGUMENTS 
   #ifdef USE_TCP_SOCKETS
     #include "module-http-protocol-tcp-symdef.h"
-  #elif defined(USE_TCP6_SOCKETS)
-    #include "module-http-protocol-tcp6-symdef.h"
   #else
     #include "module-http-protocol-unix-symdef.h"
   #endif
@@ -122,8 +113,6 @@
   #define MODULE_ARGUMENTS "public", "cookie",
   #ifdef USE_TCP_SOCKETS
     #include "module-native-protocol-tcp-symdef.h"
-  #elif defined(USE_TCP6_SOCKETS)
-    #include "module-native-protocol-tcp6-symdef.h"
   #else
     #include "module-native-protocol-unix-symdef.h"
   #endif
@@ -140,8 +129,6 @@
   #define MODULE_ARGUMENTS "sink", "source", "public", "cookie",
   #ifdef USE_TCP_SOCKETS
     #include "module-esound-protocol-tcp-symdef.h"
-  #elif defined(USE_TCP6_SOCKETS)
-    #include "module-esound-protocol-tcp6-symdef.h"
   #else
     #include "module-esound-protocol-unix-symdef.h"
   #endif
@@ -156,7 +143,7 @@
 
 static const char* const valid_modargs[] = {
     MODULE_ARGUMENTS
-#if defined(USE_TCP_SOCKETS) || defined(USE_TCP6_SOCKETS)
+#if defined(USE_TCP_SOCKETS)
     "port",
     "loopback",
 #else
@@ -167,7 +154,7 @@
 
 static pa_socket_server *create_socket_server(pa_core *c, pa_modargs *ma) {
     pa_socket_server *s;
-#if defined(USE_TCP_SOCKETS) || defined(USE_TCP6_SOCKETS)
+#if defined(USE_TCP_SOCKETS)
     int loopback = 1;
     uint32_t port = IPV4_PORT;
 
@@ -181,13 +168,14 @@
         return NULL;
     }
 
-#ifdef USE_TCP6_SOCKETS
-    if (!(s = pa_socket_server_new_ipv6(c->mainloop, loopback ? (const uint8_t*) &in6addr_loopback : (const uint8_t*) &in6addr_any, port)))
-        return NULL;
-#else
-    if (!(s = pa_socket_server_new_ipv4(c->mainloop, loopback ? INADDR_LOOPBACK : INADDR_ANY, port, TCPWRAP_SERVICE)))
-        return NULL;
-#endif
+
+    if (loopback) {
+        if (!(s = pa_socket_server_new_ip_loopback(c->mainloop, port, TCPWRAP_SERVICE)))
+            return NULL;
+    } else {
+        if (!(s = pa_socket_server_new_ip_any(c->mainloop, port, TCPWRAP_SERVICE)))
+            return NULL;
+    }
     
 #else
     int r;
@@ -250,10 +238,10 @@
 void pa__done(pa_core *c, pa_module*m) {
     assert(c && m);
 
-#if defined(USE_PROTOCOL_ESOUND)
-	if (remove (ESD_UNIX_SOCKET_NAME) != 0)
+#if defined(USE_PROTOCOL_ESOUND) && !defined(USE_TCP_SOCKETS)
+	if (remove(ESD_UNIX_SOCKET_NAME) != 0)
 		pa_log("%s: Failed to remove %s : %s.\n", __FILE__, ESD_UNIX_SOCKET_NAME, strerror (errno));
-	if (remove (ESD_UNIX_SOCKET_DIR) != 0)
+	if (remove(ESD_UNIX_SOCKET_DIR) != 0)
 		pa_log("%s: Failed to remove %s : %s.\n", __FILE__, ESD_UNIX_SOCKET_DIR, strerror (errno));
 #endif
 

Modified: trunk/src/polypcore/socket-server.c
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/polypcore/socket-server.c?rev=548&root=polypaudio&r1=547&r2=548&view=diff
==============================================================================
--- trunk/src/polypcore/socket-server.c (original)
+++ trunk/src/polypcore/socket-server.c Tue Feb 21 02:08:53 2006
@@ -101,18 +101,18 @@
 
 #ifdef HAVE_LIBWRAP
 
-    if (s->type == SOCKET_SERVER_IPV4 && s->tcpwrap_service) {
+    if (s->tcpwrap_service) {
         struct request_info req;
 
         request_init(&req, RQ_DAEMON, s->tcpwrap_service, RQ_FILE, nfd, NULL);
         fromhost(&req);
         if (!hosts_access(&req)) {
-            pa_log(__FILE__": TCP connection refused by tcpwrap.\n");
+            pa_log_warn(__FILE__": TCP connection refused by tcpwrap.\n");
             close(nfd);
             goto finish;
         }
 
-        pa_log(__FILE__": TCP connection accepted by tcpwrap.\n");
+        pa_log_info(__FILE__": TCP connection accepted by tcpwrap.\n");
     }
 #endif
     
@@ -221,7 +221,7 @@
     assert(m && port);
 
     if ((fd = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
-        pa_log(__FILE__": socket(): %s\n", strerror(errno));
+        pa_log(__FILE__": socket(PF_INET): %s\n", strerror(errno));
         goto fail;
     }
 
@@ -261,7 +261,7 @@
     return NULL;
 }
 
-pa_socket_server* pa_socket_server_new_ipv6(pa_mainloop_api *m, const uint8_t address[16], uint16_t port) {
+pa_socket_server* pa_socket_server_new_ipv6(pa_mainloop_api *m, const uint8_t address[16], uint16_t port, const char *tcpwrap_service) {
     pa_socket_server *ss;
     int fd = -1;
     struct sockaddr_in6 sa;
@@ -270,7 +270,7 @@
     assert(m && port);
 
     if ((fd = socket(PF_INET6, SOCK_STREAM, 0)) < 0) {
-        pa_log(__FILE__": socket(): %s\n", strerror(errno));
+        pa_log(__FILE__": socket(PF_INET6): %s\n", strerror(errno));
         goto fail;
     }
 
@@ -296,9 +296,11 @@
         goto fail;
     }
 
-    if ((ss = pa_socket_server_new(m, fd)))
+    if ((ss = pa_socket_server_new(m, fd))) {
         ss->type = SOCKET_SERVER_IPV6;
-
+        ss->tcpwrap_service = pa_xstrdup(tcpwrap_service);
+    }
+    
     return ss;
     
 fail:
@@ -307,6 +309,31 @@
 
     return NULL;
 }
+
+pa_socket_server* pa_socket_server_new_ip_loopback(pa_mainloop_api *m, uint16_t port, const char *tcpwrap_service) {
+    pa_socket_server *s;
+    
+    assert(m);
+    assert(port > 0);
+    
+    if (!(s = pa_socket_server_new_ipv6(m, in6addr_loopback.s6_addr, port, tcpwrap_service)))
+        s = pa_socket_server_new_ipv4(m, INADDR_LOOPBACK, port, tcpwrap_service);
+
+    return s;
+}
+
+pa_socket_server* pa_socket_server_new_ip_any(pa_mainloop_api *m, uint16_t port, const char *tcpwrap_service) {
+    pa_socket_server *s;
+    
+    assert(m);
+    assert(port > 0);
+    
+    if (!(s = pa_socket_server_new_ipv6(m, in6addr_any.s6_addr, port, tcpwrap_service)))
+        s = pa_socket_server_new_ipv4(m, INADDR_ANY, port, tcpwrap_service);
+
+    return s;
+}
+
 
 static void socket_server_free(pa_socket_server*s) {
     assert(s);

Modified: trunk/src/polypcore/socket-server.h
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/polypcore/socket-server.h?rev=548&root=polypaudio&r1=547&r2=548&view=diff
==============================================================================
--- trunk/src/polypcore/socket-server.h (original)
+++ trunk/src/polypcore/socket-server.h Tue Feb 21 02:08:53 2006
@@ -33,7 +33,9 @@
 pa_socket_server* pa_socket_server_new(pa_mainloop_api *m, int fd);
 pa_socket_server* pa_socket_server_new_unix(pa_mainloop_api *m, const char *filename);
 pa_socket_server* pa_socket_server_new_ipv4(pa_mainloop_api *m, uint32_t address, uint16_t port, const char *tcpwrap_service);
-pa_socket_server* pa_socket_server_new_ipv6(pa_mainloop_api *m, const uint8_t address[16], uint16_t port);
+pa_socket_server* pa_socket_server_new_ipv6(pa_mainloop_api *m, const uint8_t address[16], uint16_t port, const char *tcpwrap_service);
+pa_socket_server* pa_socket_server_new_ip_loopback(pa_mainloop_api *m, uint16_t port, const char *tcpwrap_service);
+pa_socket_server* pa_socket_server_new_ip_any(pa_mainloop_api *m, uint16_t port, const char *tcpwrap_service);
 
 void pa_socket_server_unref(pa_socket_server*s);
 pa_socket_server* pa_socket_server_ref(pa_socket_server *s);




More information about the pulseaudio-commits mailing list