Date: Thu, 23 Aug 2012 13:17:29 GMT From: Denis Zaika <i@doct.org.ua> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/170917: udpxy on freebsd 9.0 allow only one client for each multicast stream Message-ID: <201208231317.q7NDHTev049117@red.freebsd.org> Resent-Message-ID: <201208231320.q7NDK21h008643@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 170917 >Category: ports >Synopsis: udpxy on freebsd 9.0 allow only one client for each multicast stream >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Aug 23 13:20:01 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Denis Zaika >Release: 9.0 >Organization: TBC Soniko-svyaz >Environment: FreeBSD noc 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jul 17 10:47:35 EEST 2012 zaika@noc:/usr/obj/usr/src/sys/gw amd64 udpxy-1.0.21-2 >Description: If someone watches any IPTV channel (UDP multicast) via udpxy proxy next client can't watch it. Udpxy rise error "setup_mcast_listener: bind: Address already in use". On RELENG8 I've never seen such issue. >How-To-Repeat: Start to watch any IPTV channel via udpxy on FreeBSD 9.0 and try to watch the same channel from another IP. >Fix: In the file netop.c replace a few strings in setup_mcast_listener from: rc = setsockopt( sockfd, SOL_SOCKET, SO_REUSEADDR, &ON, sizeof(ON) ); to: rc = setsockopt( sockfd, SOL_SOCKET, SO_REUSEPORT, &ON, sizeof(ON) ); Patch attached with submission follows: --- ./netop.c.orig 2011-12-20 22:05:42.000000000 +0200 +++ ./netop.c 2012-08-23 15:22:19.662474379 +0300 @@ -215,10 +215,10 @@ } - rc = setsockopt( sockfd, SOL_SOCKET, SO_REUSEADDR, + rc = setsockopt( sockfd, SOL_SOCKET, SO_REUSEPORT, &ON, sizeof(ON) ); if( 0 != rc ) { - mperror(g_flog, errno, "%s: setsockopt SO_REUSEADDR", + mperror(g_flog, errno, "%s: setsockopt SO_REUSEPORT", __func__); break; } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208231317.q7NDHTev049117>