[Live-devel] RTSP server extending

Igor Bukanov igor at mir2.org
Tue Apr 24 05:01:22 PDT 2007


On 24/04/07, Gustaf Räntilä <opera at kth.se> wrote:
> Ross Finlayson wrote:
> >> Actually there is problem here with sockaddr_in. It explicitly
> >> excludes sockaddr_in6. It would better just to use sockaddr to
> >> simplify IPV6 porting later.
> >>
> >
> > The actual parameter to the call is a "sockaddr_in", so that's what I
> > used for the formal parameter.
> >
> > There are many many places in the code that are IPv4-specific,
> > unfortunately.  (The networking (groupsock) code will need to undergo
> > a major restructuring before IPv6 could be supported...)

In this regard not passing sockaddr_in to specialClientAccessCheck was
the right solution as getpeername returns the proper address. Note
also that switching from sockaddr_in to sockaddr would also require to
pass the address size parameter as otherwise IPv6-compatible code
would be clattered with sizeof(sockaddr_ip), sizeof(sockaddr_ipv6).

> Definition:
> virtual Boolean sessionAccept(int clientSocket, const struct sockaddr*
> clientAddr);

The same arguments applies, one either passes just clientSocket or
include clientAddrLength parameter.

>  A program using liveMedia can never know/track what commands a
> client are sending.

The question: is client supposed to call DESCRIBE before calling any
other commands within the same TCP session? If so the authentication
bug is that the RTSPServer.cpp does not check for that.

> Comment 2:
> It is very difficult to follow the development of liveMedia and
> cooperate by sending patches when there is no source code repository to
> regularly update. Manually diffing the tar.gz tree is cumbersome.

This is where quilt comes extremely handy,
http://savannah.nongnu.org/projects/quilt . It allows to track tar
with the same ease as one would use CVS/SVN etc.

Regards, Igor


More information about the live-devel mailing list