On Sun, Feb 26, 2012 at 07:51:47PM +0000, Stuart Henderson wrote: > Please talk to Brad about mirroring the new distfile if you're > keeping his server in MASTER_SITES.
Brad said he'll keep hosting it. So I've undone the change to MASTER_SITES. New diff below. > > +Fix "Unable to determine our source address: This computer has an > > +invalid IP address: 0x7f000001" > > This message means "can't use multicast because you have the default > -reject route installed". With this diff it's now a silent failure. > It might be worth adding a note somewhere about this (README etc).. Can you make a suggestion what the note should be saying? The code should work on all systems now. If the reject route is installed it uses a source address obtained via getaddrinfo(). If the reject route is not installed (i.e. multicast has been enabled on the system), it may get a valid source address by sending its zero TTL multicast test packet (which seems like quite a gross hack to be honest), and then use that. I see how configuring multicast on OpenBSD is a related issue. But what should the README say beyond "to use multicast you need to enable multicast" and pointing to the MULTICAST ROUTING section in netstart(8)? > Only lightly tested so far but works for me (including multicast). Good to know, thanks. Index: Makefile =================================================================== RCS file: /cvs/ports/net/livemedia/Makefile,v retrieving revision 1.9 diff -u -p -r1.9 Makefile --- Makefile 15 Apr 2009 08:22:11 -0000 1.9 +++ Makefile 26 Feb 2012 22:18:18 -0000 @@ -4,8 +4,8 @@ SHARED_ONLY= Yes COMMENT= LIVE555 streaming media library -DISTNAME= live.2009.04.07 -PKGNAME= liveMedia-20090407 +DISTNAME= live.2012.02.04 +PKGNAME= liveMedia-20120204 CATEGORIES= net devel MASTER_SITES= http://comstyle.com/source/ @@ -27,7 +27,7 @@ WRKDIST= ${WRKDIR}/live NO_REGRESS= Yes -CFLAGS+= -fPIC +CFLAGS+= -fPIC -DXLOCALE_NOT_USED post-extract: @cp -f ${FILESDIR}/config.fixed-openbsd ${WRKSRC}/ Index: distinfo =================================================================== RCS file: /cvs/ports/net/livemedia/distinfo,v retrieving revision 1.7 diff -u -p -r1.7 distinfo --- distinfo 15 Apr 2009 08:22:11 -0000 1.7 +++ distinfo 26 Feb 2012 12:04:42 -0000 @@ -1,5 +1,5 @@ -MD5 (live.2009.04.07.tar.gz) = ck1nea5jY1RdnoOAjlzsLg== -RMD160 (live.2009.04.07.tar.gz) = TpyGGjx41t2qeeYHI+6r6YVqz/M= -SHA1 (live.2009.04.07.tar.gz) = IRnWCUGqPXQjTfDzb6ppu5BKdTA= -SHA256 (live.2009.04.07.tar.gz) = PpHLzaAvnbSMbteFZPIjksJzWD4D0v3VRBf2G6XdY1E= -SIZE (live.2009.04.07.tar.gz) = 462577 +MD5 (live.2012.02.04.tar.gz) = XJdT4CevCMBl8VbioL7AIw== +RMD160 (live.2012.02.04.tar.gz) = D/H2VtckS5SCCn7imdfJYAN5GwA= +SHA1 (live.2012.02.04.tar.gz) = JuBvjsKWw0lLwRi3/95K1wguj4A= +SHA256 (live.2012.02.04.tar.gz) = vVW3jXLYp7MqadVPGoUup8TmZrkCcqdAkRBbjJKS7M0= +SIZE (live.2012.02.04.tar.gz) = 541332 Index: patches/patch-groupsock_GroupsockHelper_cpp =================================================================== RCS file: patches/patch-groupsock_GroupsockHelper_cpp diff -N patches/patch-groupsock_GroupsockHelper_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-groupsock_GroupsockHelper_cpp 26 Feb 2012 13:52:26 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ +Fix "Unable to determine our source address: This computer has an +invalid IP address: 0x7f000001" +--- groupsock/GroupsockHelper.cpp.orig Sat Feb 4 12:01:47 2012 ++++ groupsock/GroupsockHelper.cpp Sun Feb 26 14:51:00 2012 +@@ -582,7 +582,7 @@ netAddressBits ourIPAddress(UsageEnvironment& env) { + break; + } + +- loopbackWorks = 1; ++ loopbackWorks = !badAddressForUs(fromAddr.sin_addr.s_addr); + } while (0); + + if (sock >= 0) { Index: patches/patch-groupsock_inet_c =================================================================== RCS file: patches/patch-groupsock_inet_c diff -N patches/patch-groupsock_inet_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-groupsock_inet_c 26 Feb 2012 14:16:00 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ +--- groupsock/inet.c.orig Sat Feb 4 12:01:47 2012 ++++ groupsock/inet.c Sun Feb 26 15:15:55 2012 +@@ -61,6 +61,10 @@ int initializeWinsockIfNecessary(void) { return 1; } + long our_random() { + #if defined(__WIN32__) || defined(_WIN32) + return rand(); ++#elif defined(__OpenBSD__) ++ long r; ++ arc4random_buf(&r, sizeof(r)); ++ return r; + #else + return random(); + #endif Index: patches/patch-liveMedia_RTSPClient_cpp =================================================================== RCS file: patches/patch-liveMedia_RTSPClient_cpp diff -N patches/patch-liveMedia_RTSPClient_cpp --- patches/patch-liveMedia_RTSPClient_cpp 15 Apr 2009 08:22:12 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-liveMedia_RTSPClient_cpp,v 1.2 2009/04/15 08:22:12 landry Exp $ -Fixes tv-over-ip with my isp (free.fr) using vlc. ---- liveMedia/RTSPClient.cpp.orig Mon Apr 6 22:19:00 2009 -+++ liveMedia/RTSPClient.cpp Thu Apr 9 23:27:06 2009 -@@ -2136,9 +2136,7 @@ unsigned RTSPClient::getResponse1(char*& responseBuffe - Boolean success = False; - while (1) { - unsigned char firstByte; -- struct timeval timeout; -- timeout.tv_sec = 30; timeout.tv_usec = 0; -- if (readSocket(envir(), fInputSocketNum, &firstByte, 1, fromAddress, &timeout) -+ if (readSocket(envir(), fInputSocketNum, &firstByte, 1, fromAddress) - != 1) break; - if (firstByte != '$') { - // Normal case: This is the start of a regular response; use it: Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/livemedia/pkg/PLIST,v retrieving revision 1.3 diff -u -p -r1.3 PLIST --- pkg/PLIST 15 Jul 2008 16:14:24 -0000 1.3 +++ pkg/PLIST 26 Feb 2012 12:10:32 -0000 @@ -34,6 +34,7 @@ live/groupsock/include/groupsock_version live/groupsock/libgroupsock.a live/liveMedia/ live/liveMedia/include/ +live/liveMedia/include/AC3AudioFileServerMediaSubsession.hh live/liveMedia/include/AC3AudioRTPSink.hh live/liveMedia/include/AC3AudioRTPSource.hh live/liveMedia/include/AC3AudioStreamFramer.hh @@ -52,7 +53,12 @@ live/liveMedia/include/Base64.hh live/liveMedia/include/BasicUDPSink.hh live/liveMedia/include/BasicUDPSource.hh live/liveMedia/include/ByteStreamFileSource.hh +live/liveMedia/include/ByteStreamMemoryBufferSource.hh live/liveMedia/include/ByteStreamMultiFileSource.hh +live/liveMedia/include/DVVideoFileServerMediaSubsession.hh +live/liveMedia/include/DVVideoRTPSink.hh +live/liveMedia/include/DVVideoRTPSource.hh +live/liveMedia/include/DVVideoStreamFramer.hh live/liveMedia/include/DarwinInjector.hh live/liveMedia/include/DeviceSource.hh live/liveMedia/include/DigestAuthentication.hh @@ -67,11 +73,12 @@ live/liveMedia/include/H263plusVideoFile live/liveMedia/include/H263plusVideoRTPSink.hh live/liveMedia/include/H263plusVideoRTPSource.hh live/liveMedia/include/H263plusVideoStreamFramer.hh +live/liveMedia/include/H264VideoFileServerMediaSubsession.hh live/liveMedia/include/H264VideoFileSink.hh live/liveMedia/include/H264VideoRTPSink.hh live/liveMedia/include/H264VideoRTPSource.hh +live/liveMedia/include/H264VideoStreamDiscreteFramer.hh live/liveMedia/include/H264VideoStreamFramer.hh -live/liveMedia/include/HTTPSink.hh live/liveMedia/include/InputFile.hh live/liveMedia/include/JPEGVideoRTPSink.hh live/liveMedia/include/JPEGVideoRTPSource.hh @@ -94,7 +101,6 @@ live/liveMedia/include/MPEG1or2DemuxedEl live/liveMedia/include/MPEG1or2DemuxedServerMediaSubsession.hh live/liveMedia/include/MPEG1or2FileServerDemux.hh live/liveMedia/include/MPEG1or2VideoFileServerMediaSubsession.hh -live/liveMedia/include/MPEG1or2VideoHTTPSink.hh live/liveMedia/include/MPEG1or2VideoRTPSink.hh live/liveMedia/include/MPEG1or2VideoRTPSource.hh live/liveMedia/include/MPEG1or2VideoStreamDiscreteFramer.hh @@ -107,6 +113,7 @@ live/liveMedia/include/MPEG2TransportStr live/liveMedia/include/MPEG2TransportStreamIndexFile.hh live/liveMedia/include/MPEG2TransportStreamMultiplexor.hh live/liveMedia/include/MPEG2TransportStreamTrickModeFilter.hh +live/liveMedia/include/MPEG2TransportUDPServerMediaSubsession.hh live/liveMedia/include/MPEG4ESVideoRTPSink.hh live/liveMedia/include/MPEG4ESVideoRTPSource.hh live/liveMedia/include/MPEG4GenericRTPSink.hh @@ -117,6 +124,8 @@ live/liveMedia/include/MPEG4VideoFileSer live/liveMedia/include/MPEG4VideoStreamDiscreteFramer.hh live/liveMedia/include/MPEG4VideoStreamFramer.hh live/liveMedia/include/MPEGVideoStreamFramer.hh +live/liveMedia/include/MatroskaFile.hh +live/liveMedia/include/MatroskaFileServerDemux.hh live/liveMedia/include/Media.hh live/liveMedia/include/MediaSession.hh live/liveMedia/include/MediaSink.hh @@ -135,13 +144,21 @@ live/liveMedia/include/RTPSink.hh live/liveMedia/include/RTPSource.hh live/liveMedia/include/RTSPClient.hh live/liveMedia/include/RTSPCommon.hh -live/liveMedia/include/RTSPOverHTTPServer.hh live/liveMedia/include/RTSPServer.hh +live/liveMedia/include/RTSPServerSupportingHTTPStreaming.hh live/liveMedia/include/SIPClient.hh live/liveMedia/include/ServerMediaSession.hh live/liveMedia/include/SimpleRTPSink.hh live/liveMedia/include/SimpleRTPSource.hh +live/liveMedia/include/StreamReplicator.hh +live/liveMedia/include/T140TextRTPSink.hh +live/liveMedia/include/TCPStreamSink.hh +live/liveMedia/include/TextRTPSink.hh +live/liveMedia/include/VP8VideoRTPSink.hh +live/liveMedia/include/VP8VideoRTPSource.hh live/liveMedia/include/VideoRTPSink.hh +live/liveMedia/include/VorbisAudioRTPSink.hh +live/liveMedia/include/VorbisAudioRTPSource.hh live/liveMedia/include/WAVAudioFileServerMediaSubsession.hh live/liveMedia/include/WAVAudioFileSource.hh live/liveMedia/include/liveMedia.hh