X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fnetwork%2Fudp.c;h=5af1c0b634774a0851d4bc9b8acf7156dee058fb;hb=c12acbd7d48431d7b5029d765e69e87378aca7a2;hp=4366df23fbaba1263e59e38135b388e110875262;hpb=3adb049b4bba9e6537940a907cd50ebb52e1a278;p=vlc diff --git a/src/network/udp.c b/src/network/udp.c index 4366df23fb..5af1c0b634 100644 --- a/src/network/udp.c +++ b/src/network/udp.c @@ -155,7 +155,7 @@ static int net_ListenSingle (vlc_object_t *obj, const char *host, int port, if (val) { msg_Err (obj, "Cannot resolve %s port %d : %s", host, port, - vlc_gai_strerror (val)); + gai_strerror (val)); return -1; } @@ -180,25 +180,13 @@ static int net_ListenSingle (vlc_object_t *obj, const char *host, int port, int on = (family == AF_INET6); setsockopt (fd, SOL_IPV6, IPV6_V6ONLY, &on, sizeof (on)); } - else if (ptr->ai_family == AF_INET && family == AF_UNSPEC) - { - for (const struct addrinfo *p = ptr; p != NULL; p = p->ai_next) - if (p->ai_family == AF_INET6) - { - net_Close (fd); - fd = -1; - break; - } - if (fd == -1) - continue; - } -#else + if (ptr->ai_family == AF_INET) +#endif if (family == AF_UNSPEC && ptr->ai_next != NULL) { msg_Warn (obj, "ambiguous network protocol specification"); msg_Warn (obj, "please select IP version explicitly"); } -#endif fd = net_SetupDgramSocket( obj, fd, ptr ); if( fd == -1 ) @@ -215,7 +203,7 @@ static int net_ListenSingle (vlc_object_t *obj, const char *host, int port, break; } - vlc_freeaddrinfo (res); + freeaddrinfo (res); return val; } @@ -256,9 +244,13 @@ static int net_SetMcastHopLimit( vlc_object_t *p_this, /* BSD compatibility */ unsigned char buf; + msg_Dbg( p_this, "cannot set hop limit (%d): %m", hlim ); buf = (unsigned char)(( hlim > 255 ) ? 255 : hlim); if( setsockopt( fd, proto, cmd, &buf, sizeof( buf ) ) ) + { + msg_Err( p_this, "cannot set hop limit (%d): %m", hlim ); return VLC_EGENERIC; + } } return VLC_SUCCESS; @@ -642,15 +634,15 @@ static int net_SetDSCP( int fd, uint8_t dscp ) return setsockopt( fd, level, cmd, &(int){ dscp }, sizeof (int)); } - +#undef net_ConnectDgram /***************************************************************************** - * __net_ConnectDgram: + * net_ConnectDgram: ***************************************************************************** * Open a datagram socket to send data to a defined destination, with an * optional hop limit. *****************************************************************************/ -int __net_ConnectDgram( vlc_object_t *p_this, const char *psz_host, int i_port, - int i_hlim, int proto ) +int net_ConnectDgram( vlc_object_t *p_this, const char *psz_host, int i_port, + int i_hlim, int proto ) { struct addrinfo hints, *res, *ptr; int i_val, i_handle = -1; @@ -669,7 +661,7 @@ int __net_ConnectDgram( vlc_object_t *p_this, const char *psz_host, int i_port, if( i_val ) { msg_Err( p_this, "cannot resolve [%s]:%d : %s", psz_host, i_port, - vlc_gai_strerror( i_val ) ); + gai_strerror( i_val ) ); return -1; } @@ -731,7 +723,7 @@ int __net_ConnectDgram( vlc_object_t *p_this, const char *psz_host, int i_port, } } - vlc_freeaddrinfo( res ); + freeaddrinfo( res ); if( i_handle == -1 ) { @@ -744,15 +736,15 @@ int __net_ConnectDgram( vlc_object_t *p_this, const char *psz_host, int i_port, return i_handle; } - +#undef net_OpenDgram /***************************************************************************** - * __net_OpenDgram: + * net_OpenDgram: ***************************************************************************** * OpenDgram a datagram socket and return a handle *****************************************************************************/ -int __net_OpenDgram( vlc_object_t *obj, const char *psz_bind, int i_bind, - const char *psz_server, int i_server, - int family, int protocol ) +int net_OpenDgram( vlc_object_t *obj, const char *psz_bind, int i_bind, + const char *psz_server, int i_server, + int family, int protocol ) { if ((psz_server == NULL) || (psz_server[0] == '\0')) return net_ListenSingle (obj, psz_bind, i_bind, family, protocol); @@ -772,7 +764,7 @@ int __net_OpenDgram( vlc_object_t *obj, const char *psz_bind, int i_bind, if (val) { msg_Err (obj, "cannot resolve %s port %d : %s", psz_bind, i_bind, - vlc_gai_strerror (val)); + gai_strerror (val)); return -1; } @@ -781,8 +773,8 @@ int __net_OpenDgram( vlc_object_t *obj, const char *psz_bind, int i_bind, if (val) { msg_Err (obj, "cannot resolve %s port %d : %s", psz_bind, i_bind, - vlc_gai_strerror (val)); - vlc_freeaddrinfo (rem); + gai_strerror (val)); + freeaddrinfo (rem); return -1; } @@ -825,8 +817,8 @@ int __net_OpenDgram( vlc_object_t *obj, const char *psz_bind, int i_bind, net_Close (fd); } - vlc_freeaddrinfo (rem); - vlc_freeaddrinfo (loc); + freeaddrinfo (rem); + freeaddrinfo (loc); return val; }