Icecast-Server issueshttps://gitlab.xiph.org/xiph/icecast-server/-/issues2018-11-09T14:06:15Zhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2085Removal of <threadpool>2018-11-09T14:06:15ZPhilipp SchafftRemoval of <threadpool><threadpool> should be removed as it is no longer in use.
I suggest to add a ERROR level message on usage in 2.4.2 informing the user about this.
Then I suggest that we remove the setting completely in 2.5.0, not before in about one year.<threadpool> should be removed as it is no longer in use.
I suggest to add a ERROR level message on usage in 2.4.2 informing the user about this.
Then I suggest that we remove the setting completely in 2.5.0, not before in about one year.Icecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2082Require content-type for PUT connections2018-03-06T12:49:47ZThomas B. RückerRequire content-type for PUT connectionsWe should only allow PUT connections if the content-type is explicitly set.
This will avoid breakage such as a source sending a ogg/vorbis stream, but not setting a content-type and then being mis-listed as "audio/mpeg" instead of "audio...We should only allow PUT connections if the content-type is explicitly set.
This will avoid breakage such as a source sending a ogg/vorbis stream, but not setting a content-type and then being mis-listed as "audio/mpeg" instead of "audio/ogg".
This will need to be made very clear in release notes and documentation, so that people are aware when writing new clients or porting old clients to the PUT protocol to properly set content-type.
We can't enforce this for SOURCE connections as there are simply too many broken clients out there.Icecast 2.5.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2081Wrong duration value in access.log on mingw32 builds2018-03-06T12:49:47ZThomas B. RückerWrong duration value in access.log on mingw32 builds34678888 or such (jitter in the last 4-5 digits) for static files from the web interface that were served in under a second is rather unlikely.
On the mailing list someone reported also weird values in case of longer connections.
Teste...34678888 or such (jitter in the last 4-5 digits) for static files from the web interface that were served in under a second is rather unlikely.
On the mailing list someone reported also weird values in case of longer connections.
Tested on Windows 2012 R2Icecast 2.5.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2080Limit/Filter access types available through a listener socket2018-10-02T08:29:07ZThomas B. RückerLimit/Filter access types available through a listener socketOne thing that might be worth considering is to add another setting to listener sockets that would limit which requests are handled on that port.
Listener clients, POST/sources, admin, STATS, XSLT, static files - come to mind.
Especial...One thing that might be worth considering is to add another setting to listener sockets that would limit which requests are handled on that port.
Listener clients, POST/sources, admin, STATS, XSLT, static files - come to mind.
Especially in case of professional installations there is often the desire to limit exposure to potential attacks to a minimum.
That way there could be a listener client port on public IP, while all advanced functionality would only be available on a firewalled IP/port.Icecast 2.5.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2077Stats data in iso8601 fields on mingw32 builds is wrong.2018-03-06T12:49:47ZThomas B. RückerStats data in iso8601 fields on mingw32 builds is wrong.We're using %z, which isn't consistent with other platforms. It depends on system configuration but could be a textual representation of the time zone or the time zone offset. The latter is what we want.
There is a workaround in our log...We're using %z, which isn't consistent with other platforms. It depends on system configuration but could be a textual representation of the time zone or the time zone offset. The latter is what we want.
There is a workaround in our logging code for this, which should be applied here too.Icecast 2.5.0https://gitlab.xiph.org/xiph/icecast-server/-/issues/2072Update default SSL cipher list to be more secure2018-03-06T12:49:47ZThomas B. RückerUpdate default SSL cipher list to be more secureCurrently: "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
Proposed: "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:
DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS"
This was taken from: https://...Currently: "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
Proposed: "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:
DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS"
This was taken from: https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/#fnref2 (scroll up 2 lines)
I've tested this successfully against https://www.ssllabs.com/ssltest/ in combination with the patch for #2071. The only OS/Browser combination failing is: IE 6 / XPIcecast 2.4.1Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2071disable SSLv3 and SSL compression explicitly2018-03-06T12:49:47ZThomas B. Rückerdisable SSLv3 and SSL compression explicitly** SSLv3 is broken.
* Disabling compression mitigates the CRIME attack.
see attached patch** SSLv3 is broken.
* Disabling compression mitigates the CRIME attack.
see attached patchIcecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2070openSSL configuration overhaul in Icecast2023-01-03T10:26:01ZThomas B. RückeropenSSL configuration overhaul in IcecastI'd like to propose we update Icecast's openSSL configuration to have safer defaults and disable broken protocols and features completely.
Most recent vulnerabilities have been addressed by openSSL and should be up to date on people's sy...I'd like to propose we update Icecast's openSSL configuration to have safer defaults and disable broken protocols and features completely.
Most recent vulnerabilities have been addressed by openSSL and should be up to date on people's systems, but still we should do our part to prevent bad things from happening.
There will be dependent tickets filed for certain aspects.Icecast 2.5.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2063Go through compiler warnings and such2018-03-06T12:49:47ZThomas B. RückerGo through compiler warnings and suchThere are a couple build time warnings from e.g. gcc that might need to be addressed.
This is the top level ticket for such issues. If you create tickets about build time warnings, please put the ID of this ticket: #2063 into the "Paren...There are a couple build time warnings from e.g. gcc that might need to be addressed.
This is the top level ticket for such issues. If you create tickets about build time warnings, please put the ID of this ticket: #2063 into the "Parent Tickets" field of your ticket.Icecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2061Investigate: Relay not recovering2021-10-30T09:42:21ZMarvin ScholzInvestigate: Relay not recoveringAs reported in IRC by AAA_awright, a relay doesn't seem to reconnect if the source mount times out, see attached log. This happened with Icecast 2.3.3, we should check that this does not happen with 2.4.0, it should recover if the source...As reported in IRC by AAA_awright, a relay doesn't seem to reconnect if the source mount times out, see attached log. This happened with Icecast 2.3.3, we should check that this does not happen with 2.4.0, it should recover if the source mountpoint is back.
> I had a problem where one of my relays has stopped relaying, and I couldn't bring it back up without a restart. It's only playing the fallback. It reloads the relay data from the master server, but ignores it somehow. It honors me changing the refresh interval in the config file and everything.
> The event seems to happen at 2014-10-12 05:41:13, and it never recovers or mentions the stream again
> If it helps, I don't see another "checking master stream list" for another 15 minutes: [2014-10-12 06:09:20] DBUG slave/_slave_thread checking master stream list
> Before 05:41, it occurs reliably every 120 secondsThomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2059[PATCH] Better code style consistency2018-03-06T12:49:47ZMarvin Scholz[PATCH] Better code style consistencyThis patch makes the overall code style more consistent.This patch makes the overall code style more consistent.Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2058[PATCH] Replace logging macros2018-03-06T12:49:47ZMarvin Scholz[PATCH] Replace logging macrosReplace the old logging macros with variadic argument macros.
`ERROR0`, `ERROR1`, `ERROR2`, `ERROR3`, `ERROR4` are replaced with `LOG_ERROR`
`WARN0`, `WARN1`, `WARN2`, `WARN3` are replaced with `LOG_WARN`
`INFO0`, `INFO1`, `INFO2`, `INF...Replace the old logging macros with variadic argument macros.
`ERROR0`, `ERROR1`, `ERROR2`, `ERROR3`, `ERROR4` are replaced with `LOG_ERROR`
`WARN0`, `WARN1`, `WARN2`, `WARN3` are replaced with `LOG_WARN`
`INFO0`, `INFO1`, `INFO2`, `INFO3` are replaced with `LOG_INFO`
`DEBUG0`, `DEBUG1`, `DEBUG2`, `DEBUG3`, `DEBUG4` are replaced with `LOG_DEBUG`
Additionally a bit formatting was done, to match common c code style (only where it really shouted for attention, while looking through the files)Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2057Rewrite HTTP handling to correctly implement HTTP/1.12018-11-09T14:06:15ZMarvin ScholzRewrite HTTP handling to correctly implement HTTP/1.1Icecast should support HTTP/1.1 especially since we already do this partially for PUT support.
HEAD should probably be added too, since it might be useful and some players maybe do it to check content-type, length…
Additionally to compl...Icecast should support HTTP/1.1 especially since we already do this partially for PUT support.
HEAD should probably be added too, since it might be useful and some players maybe do it to check content-type, length…
Additionally to completely support PUT and stay in spec we need to support chunked encoding.Icecast 2.6Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2054[PATCH] On-Demand relay mount doesn't has on_demand set on startup2018-03-06T12:49:47ZMarvin Scholz[PATCH] On-Demand relay mount doesn't has on_demand set on startupA `<relay>` that has the `on-demand` option set is missing this information on icecast's first startup, when looking at the stats xml
```
<source mount="/diff.mp3">
<listener_peak>0</listener_peak>
<listeners>0</listeners>
...A `<relay>` that has the `on-demand` option set is missing this information on icecast's first startup, when looking at the stats xml
```
<source mount="/diff.mp3">
<listener_peak>0</listener_peak>
<listeners>0</listeners>
<listenurl>http://localhost:8000/diff.mp3</listenurl>
<max_listeners>unlimited</max_listeners>
<public>0</public>
</source>
```
missing the `<on_demand>1</on_demand>` on first startup. When a listener connects and it therefore connects to the relayed stream, it will have this set. The patch makes sure that this is set initially too.Icecast 2.5.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2047Icecast 2.4.0 - status-json.xsl - parse error2018-03-06T12:49:47ZGhost UserIcecast 2.4.0 - status-json.xsl - parse errorHello,
The attached status json file does not parse.
The file is here:
http://www.noizeukradio.com:8000/status-json.xsl
This topic looks similar:
http://icecast.imux.net/viewtopic.php?t=8240
Thanks,
DavidHello,
The attached status json file does not parse.
The file is here:
http://www.noizeukradio.com:8000/status-json.xsl
This topic looks similar:
http://icecast.imux.net/viewtopic.php?t=8240
Thanks,
DavidIcecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2039Icecast segfault : auth_url.c2018-03-06T12:49:47ZTeddyIcecast segfault : auth_url.cHi !
I'm using Icecast 2.4.0 with stream_auth authentication option.
When Nicecast (OSX streaming client) connects and sends metadata, a segfault occurs.
I investigated a bit, and it seems that _client->username_ and _client->password_...Hi !
I'm using Icecast 2.4.0 with stream_auth authentication option.
When Nicecast (OSX streaming client) connects and sends metadata, a segfault occurs.
I investigated a bit, and it seems that _client->username_ and _client->password_ (auth_url.c, lines 542/543) are both _null_.
My icecast.xml config file is almost genuine (changed the port, and configured a mountpoint with stream_auth). Please see attachments.
Here is a GDB run :
```
(gdb) run -c etc/icecast.xml
Starting program: /home/radioking/icecast-dbg/icecast-2.4.0/build/bin/icecast -c etc/icecast.xml
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff7fda700 (LWP 16800)]
[New Thread 0x7ffff7f59700 (LWP 16801)]
[New Thread 0x7ffff7ed8700 (LWP 16802)]
[New Thread 0x7ffff14ca700 (LWP 16803)]
[New Thread 0x7ffff1449700 (LWP 16804)]
[Thread 0x7ffff1449700 (LWP 16804) exited]
[New Thread 0x7ffff083f700 (LWP 16805)]
[New Thread 0x7ffff07be700 (LWP 16806)]
[Thread 0x7ffff083f700 (LWP 16805) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff7fda700 (LWP 16800)]
strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: Aucun fichier ou dossier de ce type.
```
And the backtrace :
```
(gdb) bt
#0 strlen () at ../sysdeps/x86_64/strlen.S:106
#1 0x000000000040ba9c in util_url_escape (src=0x0) at util.c:269
#2 0x000000000041e0db in url_stream_auth (auth_user=<optimized out>)
at auth_url.c:542
#3 0x000000000041ac80 in stream_auth_callback (auth=0x64cf20, auth_user=0x684280)
at auth.c:248
#4 0x000000000041a5cf in auth_run_thread (arg=arg@entry=0x64cf20) at auth.c:311
#5 0x0000000000421e77 in _start_routine (arg=0x657550) at thread.c:657
#6 0x00007ffff68c4182 in start_thread (arg=0x7ffff7fda700) at pthread_create.c:312
#7 0x00007ffff65f130d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
```Icecast 2.5.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2037Check if Icecast returns HTTP 200 on disallowed metadata updates2018-03-06T12:49:47ZThomas B. RückerCheck if Icecast returns HTTP 200 on disallowed metadata updatesWe've had a report that some version of Icecast might be doing this.
http://lists.xiph.org/pipermail/icecast/2014-August/012905.html
We should check if this is the case and if so consider changing it to a 403, accompanied by a sensible ...We've had a report that some version of Icecast might be doing this.
http://lists.xiph.org/pipermail/icecast/2014-August/012905.html
We should check if this is the case and if so consider changing it to a 403, accompanied by a sensible error message.Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2033Json output fails parser lint2018-03-06T12:49:47ZKompilerJson output fails parser lintStrange json output that fails the json lint test and php fails to parse. Here's a sample output that is broke.
sample broken json:
{"icestats":{"admin":"icemaster@localhost","host":"localhost","location":"Earth","server_id":"Icecast ...Strange json output that fails the json lint test and php fails to parse. Here's a sample output that is broke.
sample broken json:
{"icestats":{"admin":"icemaster@localhost","host":"localhost","location":"Earth","server_id":"Icecast 2.4.0","server_start":"Tue, 29 Jul 2014 00:53:00 +0200","server_start_iso8601":"2014-07-29T00:53:00+0200","source":[{"audio_info":"bitrate=256;channels=2;samplerate=44100","bitrate":256,"channels":2,"genre":"Various","listener_peak":0,"listeners":0,"listenurl":"http://localhost:8000/User","samplerate":44100,"server_description":"User live in the mix on server.tv!","server_name":"server.tv - User","server_type":"audio/mpeg","server_url":"http://server.tv/live/index/User","stream_start":"Tue, 29 Jul 2014 00:53:01 +0200","stream_start_iso8601":"2014-07-29T00:53:01+0200",,{"audio_info":"bitrate=256;channels=2;samplerate=44100","bitrate":256,"channels":2,"genre":"Various","listener_peak":0,"listeners":0,"listenurl":"http://localhost:8000/autodj","samplerate":44100,"server_description":"server.tv Replays","server_name":"server.tv Radio","server_type":"audio/mpeg","server_url":"http://server.tv/","stream_start":"Tue, 29 Jul 2014 00:53:01 +0200","stream_start_iso8601":"2014-07-29T00:53:01+0200","title":"server.tv Radio: User - M”ix,]}}Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2031Admin functions do not accept URL encoded values2018-03-06T12:49:47ZBradAdmin functions do not accept URL encoded valuesThe admin functions should accept/decode the mount GET value since / is a reserved character.
This works:
http://192.168.1.10:8000/admin/metadata?mount=/mystream&mode=updinfo&song=ACDC+Back+In+Black
This doesn't:
http://192.168.1.10:80...The admin functions should accept/decode the mount GET value since / is a reserved character.
This works:
http://192.168.1.10:8000/admin/metadata?mount=/mystream&mode=updinfo&song=ACDC+Back+In+Black
This doesn't:
http://192.168.1.10:8000/admin/metadata?mount=%F2mystream&mode=updinfo&song=ACDC+Back+In+Black
Response is: 400 - Source does not exist
Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2028Non-existing community link on server information page2018-03-06T12:49:47ZRoland HermansNon-existing community link on server information pageClicking on the Community link of the Server Information web page /server_version.xsl results in a 404 error: "The requested URL /community.php was not found on this server.".
Steps to reproduce:
1. Open the Icecast web interface in a b...Clicking on the Community link of the Server Information web page /server_version.xsl results in a 404 error: "The requested URL /community.php was not found on this server.".
Steps to reproduce:
1. Open the Icecast web interface in a browser
2. Click on Version in the menu
3. Click on the community link (http://icecast.org/community.php)
Actual result:
404 error
Expected result:
Web page with information on the Icecast community is shown.Thomas B. RückerThomas B. Rücker