[Icecast] EROR util/util_http_select_best Input string does not parse as KVA. Selecting first option.
Philipp Schafft
phschafft at de.loewenfelsen.net
Wed Jun 26 14:25:37 UTC 2019
Good afternoon,
On Mon, 2019-06-24 at 22:59 -0400, Christopher Cantwell wrote:
> Greetings,
>
> I use Icecast for the live airing of my open phones podcast, and we've
> recently had some trouble with malicious actors attempting to disrupt the
> production in various ways, most of which are beyond the scope of this
> inquiry.
>
> Today the Icecast feed kept disconnecting and resetting the listener count.
> This happens on rare occasions, and I usually accept this as a noisy
> neighbor problem on my inexpensive VPS. Today it was probably more than a
> dozen times during a two hour show. On the prior episode, my peak listener
> count exceeded recent records, and I thought perhaps it was the hostiles
> trying to flood me with requests.
By resetting counts you mean the reset of the stats when a source
disconnects?
> After the show, I attempted to check the error log to see if I could
> determine what caused the trouble, but the log is being flooded with what I
> presume is an unrelated error multiple times per second. I've never checked
> the log before, so it is entirely possible this has been happening the
> entire time the server has been up.
>
> Other than today's disconnects, everything seems to be working fine, so the
> error doesn't seem to be causing any disruptions on its own, but it is
> preventing me from troubleshooting other issues.
>
> root at radio:/var/log/icecast2# tail error.log
> [2019-06-24 22:31:21] EROR util/util_http_select_best Input string does
> not parse as KVA. Selecting first option.
> [...]
>
> Searching didn't turn up much. A search for Icecast util_http_select_best
> turned up this Github page
> https://github.com/xiph/Icecast-Server/blob/master/src/util.h
That message is reported if a Accept:-header can not be parsed
(including the header is not present). Icecast then uses the default
("first option").
This header is used to allow Icecast sending a response in a format
preferred by the client. If none is provided Icecast will just respond
in the format that Icecast thinks is best.
If that error happens very often it is likely a client that floods the
server. See the access.log. It should indicate such a client.
> Searching icecast.xml for header, I find what I think is a default setting,
> and seems to be working just fine...
>
> <!-- Global header settings
> Headers defined here will be returned for every HTTP request to
> Icecast.
>
> The ACAO header makes Icecast public content/API by default
> This will make streams easier embeddable (some HTML5 functionality
> needs it).
> Also it allows direct access to e.g. /status-json.xsl from other
> sites.
> If you don't want this, comment out the following line or read up
> on CORS.
> -->
> <http-headers>
> <header name="Access-Control-Allow-Origin" value="*" />
> </http-headers>
This is not related to configuration. It's purely about the server and
the client negotiating options. See here:
https://en.wikipedia.org/wiki/Content_negotiation
(Relevant standard is RFC 7231 Section 5.3.2)
With best regards,
--
Philipp Schafft (CEO/Geschäftsführer)
Telephon: +49.3535 490 17 92
Löwenfelsen UG (haftungsbeschränkt) Registration number:
Bickinger Straße 21 HRB 12308 CB
04916 Herzberg (Elster) VATIN/USt-ID:
Germany DE305133015
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://lists.xiph.org/pipermail/icecast/attachments/20190626/424c1d97/attachment.sig>
More information about the Icecast
mailing list