Icecast-Server issueshttps://gitlab.xiph.org/xiph/icecast-server/-/issues2018-03-06T12:49:48Zhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1181Icecast Server Core Dumps - Solaris2018-03-06T12:49:48ZGitlab BotIcecast Server Core Dumps - SolarisHello,
I'm running Icecast 2.3.1 on Solaris 10 (Sparc). Compiled with GCC + GNU toolset.
The server runs fine, but any attempt to log into the web admin interface causes a core dump.
Here is whats in the dump file:
--------------...Hello,
I'm running Icecast 2.3.1 on Solaris 10 (Sparc). Compiled with GCC + GNU toolset.
The server runs fine, but any attempt to log into the web admin interface causes a core dump.
Here is whats in the dump file:
----------------- lwp# 1 / thread# 1 --------------------
fecc0e80 __pollsys (ffbff460, 2, ffbff3e8, 0, 0, 0) + 8
fec5cf48 poll (ffbff460, 2, 64, 10624c00, 17d784, 5f5e100) + 7c
00019904 wait_for_serversock (64, 0, 7affb, d, 5d3e0, 5b2d8) + a8
00019b64 _accept_connection (0, 448f0, ffffffff, fffffff8, 4, 2) + 8
0001a2d8 connection_accept_loop (5bbc8, 3288c, 0, 0, 24d, 5bbc8) + 58
00018764 _server_proc (0, 3, 44690, 44540, 44698, 5b878) + 4c
00018e28 main (3, ffbffd84, ffbffd94, 5af58, ff2c0100, ff2c0140) + 324
00012b08 _start (0, 0, 0, 0, 0, 0) + 5c
----------------- lwp# 2 / thread# 2 --------------------
fecc0490 ___nanosleep (fe8ffe88, fe8ffe80, 0, fecb9c9c, ff2c2400, 0) + 8
0003c8a4 thread_sleep (493e0, 259, 46140, 462a8, 463b8, 5b390) + 70
00024b90 _stats_thread (0, 1084, 932f4, fecaf5d0, ff2c2400, 1000) + 328
0003c9e8 _start_routine (6a4b8, fe900000, 0, 0, 3c920, 1) + c8
fecc00b0 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 3 / thread# 3 --------------------
fecc0490 ___nanosleep (fe7ffd88, fe7ffd80, 0, ff000000, 0, 0) + 8
0003c8a4 thread_sleep (30d40, 1000, fececbc0, fe950000, 5b508, 0) + 70
00027238 fserve_client_waiting (0, 496c8, fe7ffe08, 500f0, 5b518, 14e9f6) + 128
00027430 wait_for_fds (0, 3, 46850, 46878, 46890, 0) + 104
000274a0 fserv_thread_function (0, 1084, 932f4, fecaf5d0, fe950000, 1000) + 50
0003c9e8 _start_routine (6a458, fe800000, 0, 0, 3c920, 1) + c8
fecc00b0 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 4 / thread# 4 --------------------
fecc0490 ___nanosleep (fe67fe90, fe67fe88, 0, 0, fe950400, 0) + 8
0003c8a4 thread_sleep (30d40, 2ab, 49110, 494b8, 494d0, 5b4b8) + 70
00039d00 yp_update_thread (0, 1084, 932f4, fecaf5d0, fe950400, 1000) + 68
0003c9e8 _start_routine (72718, fe680000, 0, 0, 3c920, 1) + c8
fecc00b0 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 5 / thread# 5 --------------------
fecc0490 ___nanosleep (fe57fe88, fe57fe80, f4240, ff000000, 0, 0) + 8
0003c8a4 thread_sleep (f4240, 0, ff000000, fecefad4, 0, 0) + 70
0001f538 _slave_thread (0, 1084, 932f4, fecaf5d0, fe950800, 1000) + 4c
0003c9e8 _start_routine (72748, fe580000, 0, 0, 3c920, 1) + c8
fecc00b0 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 6 / thread# 6 --------------------
fecc0490 ___nanosleep (fe47fe90, fe47fe88, 0, 500f0, 5b518, 0) + 8
0003c8a4 thread_sleep (249f0, 3, 48330, 483d0, 483e0, 0) + 70
000329f8 auth_run_thread (0, 1084, 932f4, fecaf5d0, fe950c00, 1000) + 16c
0003c9e8 _start_routine (72778, fe480000, 0, 0, 3c920, 1) + c8
fecc00b0 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 7 / thread# 7 --------------------
fef845d8 xmlXPathCacheNewString (fe37f6f4, 7c0f0, 27, 1, 27, 1) + 28
fef917fc xmlXPathCompPathExpr (8ba98, 88093, 27, 27, 0, 27) + 1008
fef92144 xmlXPathCompUnaryExpr (8ba98, 0, 88091, 21, 0, 1 + b4
fef9245c xmlXPathCompMultiplicativeExpr (8ba98, 21, 21, 88091, 0, 0) + 4
fef92740 xmlXPathCompAdditiveExpr (8ba98, 0, 88091, 21, 0, 0) + 4
fef92998 xmlXPathCompRelationalExpr (8ba98, 0, 88093, 27, 0, 1e) + 4
fef92da0 xmlXPathCompEqualityExpr (8ba98, 0, 0, 0, 0, 0) + 180
fef92e8c xmlXPathCompAndExpr (8ba98, 0, 0, 0, 0, 0) + 4
fef930ec xmlXPathCompileExpr (8ba98, 1, ff000000, fecefad4, 0, 0) + 4
fef97f70 xmlXPathCtxtCompile (0, 8808b, ffffffff, fffffff8, 0, fe37f7c1) + 44
ff0e1dc4 xsltXPathCompile (7c538, 8808b, ff105d54, 139c, 1000, 5bcb8) + 28
ff0f6eec xsltIfComp (7c538, 8bb38, 7c538, 21cf4, 893c0, ff118b40) + b8
ff0f7714 xsltStylePreCompute (7c538, 8bb38, da0, 21584, ff0dc604, ff118b40) + 16c
ff0dc88c xsltPrecomputeStylesheet (0, 8bb38, 0, 0, ff0dc604, ff118b40) + 9c
ff0ddff8 xsltParseStylesheetProcess (7c538, 88230, 883e0, 7c538, 3aba4, ff119f3c) + 88
ff0de2bc xsltParseStylesheetImportedDoc (7c538, 0, 88230, 3a920, ff119f3c, ffffc000) + b4
ff0de31c xsltParseStylesheetDoc (88230, 0, 0, 88230, 0, 1000) + 8
ff0de440 xsltParseStylesheetFile (7c2b0, 0, 3a7dc, 0, ff118b40, 88230) + f4
00026cb0 xslt_get_stylesheet (7c2b0, c4, 46698, 1340, ff118b40, ff11aff8) + 2a0
00026d6c xslt_transform (6a070, 7c2b0, 67158, 47010, 47090, 7c2b0) + 64
00029854 admin_send_response (6a070, 67158, 2, 46e60, 47ae0, 1000) + 1f0
0002bcc4 command_stats (67158, 2, 5c778, 48545450, 80808080, 1010101) + 64
0002a040 admin_handle_general_request (67158, ca, 47088, 470a8, 47118, 7bf47) + 134
00029ef8 admin_handle_request (67158, 7bf40, ffffffff, 696e2f00, 2f, 2f) + 684
0001b5dc _handle_get_request (67158, 7bf40, fffe8928, fefefeff, 80808080, 1010101) + 290
0001be80 _handle_connection (0, 1084, 932f4, fecaf5d0, fe951000, 1000) + 2f0
0003c9e8 _start_routine (727a8, fe380000, 0, 0, 3c920, 1) + c8
fecc00b0 _lwp_start (0, 0, 0, 0, 0, 0)
Any ideas greatly appreciated!
Thanks.Icecast 2.3Karl HeyesKarl Heyeshttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1422RFE: Additional POST data upon listener_remove if listener_add is undefined.2018-03-06T12:49:48ZianRFE: Additional POST data upon listener_remove if listener_add is undefined.When using URL authentication, if the listener_add option is undefined, return additional identifying data in the listener_remove POST.
Specifically, include the User Agent, and the IP address of the disconnected listener.
This provide...When using URL authentication, if the listener_add option is undefined, return additional identifying data in the listener_remove POST.
Specifically, include the User Agent, and the IP address of the disconnected listener.
This provides useful accounting data for setups that do not use listener_add, but still want to get accounting data from anonymous streams.Icecast 2.3Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1839location and admin e-mail contact missing in example xml2018-03-06T12:49:48ZThomas B. Rückerlocation and admin e-mail contact missing in example xmlboth tags are missing from the example config files.both tags are missing from the example config files.Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1220adding IP change feature for those who don't have static IP's.2018-03-06T12:49:48Ztigger76adding IP change feature for those who don't have static IP's.I have verizon DSL and only dynamic IP's. I can't get a static IP from Verizon. but to keep my listeners tuned into my IP/radio server can you implement a IP poll feature that will notify the icecast stream directory of a new IP when dyn...I have verizon DSL and only dynamic IP's. I can't get a static IP from Verizon. but to keep my listeners tuned into my IP/radio server can you implement a IP poll feature that will notify the icecast stream directory of a new IP when dynamic IP's change? so even though my server is still on, your software will tell the icecast stream directory that I have a new IP and my listeners can still connect when it does.
this will prevent me from having to constantly having to edit my hostname IP every time shutting down my service.Michael SmithMichael Smithhttps://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/1842Icecast needs Opus support2018-03-06T12:49:48ZGregory MaxwellIcecast needs Opus supportSee: https://wiki.xiph.org/OggOpus
See: https://wiki.xiph.org/OggOpus
Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1513trying to relay existing mount loops forever2018-03-06T12:49:48Ztimpuritrying to relay existing mount loops foreverI have configuration where icecast 2.3.2 relays from itself. (don't ask why)
I connect source to server and it goes wild. Old versions of icecast did'nt do it.
```
[2009-02-23 11:34:42] DBUG admin/admin_handle_request Admin request (/...I have configuration where icecast 2.3.2 relays from itself. (don't ask why)
I connect source to server and it goes wild. Old versions of icecast did'nt do it.
```
[2009-02-23 11:34:42] DBUG admin/admin_handle_request Admin request (/admin/streamlist.txt)
[2009-02-23 11:34:42] DBUG admin/admin_handle_request Got command (streamlist.txt)
[2009-02-23 11:34:42] DBUG admin/command_list_mounts List mounts request
[2009-02-23 11:34:42] DBUG fserve/fserve_add_client Adding client to file serving engine
[2009-02-23 11:34:42] DBUG slave/update_from_master read 1 from master "/koitto.ogg"
[2009-02-23 11:34:42] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:42] DBUG slave/relay_free freeing relay /koitto.ogg
[2009-02-23 11:34:42] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:43] DBUG stats/modify_node_event update node client_connections (54)
[2009-02-23 11:34:43] DBUG stats/modify_node_event update node clients (1)
[2009-02-23 11:34:43] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:44] DBUG stats/modify_node_event update node total_bytes_read (15440)
[2009-02-23 11:34:44] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-02-23 11:34:44] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:45] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:46] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:47] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:48] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:49] DBUG stats/modify_node_event update node total_bytes_read (19729)
[2009-02-23 11:34:49] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-02-23 11:34:49] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
[2009-02-23 11:34:50] WARN slave/check_relay_stream new relay but source "/koitto.ogg" already exists
.....
```
After long time I got tons of those:
```
[2009-02-23 13:57:01] WARN connection/_accept_connection accept() failed with error 24: Too many open files
```
_"source "/koitto.ogg" already exists"_ -messages stops when source is disconnected.
Karl HeyesKarl Heyeshttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1843WebM support in Icecast2018-03-06T12:49:48ZBasil Mohamed GoharWebM support in IcecastAdd support for streaming WebM files in IcecastAdd support for streaming WebM files in IcecastMichael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1233icecast loops listener count to full2018-03-06T12:49:48ZGitlab Boticecast loops listener count to fullThe broblem occurs when streaming theora video with ffmpeg2theora and ezstream. Ezstream connects to icecast, but ffmpeg2theora don't send headers.(?) Status page shows only mountpoint information, nothing other.
After this like stream...The broblem occurs when streaming theora video with ffmpeg2theora and ezstream. Ezstream connects to icecast, but ffmpeg2theora don't send headers.(?) Status page shows only mountpoint information, nothing other.
After this like stream goes up and someone opens stream (ie. relaying icecast) this bug is activating. Same listener is added to clients list untill server is full.
Error log is like this:
```
[2007-08-30 01:34:34] DBUG source/source_main Client added
[2007-08-30 01:34:34] DBUG source/source_main Client added
[2007-08-30 01:34:34] DBUG source/source_main Client added
[2007-08-30 01:34:34] DBUG source/source_main Client added
[2007-08-30 01:34:34] DBUG source/source_main Client added
[2007-08-30 01:34:34] DBUG source/source_main Client added
[2007-08-30 01:34:34] DBUG source/source_main Client added
```
.... and continues to max listeners count of server.
Karl HeyesKarl Heyeshttps://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/1605some mount settings should be applied before mount point is relayed2018-03-06T12:49:48Zmoosome mount settings should be applied before mount point is relayedthe current problems are: i have force station name/description/encoding in "mount point /" in the master server, and it looks good, however all relay servers look like mount settings not applied. station name/description/encoding/url is...the current problems are: i have force station name/description/encoding in "mount point /" in the master server, and it looks good, however all relay servers look like mount settings not applied. station name/description/encoding/url is exactly equal to what source client set, not the ones set by the master server, unless i add the same mount settings to relay servers.
mount settings cannot be relay to slave servers. i assume it's by design.
but some settings in mount is better relayed, or just apply to the settings to source stream/metadata (mount point) before the stream (mount point) is relayed. i.e., change station name/description/encoding/url before relying to slave servers.Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1846Icecast uses default source-password if it's not defined in config2018-03-06T12:49:48ZThomas B. RückerIcecast uses default source-password if it's not defined in configThis can be a security problem if <source-password> is not defined in the Icecast config file.
Under such conditions a *default* password will take effect.
Impact should be limited, as default config contains that tag, but there are co...This can be a security problem if <source-password> is not defined in the Icecast config file.
Under such conditions a *default* password will take effect.
Impact should be limited, as default config contains that tag, but there are constellations where e.g. an Icecast admin would unwittingly allow anyone to stream through their server.
Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1246Icecast Server enforcing case sensitivity on HTTP header Range "bytes" units2018-03-06T12:49:48ZGitlab BotIcecast Server enforcing case sensitivity on HTTP header Range "bytes" unitsClients making requests from Icecast 2.3.1 server with HTTP Range header using units "bytes" with any casing other then all lowercase fail request with:
```
HTTP/1.0 416 Request Range Not Satisfiable
```
It is expected that the HTTP Ra...Clients making requests from Icecast 2.3.1 server with HTTP Range header using units "bytes" with any casing other then all lowercase fail request with:
```
HTTP/1.0 416 Request Range Not Satisfiable
```
It is expected that the HTTP Range header should be case insensitive on "bytes"
W3C rfc2616 HTTP 1.1 sec 2.1 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.1) states about BNF literals "Unless stated otherwise, the text is case-insensitive."
Section 3.12 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.12) which defines the Range units defines "bytes", but does not specify case sensitivity.
Here is an example localhost request/response against an icecast 2.3.1 server with Range units as "Bytes":
```
REQUEST: **************\n
GET /TheBeginning.mp3 HTTP/1.1\r\n
Range: Bytes=0-\r\n
Host: localhost\r\n
Accept: */*\r\n
\r\n
RESPONSE: **************\n
HTTP/1.0 416 Request Range Not Satisfiable\r\n
\r\n
```
Here is an example localhost request/response against an icecast 2.3.1 server with Range units as "bytes" (data truncated):
```
REQUEST: **************\n
GET /TheBeginning.mp3 HTTP/1.1\r\n
Range: bytes=0-\r\n
Host: localhost\r\n
Accept: */*\r\n
\r\n
RESPONSE: **************\nHTTP/1.1 206 Partial Content\r\n
Date: Wed, 10-Oct-2007 19:29:28 GMT\r\n
Content-Length: 7064799\r\n
Content-Range: bytes 0-7064798/7064799\r\n
Content-Type: audio/mpeg\r\n
\r\n
ID3\x002\x000\x000\x000\x000\x010BTT2\x000\x000\x00F\x000The Beginning
```
Here is an example localhost request/response against an Apache 1.3.37 (Unix) server with Range units as "Bytes" (data truncated):
```
REQUEST: **************\n
GET http://www.foldedspace.org:80/files/vintage/Nipper's%20Greatest%20Hits_%201901-1920/17%20Come%20Josephine%20In%20My%20Flying%20Machine.mp3 HTTP/1.1\r\n
Range: Bytes=0-\r\n
Host: www.foldedspace.org\r\n
Accept: */*\r\n
\r\n
RESPONSE: **************\nHTTP/1.1 206 Partial Content\r\n
Connection: Keep-Alive\r\n
Content-Length: 2411015\r\n
Date: Wed, 10 Oct 2007 23:31:58 GMT\r\n
Content-Range: bytes 0-2411014/2411015\r\n
Content-Type: audio/mpeg\r\n
ETag: "63dc404-24ca07-4459501b"\r\n
Server: Apache/1.3.37 (Unix) mod_throttle/3.1.2 DAV/1.0.3 mod_fastcgi/2.4.2 mod_gzip/1.3.26.1a PHP/4.4.7 mod_ssl/2.8.22 OpenSSL/0.9.7e\r\n
Last-Modified: Thu, 04 May 2006 00:51:39 GMT\r\n
Accept-Ranges: bytes\r\n
Keep-Alive: timeout=2, max=100\r\n
\r\n
ID3\x002\x000\x000\x000\x000\x012\x002TT2\x000\x000%\x000Come Josephine In My Flying Machine
```
Here is an example localhost request/response against an IIS 6.0 server with Range units as "Bytes" (data truncated):
```
REQUEST: **************\n
GET http://kuow.org:80/mp3high/mp3/WeekdayA/WeekdayA20071010.mp3 HTTP/1.1\r\n
Range: Bytes=0-\r\n
Host: kuow.org\r\n
Accept: */*\r\n
\r\n
RESPONSE: **************\n
HTTP/1.1 206 Partial Content\r\n
Connection: Keep-Alive\r\n
Content-Length: 25918483\r\n
Date: Wed, 10 Oct 2007 23:26:17 GMT\r\n
Content-Range: bytes 0-25918482/25918483\r\n
Content-Type: audio/mpeg\r\n
ETag: "449237ff5ebc81:2a4"\r\n
Server: Microsoft-IIS/6.0\r\n
Last-Modified: Wed, 10 Oct 2007 17:00:01 GMT\r\n
Accept-Ranges: bytes\r\n
X-Powered-By: ASP.NET\r\n
\r\n
√P╚\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000Info
```
Icecast 2.3Michael SmithMichael Smithhttps://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/1617[kh] hang not accepting source2018-03-06T12:49:48Zmoo[kh] hang not accepting sourcei have client connect to kh branch of icecast with no success
in changeset [16524]
```
sock = sock_accept(serversock, ip, MAX_ADDR_LEN);
```
is changed to
```
sock = sock_accept (serversock, NULL, 0);
```
while in changeset [15864]
``...i have client connect to kh branch of icecast with no success
in changeset [16524]
```
sock = sock_accept(serversock, ip, MAX_ADDR_LEN);
```
is changed to
```
sock = sock_accept (serversock, NULL, 0);
```
while in changeset [15864]
```
if (!sock_valid_socket(serversock))
return SOCK_ERROR;
```
is changed to
```
if (ip == NULL || len == 0 || !sock_valid_socket(serversock))
return SOCK_ERROR;
```
sock_accept (serversock, NULL, 0) will always return SOCK_ERROR. no client will be accept()edMichael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1854GeoIP support for Icecast22018-03-06T12:49:48ZEugene MechanisMGeoIP support for Icecast2Everyone knows that a lot of stations using php and other scripts around icecast2 to get listeners stats, and also these scripts doing hard work on getting country flag and country and city and sometimes map coordinates for each listener...Everyone knows that a lot of stations using php and other scripts around icecast2 to get listeners stats, and also these scripts doing hard work on getting country flag and country and city and sometimes map coordinates for each listeners IP.
It's so terrible and not good for cpu usage etc.
Will be much better if icecast2 will do it. can be easily added support of geoip info so icecast2 will generate listeners stats with geoip details. and it's much less cpu/ram usage at all.
Can be used free GeoLite Country and GeoLite City databases. and C API look here http://www.maxmind.com/app/c
Foe example apache, nginx and others http servers offers geoIP modules. it's so painfull to write scripts around icecast2 just to get country flag and maybe some other info like city, country, map location etc. Icacast2 can do it easily and keep these stats in logs, in xml output etc.Michael SmithMichael Smithhttps://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/1249Misleading documentation2018-03-06T12:49:48ZmarkusMisleading documentationThe installation documentation (e.g. "basicsetup") should make clear that it does not apply to icecast server packaged by different distributions. For example the binary name in Debian (and variants) is not icecast but icecast2, and pref...The installation documentation (e.g. "basicsetup") should make clear that it does not apply to icecast server packaged by different distributions. For example the binary name in Debian (and variants) is not icecast but icecast2, and preferred way to start it is to use packaged init scripts instead of the binary name. Distribution specific documentation doesn't need to be supplied by you, but imo you should modify the documentation so that it clearly states that the documentation found on icecast web pages is not directly applicable on most commonly used linux distributions where the software is installed through package management software.Icecast 2.3Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1639Icecast doesn't export http headers2018-03-06T12:49:48ZJoe HIcecast doesn't export http headersVersion: Icecast 2.3.2
OS: Ubuntu server
kernel version: 2.6.31-17-server
What should happen: "wget -S serverip" should prints http headers
What does happen: "wget -S serverip" prints just Content-Type and length.
It returns the heade...Version: Icecast 2.3.2
OS: Ubuntu server
kernel version: 2.6.31-17-server
What should happen: "wget -S serverip" should prints http headers
What does happen: "wget -S serverip" prints just Content-Type and length.
It returns the headers for streams, however it should return the icecast headers for any http request on it.
As a workaround I am using: curl http://ip:port/stream.ogg -D - -o /dev/null -s -m 1Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/1865Init script for icecast2018-03-06T12:49:48ZClaudius ZingerliInit script for icecastHi,
In order to automatically start icecast at system boot, I created a
startup script for icecast (adapted from /etc/init.d/openssh).
In order to make this work, you need to create:
cat /etc/sysconfig/icecast
#Icecast service startu...Hi,
In order to automatically start icecast at system boot, I created a
startup script for icecast (adapted from /etc/init.d/openssh).
In order to make this work, you need to create:
cat /etc/sysconfig/icecast
#Icecast service startup parameters
OPTIONS='-c /usr/local/etc/icecast.xml'
Adapt you icecast.xml to create a pid file in the standard location:
Instead of <pidfile>/usr/local/share/icecast/icecast.pid</pidfile> use:
<pidfile>/var/run/icecast.pid</pidfile>
(or adapt the init script to look in /usr/local)
Then put the following code in /etc/init.d/icecast and mark it
executable and do "chkconfig --add icecast" to register the service.
#!/bin/bash
#
# chkconfig: 2345 88 55
# Description: Icecast init.d script
# Adapted by zeuz from: openssh initd script
# Get function from functions library
. /etc/init.d/functions
# pull in sysconfig settings
[ -f /etc/sysconfig/icecast ] && . /etc/sysconfig/icecast
prog="icecast"
PID_FILE=/var/run/${prog}.pid
PROG_FILE=/usr/local/bin/${prog}
OPTIONS+=' -b'
RETVAL=0
# Start Icecast
start() {
echo -n $"Starting ${prog}: "
# echo -n $"${PROG_FILE} ${OPTIONS} >/dev/null 2>&1 && success ||
failure"
${PROG_FILE} ${OPTIONS} >/dev/null 2>&1 && success || failure
RETVAL=$?
[ "${RETVAL}" = 0 ] && touch /var/lock/subsys/${prog}
echo
}
# Stop Icecast
stop() {
echo -n $"Stopping ${prog}: "
if [ -n "`pidfileofproc ${prog}`" ] ; then
echo "killproc ${prog}"
else
failure $"Stopping ${prog}"
fi
RETVAL=$?
# if we are in halt or reboot runlevel kill all running sessions
# so the TCP connections are closed cleanly
if [ "x${runlevel}" = x0 -o "x${runlevel}" = x6 ] ; then
killall ${prog} 2>/dev/null
fi
[ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/${prog}
echo
}
### main logic ###
case "${1}" in
start)
start
;;
stop)
stop
;;
status)
status -p $PID_FILE ${prog}
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/${prog} ] ; then
stop
sleep 3
start
fi
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
RETVAL=1
esac
exit 0
I hope that helps. I think it might be useful. The code has been tested
on RHEL 5. Maybe someone could put that file in a contrib directory. (or
adapt the Makefile to automatically place the init script)
Cheers
ClaudiusMichael SmithMichael Smith