]> git.sesse.net Git - vlc/blobdiff - src/network/io.c
- Only use IPV6_V6ONLY when it makes sense (i.e. receiving datagram socket)
[vlc] / src / network / io.c
index 59f6bdc6b4567bb379c903107fb0c39d747872a1..622150967c10ec794e7da0371588be78b6c0dec6 100644 (file)
@@ -97,11 +97,11 @@ int net_Socket (vlc_object_t *p_this, int family, int socktype,
 
 #ifdef IPV6_V6ONLY
     /*
-     * Accepts only IPv6 and IPv4 connections on IPv6 sockets.
+     * Accepts only IPv6 connections on IPv6 sockets.
      * If possible, we should open two sockets, but it is not always possible.
      */
     if (family == AF_INET6)
-        setsockopt (fd, IPPROTO_IPV6, IPV6_V6ONLY, &(int){ 0 }, sizeof (int));
+        setsockopt (fd, IPPROTO_IPV6, IPV6_V6ONLY, &(int){ 1 }, sizeof (int));
 #endif
 
 #if defined (WIN32) || defined (UNDER_CE)
@@ -239,28 +239,6 @@ int *net_Listen (vlc_object_t *p_this, const char *psz_host,
 }
 
 
-int net_ListenSingle (vlc_object_t *obj, const char *host, int port,
-                      int family, int socktype, int protocol)
-{
-    int *fdv = net_Listen (obj, host, port, family, socktype, protocol);
-    if (fdv == NULL)
-        return -1;
-
-    for (unsigned i = 1; fdv[i] != -1; i++)
-    {
-        msg_Warn (obj, "Multiple sockets opened. Dropping extra ones!");
-        net_Close (fdv[i]);
-    }
-
-    int fd = fdv[0];
-    assert (fd != -1);
-
-    free (fdv);
-    return fd;
-}
-
-
-
 static ssize_t
 net_ReadInner (vlc_object_t *restrict p_this, unsigned fdc, const int *fdv,
                const v_socket_t *const *restrict vsv,