icecast Changelog

What's new in icecast 2.5 Beta 1

Jan 20, 2015
  • Feature: Nicer display of This adds a little bit nicer display of to the stats.xsl page and avoids broken display of and .
  • Fix: Added support to admin/ interface to list s
  • This adds support to list global and per mount roles on stats.xsl.
  • This isn't nicest formated but works.
  • This also adds -like with s to root node.
  • height-adjusted logo2 for NSIS installer
  • Favicon was missing from the Makefile
  • Revert "Fix: avoid assignment discards 'const' qualifier warning"
  • This reverts commit 0dbabcc44c141d0018a6eb6b6d3c78cc6e16491c.
  • Breaks other(?) OpenSSL versions.
  • Prevent various redefined definitions in win32-specific code
  • From: Erik van Pienbroek
  • Fix: avoid assignment discards 'const' qualifier warning
  • Untested. Please test.
  • Feature: Display username and role in listener listing
  • This adds display of role name and updates display of username in listener listing of mount points on admin interface.
  • Fix: corrected xsl to work in omode=normal
  • Feature: Allow to have only one of source and destination
  • This allows (former ) to have only one of the attribues source and destination. In that case other parameters will be applied to the client but uri is not mapped.
  • Merge branch fix for of relays.
  • Fix: avoid segfault by generating for relays
  • Fix: memory leak and race condition fix
  • Fix: memory leak, now also releasing reglist[] members
  • Fix: memory leak now freeing null_device and global source_password
  • Fix: Added missing includes
  • Fix: Corrected display of "login" on status page
  • This corrects the creation of in the status output and this way fixes the display of login link on status page.
  • Merged support for thread-less s
  • Feature: immediate mode for s
  • This allows a represented by a auth_t to run in "immediate" mode. In this mode no thread is created for this . This is a major speedup.
  • Feature: Allow mangement of s via admin/ interface
  • Updated admin/manageauth.xsl the way suggested by
  • Feature: Allow mangement of s via admin/ interface.
  • This allows to manage s via admin interface if the role supports.
  • Also format of admin/manageauth has been changed:
  • was renamed to .
  • mount parameter was removed.
  • got new parameters: type, name, can-adduser, can-deleteuser, can-listuser.
  • can-* parameters are bools ("true" or "false"). They should be used to show or hide elements on the admin interface.
  • Ticket #2123 is nearly complet with this, just admin/manageauth.xsl needs up be updated. Please close the bug in the commit that updates admin/manageauth.xsl.
  • Feature: Also export type="" in stats.xml's s
  • Feature: Added support to type="static" to list user
  • This adds support to list the user for a static .
  • Feature: Added support for management-url="" in
  • This adds setting a URL for manegement of roles to the framework. If no URL is given in the config file this defaults to internal (/admin/manageauth.xsl) interface if supported by the backend.
  • Fix: only export name="" on if set
  • Feature: Export s on stats.xml
  • This exports id and name of s on stats.xml output. The s are in a container tag and mimic the format used by the config file.
  • Feature: Added a unique ID to each auth_t.
  • This added a unique ID to each auth_t instance so it can be referred to e.g. by the web interface for mangement functionallity. Mostly lifted from connection.[ch].
  • Cleanup: Removed a printf() leftover from debugging
  • Fix: Always export in stats.xml
  • Added: 'legcay' mode stats.xml.
  • Add '?omode=legacy' to any URI or .
  • Please test.
  • Fix: Fixed compiler warnings
  • Feature: Support command line arguments in
  • This adds support to pass additional command line parameters to called processes.
  • Fix: Send Content-Disposition:-header correctly
  • Regression Fix: Correction of old-style .
  • Old-style within didn't work for type="url" as well as some other parameters due to confusion between "node" and "child" variable.
  • Thanks for trilliot for pointing out! Should work now.
  • Some minor changes to README.md, added Opus and WebM
  • Cleanup: make strcmp() more explicit in _start_logging()
  • This avoids if(strcmp()) constructs in favor of if(strcmp() == 0) constructs. This is aligned with coding style and will improve readability of the code.
  • Thanks to miksago.

