ports/170917: udpxy on freebsd 9.0 allow only one client for each multicast stream
Denis Zaika
i at doct.org.ua
Thu Aug 23 13:20:11 UTC 2012
>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 at 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:
More information about the freebsd-ports-bugs
mailing list