Icecast-Server issueshttps://gitlab.xiph.org/xiph/icecast-server/-/issues2020-02-14T13:10:21Zhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2008A hang in send_ogg_headers()2020-02-14T13:10:21ZartemA hang in send_ogg_headers()I've recently had the following hang of icecast2 server. Not sure if it's the first time, but it's pretty rare anyway, so i can't reliably reproduce, but this time i managed to debug a little.
I'm running on ubuntu 12.04 vps with defaul...I've recently had the following hang of icecast2 server. Not sure if it's the first time, but it's pretty rare anyway, so i can't reliably reproduce, but this time i managed to debug a little.
I'm running on ubuntu 12.04 vps with default package (icecast2-2.3.2-9ubuntu1), didn't try to pull the latest svn version yet.
```
$ tail /var/log/icecast2
...
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
[2014-02-16 08:27:40] DBUG client/client_send_bytes Client connection died
...
```
```
$ strace -p `pidof icecast2` -f 2>&1 | grep send
...
[pid 26113] send(14, 0x5ff8e559, 2406954578, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e558, 2406954579, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e557, 2406954580, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e556, 2406954581, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e555, 2406954582, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e554, 2406954583, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e553, 2406954584, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e552, 2406954585, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e551, 2406954586, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e550, 2406954587, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e54f, 2406954588, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e54e, 2406954589, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e54d, 2406954590, 0) = -1 EPIPE (Broken pipe)
[pid 26113] send(14, 0x5ff8e54c, 2406954591, 0) = -1 EPIPE (Broken pipe)
...
```
You may notice how buffer address decreases by 1 and buffer length increases by 1 on every line; no other `send()` calls happen, so i could easily backtrace them:
```
$ gdb -p `pidof icecast`
...
Breakpoint 1, 0xb7461e40 in send () from /lib/i386-linux-gnu/tls/i686/nosegneg/libpthread.so.0
(gdb) bt
#0 0xb7461e40 in send () from /lib/i386-linux-gnu/tls/i686/nosegneg/libpthread.so.0
#1 0x08067c40 in sock_write_bytes (sock=14, buff=0x5f08fe9d, len=2422676750) at sock.c:360
#2 0x0804f9aa in connection_send (con=0x9748ac8, buf=0x5f08fe9d, len=2422676750) at connection.c:303
#3 0x08058d20 in client_send_bytes (client=0x9740a38, buf=0x5f08fe9d, len=2422676750) at client.c:202
#4 0x0805e6c2 in send_ogg_headers (headers=0xb666e848, client=0x9740a38) at format_ogg.c:500
#5 write_buf_to_client (client=0x9740a38) at format_ogg.c:534
#6 0x08054f57 in send_to_listener (deletion_expected=0, client=0x9740a38, source=0xb647c7d8) at source.c:544
#7 source_main (source=0xb647c7d8) at source.c:716
#8 0x0805564f in source_client_thread (arg=0xb647c7d8) at source.c:1225
#9 0x08068b2f in _start_routine (arg=0xb6674970) at thread.c:655
#10 0xb745ad4c in start_thread () from /lib/i386-linux-gnu/tls/i686/nosegneg/libpthread.so.0
#11 0xb7398ace in clone () from /lib/i386-linux-gnu/tls/i686/nosegneg/libc.so.6
...
```
Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1995Icecast server configure fails on ibm AIX 72018-03-06T12:49:48ZAlexandruIcecast server configure fails on ibm AIX 7Hello Team,
I'm having trouble compiling the Icecast server version 2.3.3 on IBM AIX version 7100-02-01-1245.
./configure script fails while checking for libvorbis installation with the following message:
"checking for libvorbis......Hello Team,
I'm having trouble compiling the Icecast server version 2.3.3 on IBM AIX version 7100-02-01-1245.
./configure script fails while checking for libvorbis installation with the following message:
"checking for libvorbis... configure: error: must have Ogg Vorbis v1.0 or above installed"
The following libraries have been installed without issues in /opt/freeware/lib:
root@aiiics02:/>rpm -qa|egrep 'vorbis|ogg'
libogg-1.3.0-1
libogg-devel-1.3.0-1
libvorbis-1.3.3-1
libvorbis-devel-1.3.3-1
root@aiiics02:/>rpm -ql libvorbis-1.3.3-1
/opt/freeware/doc/libvorbis-1.3.3
/opt/freeware/doc/libvorbis-1.3.3/AUTHORS
/opt/freeware/doc/libvorbis-1.3.3/COPYING
/opt/freeware/doc/libvorbis-1.3.3/README
/opt/freeware/lib/libvorbis.a
/opt/freeware/lib/libvorbisenc.a
/opt/freeware/lib/libvorbisfile.a
/usr/lib/libvorbis.a
/usr/lib/libvorbisenc.a
/usr/lib/libvorbisfile.a
I'm can send the configure.log file in case it helps and also
help test this on all current AIX versions (5.3, 6.1 & 7.1) so you can add AIX to the supported platforms.
Thanks in advance and best of regards!
-Alex
Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1994Icecast server configure fails on ibm AIX 72018-03-06T12:49:48ZAlexandruIcecast server configure fails on ibm AIX 7Hello Team,
I'm having trouble compiling the Icecast server version 2.3.3 on IBM AIX version 7100-02-01-1245.
./configure script fails while checking for libvorbis installation with the following message:
"checking for libvorbis......Hello Team,
I'm having trouble compiling the Icecast server version 2.3.3 on IBM AIX version 7100-02-01-1245.
./configure script fails while checking for libvorbis installation with the following message:
"checking for libvorbis... configure: error: must have Ogg Vorbis v1.0 or above installed"
The following libraries have been installed without issues in /opt/freeware/lib:
root@aiiics02:/>rpm -qa|egrep 'vorbis|ogg'
libogg-1.3.0-1
libogg-devel-1.3.0-1
libvorbis-1.3.3-1
libvorbis-devel-1.3.3-1
root@aiiics02:/>rpm -ql libvorbis-1.3.3-1
/opt/freeware/doc/libvorbis-1.3.3
/opt/freeware/doc/libvorbis-1.3.3/AUTHORS
/opt/freeware/doc/libvorbis-1.3.3/COPYING
/opt/freeware/doc/libvorbis-1.3.3/README
/opt/freeware/lib/libvorbis.a
/opt/freeware/lib/libvorbisenc.a
/opt/freeware/lib/libvorbisfile.a
/usr/lib/libvorbis.a
/usr/lib/libvorbisenc.a
/usr/lib/libvorbisfile.a
I'm also attaching the config.log file in case it helps.
I can help test this on all current AIX versions so you can add AIX to the supported platforms.
Thanks in advance and best of regards!
-Alex
https://gitlab.xiph.org/xiph/icecast-server/-/issues/1993Icecast server configure fails on ibm AIX 72018-03-06T12:49:48ZAlexandruIcecast server configure fails on ibm AIX 7Hello Team,
I'm having trouble compiling the Icecast server version 2.3.3 on IBM AIX version 7100-02-01-1245.
./configure script fails while checking for libvorbis installation with the following message:
"checking for libvorbis... co...Hello Team,
I'm having trouble compiling the Icecast server version 2.3.3 on IBM AIX version 7100-02-01-1245.
./configure script fails while checking for libvorbis installation with the following message:
"checking for libvorbis... configure: error: must have Ogg Vorbis v1.0 or above installed"
The following libraries have been installed without issues in /opt/freeware/lib:
root@aiiics02:/>rpm -qa|egrep 'vorbis|ogg'
libogg-1.3.0-1
libogg-devel-1.3.0-1
libvorbis-1.3.3-1
libvorbis-devel-1.3.3-1
root@aiiics02:/>rpm -ql libvorbis-1.3.3-1
/opt/freeware/doc/libvorbis-1.3.3
/opt/freeware/doc/libvorbis-1.3.3/AUTHORS
/opt/freeware/doc/libvorbis-1.3.3/COPYING
/opt/freeware/doc/libvorbis-1.3.3/README
/opt/freeware/lib/libvorbis.a
/opt/freeware/lib/libvorbisenc.a
/opt/freeware/lib/libvorbisfile.a
/usr/lib/libvorbis.a
/usr/lib/libvorbisenc.a
/usr/lib/libvorbisfile.a
I'm also attaching the configure.log file in case it helps.
I can help test this on all current AIX versions so you can add AIX to the supported platforms.
Thanks in advance and best of regards!
-AlexThomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1977check mime-type file handling in win32 build2018-03-06T12:49:48ZThomas B. Rückercheck mime-type file handling in win32 builduser reported a vague problem.
Seems we open a mime-types file from fserve.c
Also there seems to be an undocumented config option when parsing xml.
So might be enough to include a file and point to it in the win32 default config.
Unless ...user reported a vague problem.
Seems we open a mime-types file from fserve.c
Also there seems to be an undocumented config option when parsing xml.
So might be enough to include a file and point to it in the win32 default config.
Unless mingw provides some magic in its libc.Icecast 2.4.1https://gitlab.xiph.org/xiph/icecast-server/-/issues/1963icecast crashes if some XML config settings are empty2018-03-06T12:49:48Zmaepicecast crashes if some XML config settings are empty
## new description:
If you leave a tag empty, our config parsing code using libxml2 will set the variable to NULL, something that we try to prevent by prepopulating vital variables with defaults.
This needs a well thought out fix after ...
## new description:
If you leave a tag empty, our config parsing code using libxml2 will set the variable to NULL, something that we try to prevent by prepopulating vital variables with defaults.
This needs a well thought out fix after understanding our code and where the NULL comes from and what it should be instead (possibly case by case?).
*Workaround:* _Don't set anything in the config to empty tags like <tag></tag>, because bad things will happen!_
## Initial report:
icecast version 2.3.3. when i have this in my config
<accesslog></accesslog>
<errorlog></errorlog>
icecast segfaults. my intention was to turn off logging.
Icecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1953auth.xsl m3u filename is wrong2018-03-06T12:49:48Zrasiauth.xsl m3u filename is wrongauth.xsl generates the link for usermanaged servers.
but the file it sends out to the browser is hardcoded:
<form method="GET" action="/admin/buildm3u">
Since this file is missing a file extension it wont work with some mediaplayers tha...auth.xsl generates the link for usermanaged servers.
but the file it sends out to the browser is hardcoded:
<form method="GET" action="/admin/buildm3u">
Since this file is missing a file extension it wont work with some mediaplayers that expect a "m3u" extension.
Version is icecast-2.4-beta3.tar.gzIcecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1951IceCast2 Mountpoint switchover buffer2018-03-06T12:49:48ZDarrenIceCast2 Mountpoint switchover bufferHi.
I've recently changed my SHOUTcast over to IceCast to stop any dead air and use mount points.
I have one little issue.
When the Auto DJ is connected, the music plays perfectly fine but when a source connects then that's when the ...Hi.
I've recently changed my SHOUTcast over to IceCast to stop any dead air and use mount points.
I have one little issue.
When the Auto DJ is connected, the music plays perfectly fine but when a source connects then that's when the stream starts to buffer, yet the listeners successfully transfer from the /autodj mount to the /live mount and vice versa when a source disconnects.
Now.. when listening via the Centova Cast player at the top, the stream doesn't buffer.. it only buffers when using flash players or any other player for that matter which are outside Centova Cast.
Do you know a way around this? Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1944Rework STATS interface2018-10-18T08:01:51ZcatoRework STATS interfaceThe current STATS interface which can be accessed via "curl -X STATS http://server:8000/" lacks some features:
1) Not compliant with HTTP spec:
- method needs to be changed from STATS to GET and with
that the target URL has also ...The current STATS interface which can be accessed via "curl -X STATS http://server:8000/" lacks some features:
1) Not compliant with HTTP spec:
- method needs to be changed from STATS to GET and with
that the target URL has also to be changed
- Sent HTTP-Response headers, define mime-type
2) Add lines for mount add/remove, for example "ADD /test.ogg" and "REMOVE /test.ogg"
3) Remove spurious "null null" entries
Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1942Spurious dots inside http request line logged to access log2018-03-06T12:49:48ZThomas B. RückerSpurious dots inside http request line logged to access log*"GET./status.xsl.HTTP/1.1"
vs
"GET /status.xsl HTTP/1.1"*"GET./status.xsl.HTTP/1.1"
vs
"GET /status.xsl HTTP/1.1"Icecast 2.4.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1939Webinterface shows Login when using just stream_auth2018-03-06T12:49:48ZcatoWebinterface shows Login when using just stream_authA stream is configured just with stream_auth. The webinterface shows an login-link anyway. Clients can still access the stream, if they use the direct link.
This happens because the xsl just looks for an authenticator for the mount, whi...A stream is configured just with stream_auth. The webinterface shows an login-link anyway. Clients can still access the stream, if they use the direct link.
This happens because the xsl just looks for an authenticator for the mount, which is "url" in this case. There is no possibility to check whether the authenticator applies for sources or for clients.Icecast 2.5.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1936Add <audio> and <video> elements to supported streams on status page.2018-06-16T22:37:50ZThomas B. RückerAdd <audio> and <video> elements to supported streams on status page.Now that Firefox will ship with fixed chaining we can push this much more.
By supported I mean at least: vorbis, Opus, theora, WebMNow that Firefox will ship with fixed chaining we can push this much more.
By supported I mean at least: vorbis, Opus, theora, WebMIcecast 2.5.0Marvin ScholzMarvin Scholzhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1929HTTP Content-Type doesn't autodetect and it ignores <type> and <subtype>2018-10-24T14:29:17ZEvan CarrollHTTP Content-Type doesn't autodetect and it ignores <type> and <subtype>I have a `Ogg/Opus` stream, if I don't statically put in the `<type>` and `<subtype>` into my icecast conf file `/admin/stats.xsl shows`,
```
server_type application/ogg
```
And, the HTTP header shows `application/ogg` for Content-Typ...I have a `Ogg/Opus` stream, if I don't statically put in the `<type>` and `<subtype>` into my icecast conf file `/admin/stats.xsl shows`,
```
server_type application/ogg
```
And, the HTTP header shows `application/ogg` for Content-Type. If I statically put in the `<type>` and `<subtype>` `/admin/stats.xsl` shows,
```
server_type audio/ogg
subtype opus
```
However, even statically entered the HTTP Content-Type is `application/ogg`.
Per the Opus wiki [https://wiki.xiph.org/OggOpus#Content_Type], the Content-Type should be `"audio/ogg; codecs=opus"`
> The recommended mime-type for Ogg Opus files is audio/ogg, defined in RFC 5334. If more specificity is desired, one can distinguish Opus files as 'audio/ogg; codecs=opus'. The recommended filename extension for Ogg Opus files is .opus.
Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1916Fix & Verify proper escaping of HTTP related variables when e.g. printing to ...2018-03-06T12:49:48ZThomas B. RückerFix & Verify proper escaping of HTTP related variables when e.g. printing to access.logSee also initial report:
http://lists.xiph.org/pipermail/icecast/2012-December/012331.html
We should check escaping for all those variables printed to access.log .See also initial report:
http://lists.xiph.org/pipermail/icecast/2012-December/012331.html
We should check escaping for all those variables printed to access.log .Icecast 2.4.0Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1914Port wildcard mounts to trunk2022-03-15T11:05:26ZcatoPort wildcard mounts to trunkIn the [kh-branch](https://trac.xiph.org/browser/icecast/branches/kh/icecast/src/cfgfile.c#L1203) is a feature which allows you to specify wildcard mounts like
```
<mount>
<mount-name>/foo-*.mp3</mount-name>
</mount>
```
to set options f...In the [kh-branch](https://trac.xiph.org/browser/icecast/branches/kh/icecast/src/cfgfile.c#L1203) is a feature which allows you to specify wildcard mounts like
```
<mount>
<mount-name>/foo-*.mp3</mount-name>
</mount>
```
to set options for an unknown set of mount points. Please port this to the [mainstream icecast](https://trac.xiph.org/browser/icecast/trunk/icecast/src/cfgfile.c#L1126) as well.
Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1913Icecast shows EROR instead of ERROR in error.log2018-03-06T12:49:48ZborlamIcecast shows EROR instead of ERROR in error.logIcecast shows EROR instead of ERROR in error.log.
error.log.4:[2012-10-25 21:00:49] EROR slave/open_relay_connection Header read failed for Icecast shows EROR instead of ERROR in error.log.
error.log.4:[2012-10-25 21:00:49] EROR slave/open_relay_connection Header read failed for Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1896Icecast should provide xml versions of pages2018-03-06T12:49:48ZGhost UserIcecast should provide xml versions of pagesIcecast generates xml pages and then runs them through xslt to convert them to html for display. The raw xml is much more useful for people writing automation which accesses an icecast server.
While some of the raw xml files are availab...Icecast generates xml pages and then runs them through xslt to convert them to html for display. The raw xml is much more useful for people writing automation which accesses an icecast server.
While some of the raw xml files are available through the admin/ interface, this requires authentication. The same information that's available on the public stream listing and version pages should also be available as xml.Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1889Error pages needs update2018-03-06T12:49:48ZPhilipp SchafftError pages needs updateThe error pages generated by icecast are currently hardcoded. Some contain invalid HTML.
Please provide a valid but very simple HTML file for the HTTP errors 400 and 404. I will also take such error pages for 401 and 403 but that has le...The error pages generated by icecast are currently hardcoded. Some contain invalid HTML.
Please provide a valid but very simple HTML file for the HTTP errors 400 and 404. I will also take such error pages for 401 and 403 but that has less priority.
The pages (except for 401) all take an string telling the user about the error. Please just leave '%s' in the 'template' where it should go.
current pages look like this:
```
<b>%s</b>
```Icecast 2.4.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1888Lower required authentification level for STATS2018-03-06T12:49:48ZcatoLower required authentification level for STATSThe STATS interface currently needs admin previleges. If you want to give an external entity access to the STATS interface you have to give them your admin password and therefore the control over the whole server. Requiring just e.g. rel...The STATS interface currently needs admin previleges. If you want to give an external entity access to the STATS interface you have to give them your admin password and therefore the control over the whole server. Requiring just e.g. relay previleges for the STATS interface would solve this.Icecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1886[PATCH]Icecast should log to STDERR if it can't log to the errorlog file2018-03-06T12:49:48ZThomas B. Rücker[PATCH]Icecast should log to STDERR if it can't log to the errorlog fileThis would be very helpful for troubleshooting startup problems.
Likely to be implemented in log_write() or _log_open() in log/log.c.This would be very helpful for troubleshooting startup problems.
Likely to be implemented in log_write() or _log_open() in log/log.c.Icecast 2.5.0