Icecast-Server issueshttps://gitlab.xiph.org/xiph/icecast-server/-/issues2018-03-06T12:50:21Zhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/702feature request for icecast on demand encoding2018-03-06T12:50:21Zskinkiefeature request for icecast on demand encodingWhen a stream is requested, icecast should start ices to start encoding, and stopping it when noone listens. That could be extented to requesting a stream with specific properties, such as channels and bitrate.When a stream is requested, icecast should start ices to start encoding, and stopping it when noone listens. That could be extented to requesting a stream with specific properties, such as channels and bitrate.Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/700crash when start manage auth2018-03-06T12:50:21Zlanta1crash when start manage auth[2005-09-02 23:41:16] DBUG stats/stats.c update node sources (1)
[2005-09-02 23:41:16] DBUG stats/stats.c new source stat /stream
[2005-09-02 23:41:16] DBUG stats/stats.c new node public (1)
[2005-09-02 23:41:16] DBUG stats/stats.c n...[2005-09-02 23:41:16] DBUG stats/stats.c update node sources (1)
[2005-09-02 23:41:16] DBUG stats/stats.c new source stat /stream
[2005-09-02 23:41:16] DBUG stats/stats.c new node public (1)
[2005-09-02 23:41:16] DBUG stats/stats.c new node server_name (SYSTEM S70 VAERMLAND)
[2005-09-02 23:41:16] DBUG stats/stats.c new node server_description (Unspecified description)
[2005-09-02 23:41:16] DBUG stats/stats.c new node server_url (http://dir.xiph.org/)
[2005-09-02 23:41:16] DBUG stats/stats.c new node genre (Scanner)
[2005-09-02 23:41:16] DBUG stats/stats.c new node bitrate (24)
[2005-09-02 23:41:16] DBUG stats/stats.c new node server_type (audio/mpeg)
[2005-09-02 23:41:16] DBUG stats/stats.c new node authenticator (htpasswd)
[2005-09-02 23:41:16] DBUG stats/stats.c new node max_listeners (unlimited)
[2005-09-02 23:41:16] DBUG stats/stats.c new node source_ip (127.0.0.1)
[2005-09-02 23:41:16] DBUG stats/stats.c update node source_client_connections (1)
[2005-09-02 23:41:16] DBUG stats/stats.c new node listeners (0)
[2005-09-02 23:41:16] DBUG stats/stats.c new node listenurl (http://213.114.105.49:8000/stream)
[2005-09-02 23:41:16] DBUG stats/stats.c new node listener_peak (0)
[2005-09-02 23:41:16] DBUG stats/stats.c update node source_total_connections (1)
[2005-09-02 23:41:16] DBUG stats/stats.c new node slow_listeners (0)
[2005-09-02 23:41:16] DBUG stats/stats.c update node listeners (0)
[2005-09-02 23:41:16] DBUG stats/stats.c update node listener_peak (0)
[2005-09-02 23:41:16] DBUG stats/stats.c new node stream_start (Fri, 02 Sep 2005 23:41:16 Västeuropa, sommartid)
[2005-09-02 23:41:16] DBUG stats/stats.c new node total_bytes_read (0)
[2005-09-02 23:41:16] DBUG stats/stats.c new node total_bytes_sent (0)
[2005-09-02 23:41:17] DBUG slave/slave.c checking master stream list
[2005-09-02 23:41:21] DBUG stats/stats.c update node total_bytes_read (13636)
[2005-09-02 23:41:21] DBUG stats/stats.c update node total_bytes_sent (0)
[2005-09-02 23:41:21] DBUG yp/yp.c server touch interval is 60
[2005-09-02 23:41:21] DBUG yp/yp.c YP add at http://dir.xiph.org/cgi-bin/yp-cgi succeeded
[2005-09-02 23:41:22] DBUG stats/stats.c update node clients (2)
[2005-09-02 23:41:22] DBUG stats/stats.c update node connections (2)
[2005-09-02 23:41:22] DBUG admin/admin.c Admin request (/admin/manageauth.xsl)
[2005-09-02 23:41:22] DBUG admin/admin.c Got command (manageauth.xsl)
[2005-09-02 23:41:22] WARN admin/admin.c Admin command manageauth.xsl on non-existent source /stream.m3u
[2005-09-02 23:41:22] DBUG fserve/fserve.c Adding client to file serving engine
[2005-09-02 23:41:23] DBUG stats/stats.c update node client_connections (1)
[2005-09-02 23:41:23] DBUG stats/stats.c update node clients (1)
[2005-09-02 23:41:24] DBUG stats/stats.c update node clients (2)
[2005-09-02 23:41:24] DBUG stats/stats.c update node connections (3)
[2005-09-02 23:41:24] DBUG admin/admin.c Admin request (/admin/manageauth.xsl)
[2005-09-02 23:41:24] DBUG admin/admin.c Got command (manageauth.xsl)
[2005-09-02 23:41:24] WARN admin/admin.c Admin command manageauth.xsl on non-existent source /stream.m3u
[2005-09-02 23:41:24] DBUG fserve/fserve.c Adding client to file serving engine
[2005-09-02 23:41:25] DBUG stats/stats.c update node client_connections (2)
[2005-09-02 23:41:25] DBUG stats/stats.c update node clients (1)
[2005-09-02 23:41:26] DBUG stats/stats.c update node total_bytes_read (28607)
[2005-09-02 23:41:26] DBUG stats/stats.c update node total_bytes_sent (0)
[2005-09-02 23:41:26] DBUG yp/yp.c YP touch at http://dir.xiph.org/cgi-bin/yp-cgi succeeded
[2005-09-02 23:41:31] DBUG stats/stats.c update node total_bytes_read (43400)
[2005-09-02 23:41:31] DBUG stats/stats.c update node total_bytes_sent (0)
[2005-09-02 23:41:32] DBUG admin/admin.c Admin request (/admin/manageauth.xsl)
[2005-09-02 23:41:32] DBUG admin/admin.c Got command (manageauth.xsl)
[2005-09-02 23:41:32] INFO admin/admin.c Received admin command manageauth.xsl on mount "/stream"
[2005-09-02 23:41:32] WARN auth_htpasswd/auth_htpasswd.c failed to check status of myauth
[2005-09-02 23:41:32] DBUG stats/stats.c update node clients (2)
[2005-09-02 23:41:32] DBUG stats/stats.c update node connections (4)
[2005-09-02 23:41:32] DBUG stats/stats.c update node client_connections (3)
[2005-09-02 23:41:36] DBUG stats/stats.c update node total_bytes_read (58545)
[2005-09-02 23:41:36] DBUG stats/stats.c update node total_bytes_sent (0)
Icecast 2.3Gitlab BotGitlab Bothttps://gitlab.xiph.org/xiph/icecast-server/-/issues/697Icecast down when connection limit is reached2018-03-06T12:50:21ZyashengIcecast down when connection limit is reachedThis bug was induce by changeset [9733] and [9740]. In connection.c,
```
if (client_create (&client, con, NULL) < 0)
{
global_unlock();
client_send_404 (client, "Icecast connection ...This bug was induce by changeset [9733] and [9740]. In connection.c,
```
if (client_create (&client, con, NULL) < 0)
{
global_unlock();
client_send_404 (client, "Icecast connection limit reached");
continue;
}
```
But,
1. client can be NULL if the calloc in client_create() fails
1. even if client is not NULL, client->refbuf is still NULL
And the server will go down in client_send_404()
Karl HeyesKarl Heyeshttps://gitlab.xiph.org/xiph/icecast-server/-/issues/689YP updates should be serialised per YP directory to isolate problem servers2018-03-06T12:50:21ZGitlab BotYP updates should be serialised per YP directory to isolate problem serversYP updates (touches) for all mounts and YP directories are performed in series. If a YP server is slow to respond, e.g. 10 seconds, this may cause YP listings to not be maintained properly. E.g., 36 mounts with an average response time...YP updates (touches) for all mounts and YP directories are performed in series. If a YP server is slow to respond, e.g. 10 seconds, this may cause YP listings to not be maintained properly. E.g., 36 mounts with an average response time of 10 seconds per update will take 6 minutes per update cycle, while the YP directory may expect updates every two to five minutes. All of the YP directories will be affected by one slow YP directory in the configuration.
YP servers should be isolated, with YP updates for multiple YP directories performed in parallel (a separate series for each YP server).Icecast 2.3Karl HeyesKarl Heyeshttps://gitlab.xiph.org/xiph/icecast-server/-/issues/688Compiling icecast on Solaris 10 AMD64 using SUN Studio10 cc2018-03-06T12:50:21Zmoinakg2002Compiling icecast on Solaris 10 AMD64 using SUN Studio10 ccI have built icecast on an AMD64 Laptop running Solaris 10,
using the SUN Studio10 compiler. Studio10 cc does not have
the predefined "__FUNCTION__" identifier. Instead it provides
"__func__". So src/logging.h needs a fix as given below:...I have built icecast on an AMD64 Laptop running Solaris 10,
using the SUN Studio10 compiler. Studio10 cc does not have
the predefined "__FUNCTION__" identifier. Instead it provides
"__func__". So src/logging.h needs a fix as given below:
*** logging.h.orig Tue May 31 19:10:15 2005
--- logging.h Tue May 31 19:14:24 2005
***************
*** 33,38 ****
--- 33,42 ----
#define __FUNCTION__ strrchr (__FILE__, '\\') ? strrchr (__FILE__, '\\') + 1 : __FILE__
#endif
+ #ifdef __SUNPRO_C
+ #define __FUNCTION__ __func__
+ #endif
+
#define ERROR0(y) log_write(errorlog, 1, CATMODULE "/", __FUNCTION__, y)
#define ERROR1(y, a) log_write(errorlog, 1, CATMODULE "/", __FUNCTION__, y, a)
#define ERROR2(y, a, b) log_write(errorlog, 1, CATMODULE "/", __FUNCTION__, y, a, b)
Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/684IceCast crashes with more than 10 listen-socket port definitions2018-03-06T12:50:21ZGitlab BotIceCast crashes with more than 10 listen-socket port definitionsIcecast crashes if I define more than 10 listen-socket ports. Is there a limit that's not documented or is this a bug? I'm using the Windows build that OddSock compiled on 7/13/05.
Icecast crashes if I define more than 10 listen-socket ports. Is there a limit that's not documented or is this a bug? I'm using the Windows build that OddSock compiled on 7/13/05.
Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/676icecast sends bad Content-Type2018-03-06T12:50:21ZGitlab Boticecast sends bad Content-TypeI started icecast server by icecast -c /etc/icecast2/icecast.xml and then
went to URL http://localhost:8000 where Icecast was running. The image
localhost:8000/corner_topleft.jpg is sent with Content-Type:
application/octet-stream but th...I started icecast server by icecast -c /etc/icecast2/icecast.xml and then
went to URL http://localhost:8000 where Icecast was running. The image
localhost:8000/corner_topleft.jpg is sent with Content-Type:
application/octet-stream but the content type is actually image/jpeg.Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/675Starting icecast 2.1.0 server according to official Icecast 2.1.0 documentati...2018-03-06T12:50:21ZclockStarting icecast 2.1.0 server according to official Icecast 2.1.0 documentation doesn't workhttp://icecast.org/docs/icecast-2.1.0/icecast2_basicsetup.html says:
"Once the configuration file is modified, you should be able to start the server with the following command
icecast -c /path/to/icecast.xml"
kestrel root # icecast -c ...http://icecast.org/docs/icecast-2.1.0/icecast2_basicsetup.html says:
"Once the configuration file is modified, you should be able to start the server with the following command
icecast -c /path/to/icecast.xml"
kestrel root # icecast -c /etc/icecast2/icecast.xml
ERROR: You should not run icecast2 as root
Use the changeowner directive in the config file
Though I have configured Icecast according to this guide. Excerpt from my
config file /etc/icecast2/icecast.xml showing the discussed variables (I left
the remainder to default):
<source-password>censored</source-password>
<admin-password>spearburn</admin-password>
<listen-socket>
<port>8000</port>
<bind-address>127.0.0.1</bind-address>
</listen-socket>
<logdir>/var/log</logdir>
<webroot>/usr/share/icecast/web</webroot>
<adminroot>/usr/share/icecast/admin</adminroot>
Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/670Extend slave mechanism to allow for multiple master servers.2018-03-06T12:50:21ZGitlab BotExtend slave mechanism to allow for multiple master servers.Extend slave mechanism to allow for multiple master servers so that the slave can relay from several master icecast servers.Extend slave mechanism to allow for multiple master servers so that the slave can relay from several master icecast servers.Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/668A few queries about Icecast2018-03-06T12:50:21Zstudent4lifeA few queries about IcecastFour questions really, is it possible to customise the status.xsl, so it has static html code (or something like) on it, I ask because I would rather like to add DJ times and profiles on the that particular page, and accept for minimal s...Four questions really, is it possible to customise the status.xsl, so it has static html code (or something like) on it, I ask because I would rather like to add DJ times and profiles on the that particular page, and accept for minimal stuff like titles and text that's already there I've been able to do very little with the xsl sheet without it being rejected by the server.
Secondly is it possible to have text appear when no streaming is taking place on the server, so that it displays a message like "sorry no one is broadcasting at this time."
Thirdly how the hell do I get the fallback-mount and override to work, I've followed the examples shown on a number of sites including the official docs for Icecast 2.20, nothing seems to work, (actually I tell a lie it may have worked once!) is there a problem with the fact I'm using SAM 3.18 or that I have the authentication turned on in the primary stream. Also can you fallback to stream static mp3s or m3u playlists, opinion seems to be rather divided on this.
Finally assuming I can get the fallback working, how do i hide it on the status page, as I just want to use it as a short term fallback to fill between DJs rather than have users connect to it in its own right. Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/663Icecast dump-file trigger2018-03-06T12:50:21Znaveed83Icecast dump-file triggericecast now has a setting named: <dump-file>/tmp/dump-example1.ogg</dump-file>
Is it possible that you in a later version make an admin trigger to enable/disable this feature. So u can specify when it shall start dumping, and when to s...icecast now has a setting named: <dump-file>/tmp/dump-example1.ogg</dump-file>
Is it possible that you in a later version make an admin trigger to enable/disable this feature. So u can specify when it shall start dumping, and when to stop instead of dumping the whole stream.
This is specially handy when u only need to record parts of your stream, like a live show instead of the whole stream which could take up loads of disk space.
regards,
^Naveed^Icecast 2.4.0Karl HeyesKarl Heyeshttps://gitlab.xiph.org/xiph/icecast-server/-/issues/661Display source IP for earch mountpoint in admin/stats.xsl2018-03-06T12:50:21ZGitlab BotDisplay source IP for earch mountpoint in admin/stats.xslIt would be nice to see source IP-address in stats.xsl page for each mounpoint. Nowdays if I like to find out who is sending stream to mountpoint, I have to dig it out with ugly shell command: cat /var/log/icecast/access.log | grep SOURC...It would be nice to see source IP-address in stats.xsl page for each mounpoint. Nowdays if I like to find out who is sending stream to mountpoint, I have to dig it out with ugly shell command: cat /var/log/icecast/access.log | grep SOURCE | awk '{ printf $1 " " $7 "\n" }' | sort | uniqIcecast 2.3Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/659Icecast 2.2.0 win32 doesn't display Korean metadata properly2018-03-06T12:50:21ZKyungjoon LeeIcecast 2.2.0 win32 doesn't display Korean metadata properlyIcecast 2.2.0 for Windows doesn't display Korean metadata properly.
Source level stats -> click on source -> look at artist on right.
Here's some sample Korean text: 가나다 &#44032;&#45208;&#45796;Icecast 2.2.0 for Windows doesn't display Korean metadata properly.
Source level stats -> click on source -> look at artist on right.
Here's some sample Korean text: 가나다 가나다Karl HeyesKarl Heyeshttps://gitlab.xiph.org/xiph/icecast-server/-/issues/656iceast-kh rev 9168 fails to compile in connection.c2018-03-06T12:50:21Zpadaniusiceast-kh rev 9168 fails to compile in connection.clatest revision of iceast-kh failes to compile (previous was OK) :
gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -ffast-math -fsigned-char -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/include -pthread -g -O2 -c `test -f 'sighandle...latest revision of iceast-kh failes to compile (previous was OK) :
gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -ffast-math -fsigned-char -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/include -pthread -g -O2 -c `test -f 'sighandler.c' || echo './'`sighandler.c
source='connection.c' object='connection.o' libtool=no \
depfile='.deps/connection.Po' tmpdepfile='.deps/connection.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -ffast-math -fsigned-char -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/include -pthread -g -O2 -c `test -f 'connection.c' || echo './'`connection.c
connection.c: In function `connection_complete_source':
connection.c:501: error: structure has no member named `con'
connection.c:502: error: structure has no member named `con'
connection.c:503: error: structure has no member named `parser'
connection.c:504: error: structure has no member named `parser'
make[3]: *** [connection.o] Error 1
make[3]: Leaving directory `/usr/src/icecast-kh/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/icecast-kh/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/icecast-kh'
make: *** [all] Error 2
Gitlab BotGitlab Bothttps://gitlab.xiph.org/xiph/icecast-server/-/issues/652Move clients to fallback when source disconnects2018-03-06T12:50:21ZTristanMove clients to fallback when source disconnectsCurrently, when a source disconnects, icecast2 appears to drop that mount's listening clients -- even if it has a fallback-mount defined. It would be nice if the existing clients were gracefully moved to the fallback instead of being di...Currently, when a source disconnects, icecast2 appears to drop that mount's listening clients -- even if it has a fallback-mount defined. It would be nice if the existing clients were gracefully moved to the fallback instead of being disconnected.
I know there's a mechanism to move clients, but I don't have prior knowledge of when the source will disconnect (ezstream is prone to SIGSEGV).Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/642Fallback overrides when it shouldn't2021-01-29T10:17:57ZGitlab BotFallback overrides when it shouldn'tI have a server with two mounts which have the same fallback mount.
Actually, I have three mounts, with one having a second as its fallback
and that second having the common fallback. But you get the idea.
All these mounts have fallbac...I have a server with two mounts which have the same fallback mount.
Actually, I have three mounts, with one having a second as its fallback
and that second having the common fallback. But you get the idea.
All these mounts have fallback-override set.
The problem is that if I connect to any of the mounts for which the
fallback mount is configured, all mounts currently falling back to that
mount will be pulled forward to the connecting stream, not just listeners
who tuned in via the connected mount.
Example. A and B are configured to fall back to C. Listeners tune into
both A and B when neither is connected and drop through to C. A source
connects to B. All listeners through both A and B are pulled forward to B.
This only affects listeners tuned in at the time the source connects.
Using the above example, anyone tuning into A after B connects will still
get C.
This is using Icecast 2.2 compiled from source on Debian 3.0.Icecast 2.3Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/640last character of playlist log is truncated2018-03-06T12:50:22Zbirbecklast character of playlist log is truncatedIn Icecast version 2.2.0 the last character of the playlist log is truncated.
In the function update_comments on line 252 of format_ogg.c the line is
len += strlen(artist) + strlen(title) + 3;
the line should read
len += strlen(art...In Icecast version 2.2.0 the last character of the playlist log is truncated.
In the function update_comments on line 252 of format_ogg.c the line is
len += strlen(artist) + strlen(title) + 3;
the line should read
len += strlen(artist) + strlen(title) + 4;
I have applied to patch to my source tree and the playlist log reads correctly.
Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/635icecast 2.2.0 bugz2018-11-10T12:58:03ZGitlab Boticecast 2.2.0 bugz1) The XSL parser has some unchecked buffers (local),but they dont seem
to be exploitable. If they are, they can be used for priviledge escalation,
under the user that the server runs.
```xslt
<xsl:when test="<lots of chars>"></xsl...1) The XSL parser has some unchecked buffers (local),but they dont seem
to be exploitable. If they are, they can be used for priviledge escalation,
under the user that the server runs.
```xslt
<xsl:when test="<lots of chars>"></xsl:when>
<xsl:if test="<lots of chars>"></xsl:if>
<xsl:value-of select="<lots of chars>" />
```
2) Cause XSL parser error "Could not parse XSLT file". (Not very useful).
```
GET /status.xsl> HTTP/1.0
GET /status.xsl< HTTP/1.0
GET /<status.xsl HTTP/1.0
```
3) XSL parser bypass. (Useful to steal customized XSL files, lol).
```
GET /auth.xsl. HTTP/1.0
GET /status.xsl. HTTP/1.0
```
Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/633Client count in stats.xml continues to increase.2018-03-06T12:50:22ZJoel EbelClient count in stats.xml continues to increase.In stats.xml, the <icestats><clients> value continually increases. Every time I restart a source, this number goes up and never comes back down. Right now it's up to 432 even though I have a 100 client limit. It seems that when a sour...In stats.xml, the <icestats><clients> value continually increases. Every time I restart a source, this number goes up and never comes back down. Right now it's up to 432 even though I have a 100 client limit. It seems that when a source disconnects, this client value doesn't decrement, but when a listening client disconnects it does. There could be more to it than that, but that's what it appears to be to me.Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/632Incorrect Base64 decoder in utils (missing '2018-03-06T12:50:22ZGitlab BotIncorrect Base64 decoder in utils (missing '*Base64 utils. Encode is ok, but decode? '=' is missed, so, VLC, that
contains correct base64 encoder, produces '=' at the end of the string.
We need to pacth that case in decoder:
char *util_base64_decode(unsigned char *input)
{
...*Base64 utils. Encode is ok, but decode? '=' is missed, so, VLC, that
contains correct base64 encoder, produces '=' at the end of the string.
We need to pacth that case in decoder:
char *util_base64_decode(unsigned char *input)
{
int len = strlen(input);
char *out = malloc(len*3/4 + 5);
char *result = out;
signed char vals[4];
while(len > 0) {
if(len < 4 && *input != '=')
{
free(result);
return NULL; /* Invalid Base64 data */
} else if (*input == '=') break;
Icecast 2.3Michael SmithMichael Smith