Two changes have been made. Both are HTTP/1.1 related changes
and are purly meant for HTTP/1.1 clients that do not correctly
support HTTP/1.0.
* Added 'Connection: Close'.
* Added 'no-store' to 'Cache-Control:'.
This avoids a endless loop in a spin lock that has not been inited
yet if fserve engine was not started up by the time it was sent to
go down. This happened if icecast couldn't read the config because
the file was corrupted or non-existent.
Closes: #2144
This fixes a bug that could cause the global listener count of Icecast to
be negative. This was caused due to wrong handling of errors in the
format_prepare_headers function.
Fixes: #2199
Thanks a lot to Simeon Völkel (0xBD4E031CDB4043C9) for reporting
and investigating the bug.
This fixes the problem of Icecast2 sending 100-continue responses in plain
on TLS sockets (and thereby breaking the TLS connection).
This is not a complete fix for the 100-continue behavior. However it
allows to use TLS with 100-continue.
This fixes the situation at least for Opus. It should be checked
if the same problem applies to other codecs as well.
If so, maybe a better solution should be considered for 2.5.x.
libspeex reports warnings in case of oddnesses with the data to stderr.
However Icecast2 uses those functions in it's codec probeing process.
This way libspeex will write messages to a posibily reused random handle.
This is clearly a bug by package maintainers of libspeex.
See the source code of this change as well as libspeex's source code
as reference.
This fixes the regression introduced by r19250 (461a537561).
The fix checks if the source client is actually known before printing it's IP-Address.
See also: #2016
This is a backport of d739c65e54.
This patch fixes the output generating for XML. It will ensure all
strings are escaped correctly by using text node creation function
not the normal raw XML subnode function.
See #2255
This works around the problem that windows ignores tailing dots.
This way you could trick Icecast2 to send a XSLT file as plain text.
Please test.
Closes: #2247
This fixes a crash (NULL reference) in case URL Auth is used
and stream_auth is trigged with no credentials passed by the client.
Username and password is now set to empty strings and transmited to
the backend server this way.
See #2191 for more details and to keep track of the problem.
Closes: #2191, DEB#782120
This let util_url_escape() handle NULL passed as parameter.
In case the parameter is NULL it will also return NULL.
This patch also does some cleanup of the code such as migration
away from int and thus avoiding future failtures.