New in icecast 2.4.1 (Nov 26, 2014)

  • Fix autogen.sh to work properly on OS X
  • Removed threadpool from the example config (it is long gone and unused)
  • More detailed logging:
  • Add source IP adress to source start/stop logging
  • Add mountpoints to some log lines
  • Fix logging to send errors to STDERR prior to opening log files
  • Fix in default mounts () to work properly
  • Fix the JSON status API (status-json.xsl), which could return invalid JSON in some cases
  • SSL Security improvements:
  • Disable SSLv3
  • Disable SSL compression
  • Updated the default ciphers to be more secure
  • Handle empty strings in config file better
  • Fix logging of client connection duration time on Windows
  • Fix possibly broken XML on Windows
  • Require Content-Type header for PUT requests
  • Fix on-connect and on-disconnect script STDIN/STDOUT/STDERR corruption due to shared file descriptors. (CVE-2014-9018)
  • Fix JSON access by adding support for global and mount specific custom HTTP headers

New in icecast 2.4 Beta 3 (Oct 19, 2013)

  • New features:
  • Default mount. - This allows you to define a global set of defaults for ALL mounts. This way you can use e.g. url-auth for sources and or listeners also for dynamically generated mounts.
  • Bugfixes:
  • Some fixes and improvements.

New in icecast 2.3.2 (Dec 4, 2008)

  • Character set support. Most non-Ogg streams (eg MP3) send metadata as Latin1 but it could be in other character sets. As icecast uses UTF-8, we need to convert to UTF-8 so that web pages and stream directories render correctly:
  • Allow a per-mount setting. For when source clients do not indicate which character set is in use.
  • a charset= parameter to the metadata request.
  • Default for non-Ogg content is now Latin-1 (aka ISO-8859-1). Ogg content still uses UTF-8.
  • Authentication:
  • Each mountpoint authentication is isolated so one mount authentication does not slow another mountpoint authentication down.
  • XSL pages can require authentication.
  • Add some sanity checks for incorrect settings.
  • Listening socket update:
  • Allow multiple ports to be allocated which allow multiple shoutcast source clients to stream on the same icecast instance.
  • No internal limit on the number of listen sockets that can be used.
  • Allow for a listen socket to be marked SSL capable. While any client could connect on these, the idea is really for /admin requests.
  • allow for a to bind to ipv4 and ipv6
  • XSL update:
  • XSL pages include an xspf link for non-auth streams.
  • XSL pages in both webroot and adminroot can take a mount= arg to limit which stats are transformed.
  • XSL files can specify the content-type to return to the client. It is no longer fixed to html
  • Updates for stream directory handling:
  • A stream is not registered with the directory until after the first minute has passed. some streams have been stuck in a connect/disconnect loop.
  • Increase retry time on failure, if the stream add is rejected then it will be down to a misconfiguration so a long retry delay is performed.
  • A YP server that is not responding is ignored for a while
  • Updates for Win32. Newer versions of dependency libs (libxml2/libxslt/libcurl etc). Buffer overflow fixes when many streams are active
  • Accept/Ban IP support. Now takes filenames for explicitly accepting or denying requests from specified IP addresses. Useful in cases where firewall access is not available. The files, if defined, are re-read automatically if updated.
  • A Mountpoint is exported to the slaves even if no mount section is defined for it. You can still use the hidden setting to prevent that from happening.
  • Relays handle redirection (HTTP 302) if one is received at startup.
  • Automatically generate XSPF playlist like we do with M3U, the mountpoint extension is .xspf
  • Header updates for proxy handling and certain clients like some shoutcast source clients and flash players.
  • Added Kate/Skeleton codecs to Ogg handler.
  • Various stats cleanups. Added some global stats (server ID, email contact etc).
  • The streamlist passed from master to slave had a limited length, so if there were many streams then some could of been left out.
  • Documentation updates.
  • Relay startup/shutdown is cleaner.
  • several build cleanups.
  • several resource leaks and race conditions fixed