[vlc-devel] Factor HTTP/HTTPS/RTSP port in core

Rémi Denis-Courmont remi at remlab.net
Fri Sep 16 04:21:29 CEST 2011


   Hello,

On Friday 16 September 2011, Pierre Ynard wrote:
> > Unless someone has a plan on how to fix the old design to not be highly
> > confusing, hard to configure and plain buggy, I am not interested in
> > discussing this.
> 
> I haven't looked into the TLS code since I know little about it
> (although you're still welcome to give pointers), but the buggy code
> to reuse hosts could be fixed by calling strcmp() on the result of
> net_GetSockAddress(), instead of the host name passed. That would also
> simplify the data structure. So here's a plan:

That won't work for dual-stack. Even if we ignore this, it would be confusing 
in any case. The current approach on the other hand, is quite clear, though 
different from earlier.

And it still fails to address TLS certificate issues.

>  - fix the plain bugginess
>  - decide on a consistent way to input server addresses
>    * about URIs, answer:
>      - although http://:8080/foobar is no valid HTTP URL, it's a valid
>        generic URI: is this acceptable to use? (we already use MRLs)
>      - is http://0.0.0.0:8080/foobar an acceptable HTTP URL?
>      - same for RTSP and other schemes
>    * decide whether we want unspecified/zero port values that can mean
>      an OS-assigned port instead of being replaced by the default

This is meant to be used for ephemeral ports, which those are not. I don't 
know any software that would allocate an ephemeral port by default, except 
where some kind of rendez-vous mechanism negotiates it (e.g. UPnP, FTP data, 
RTSP RTP/RTCP pair).

>    * choose between URI, the de facto standard "<host>:<port>"
>      representation, separate host and port parameters, something else,
>      or a combination thereof

This is NOT a de facto standard for on the server/listening side. In fact, 
Apache separates the per host path "<Location /foo>" from the host name 
"<VirtualHost IP:port>".

>  - convert to this consistent syntax all these parameters throughout the
>    vlc code base, without breaking compatibility, adding new parameters
>    where needed

Consistent across access output destinations? HTTP is now (mostly) consistent 
with file. FTP upload is kinda "special". UDP is legacy crap and is special 
too.

Consistent server-side location and client-side HTTP URI make no sense. The 
first ones are not URIs and never were.

It is already mostly consistent across RTSP/HTTP(S) and has more or less 
always been.

>  - if applicable, move configuration variables to a central location
>    allowing to set defaults

That is what this does...

-- 
Rémi Denis-Courmont
http://www.remlab.info



More information about the vlc-devel mailing list