[Icecast] Problems with metadata updates

Jordan Verner jordan at caturria.ca
Wed Aug 8 15:42:32 UTC 2018


Hi Philip,
Thanks for your response.
Yes, I more or less had it figured out. I figured the cannot accept url updates message was a security measure I was tripping.
As of yet, there is no link to share. I want to shoot for a 2019 release to Github though.
It’s a scriptable streaming system similar in a way to Liquidsoap, but with an emphasis on being able to be used as a precise station scheduler (so it has functionality like database, date and time manipulation etc built in).
There is also a configuration file based station manager which is written in script and built on top of it.
It’s coming along swimmingly, but with college starting back up in September I’d say a few more months to polish it up to the point at which I’d be comfortable releasing are in order.
I do look forward to public reception though, whenever that day arrives. A couple more outstanding bugs and a couple missing features stand in the way atm.

Kind regards,

Jordan.


> On Aug 8, 2018, at 7:54 AM, Philipp Schafft <phschafft at de.loewenfelsen.net> wrote:
> 
> Good afternoon,
> 
> On Tue, 2018-07-31 at 10:36 -0400, Jordan Verner wrote:
>> Hi,
>> I am writing a source client (from scratch).
> 
> Mind to share a link with the community?
> 
> 
>> I’ve got the actual audio streaming part worked out just fine, but the
>> metadata has me scratching my head a little bit.
> 
>> According to the docs, to update metadata for an mp3 stream
> 
> Yes. And only for MP3 and AAC this holds true. Also note that MP3 and
> AAC are not officially supported by Icecast. They may work, but that's
> it. We recommend to use Opus for most applications.
> 
> 
>> you’re supposed to issue an http request like this:
>> http://hostname:port/admin/metadata?mode=updinfo&mount=/station&song=test <http://hostname:port/admin/metadata?mode=updinfo&mount=/station&song=test>
> 
> Yes.
> 
> 
>> If I send this request authenticated with the source
>> username/password, I get this, and the metadata is not updated:
>> <iceresponse>
>> <message>Mountpoint will not accept URL updates</message>
>> <return>1</return>
>> </iceresponse>
>> If I issue the same request but authenticate it using the admin
>> password, it works and shows the following:
>> <iceresponse>
>> <message>Metadata update successful</message>
>> <return>1</return>
>> </iceresponse>
> 
> The above message is returned if:
>      * the internal handler for the format does not support the
>        operation (again, this is only for MP3 and AAC as they do not
>        support metadata themself); not the case here as it works with
>        admin credentials.
>      * You are sending the data from a different source IP than the
>        source (the audio data connection) is connected from.
> 
> This check is there for reasons of security. Without it there is an
> attack with one DJ hijacking the stream of another DJ of the same
> station. This has been seen in the wild and is an inherent problem of
> MP3 and AAC.
> 
> 
>> Lastly, if I hit admin/metadata.xsl instead of admin/metadata, and
>> authenticate with source credentials and the exact same query
>> parameters, it updates successfully, but of course returns a full HTML
>> admin page instead of just the simple xml response.
> 
> Yes. As now you're no longer the source client but an actual user.
> 
> 
>> For now I’m having to hit the metadata.xsl page and then probe the
>> resulting HTML for the words metadata update successful instead of
>> being able to do it the intended way as per the example in the
>> documentation.
> 
> Please don't. The HTML is NOT for parsing.
> 
> 
>> Also, are there any other valid mode strings besides updinfo?
> 
> No.
> 
> Hope this reply was helpful.
> 
> 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
> _______________________________________________
> Icecast mailing list
> Icecast at xiph.org
> http://lists.xiph.org/mailman/listinfo/icecast




More information about the Icecast mailing list