This added support for the standard HTTP/1.1 methods:
* OPTIONS
- Query the server to tell what features are supported.
* DELETE
- Delete a resource on a server. In Icecast2 context this is
about what is known as 'kick source'.
* TRACE
- Asks the server to return the request to the client as body.
The client is to send a body-less request and the server
will return with a 200 OK and the body to to be the exact
bitstream it got from the client (or any (reverse) proxy).
The Content-Type is to be set to 'message/http'.
* CONNECT
- Client asks the server to proxy the request to the given resource.
This hardly seems to make sense for Icecast2 but may be used by
some clients such as libshout. Therefor I added it as well
so we have at least an ID assigned to it.
Please note that this is a ABI breaker and you will need to recompile
your projects (use 'make clean all').
See: RFC2616
This change was ACKd by all authors and explicitly states the license
to be LGPLv2 in all files to match COPYING. This removes ambiguity
when using these files e.g. as part of libshout.
For a list of authors, pease refer to the copyright headers of each
file.
Also make it possible to build libshout without threads, albeit without locking
in the resolver or avl trees.
New option --disable-pthread too.
svn path=/trunk/avl/; revision=4411
Requires a change to the format plugin interface - jack: if you want this
done differently, feel free to change it (or ask me to).
svn path=/trunk/httpp/; revision=3219
- connections are now matched to format plugins based on content-type headers,
and are rejected if there isn't a format handler for that content-type, or
there is no content-type at all.
- format_vorbis now handles pages with granulepos of -1 in the headers
correctly (this happens if the headers are fairly large, because of
many comments, for example).
- various #include fixes.
- buffer overflow in httpp.c fixed.
svn path=/trunk/avl/; revision=3042
be uppercase always in order to comply with the HTTP specification.
While not a problem internal to icecast, they were slipping into the log
files and breaking some less-than-robust parsers.
svn path=/trunk/httpp/; revision=2197