Changes from 2.2.1 build 109 to 2.2.2 build 123:
(31st July 2014)
- The first Radionomy provided SHOUTcast DNAS release after the sale of SHOUTcast (and Winamp) in January 2014
- This is primarily a maintenance release to resolve issues and broadcaster requests with the 2.2.x DNAS since the last build provided under AOL ownership
- Added 'pidfile' option to control the creation of the file containing the process id of the DNAS (this defaults to creating 'sc_serv_<portbase>.pid if not specified in the same folder as the DNAS)
- Added ability to block user agents from connecting to the streams on a global and per-stream basis if required (via admin pages and admin api methods)
- Added 'agentfile', 'streamagentfile' and 'saveagentlistonexit' configuration options to allow for where and how the sc_serv.agent file is stored (which is used for holding the blocked user agents)
- Added 'blockemptyuseragent' configuration option to allow for preventing client connections without a user agent from connecting (note: some valid clients e.g. some hardware devices may not provide a user agent and enabling this may incorrectly block legitimate client connections)
- Added 'Reload Banned List(s)' option to the server admin page to complement the 'Reload Reserved List(s)' option
- Changed network handling on non-Windows builds to try to resolve the random crashes with large listener numbers and scale better (e.g. going over ~330 concurrent listeners)
- Changed to use libcurl instead of a custom library for all YP requests to help resolve the YP connection reliability issues some users have seen with most of the 2.x releases
- Changed 'disableicy' default from '0' to '1' so we now by default provide HTTP instead of ICY headers - this resolves all known HTML5 audio playback access issues
- Changed the frequency and formatting of some of the log output
- Changed 'unique' to also apply to the 'portbase' config option
- Changed log file creation to use sc_serv_<pid>.log (where <pid> is the process id of the DNAS) if the default / fallback 'sc_serv.log' cannot be created e.g. due to file permissions creating / accessing an existing copy of the file (mainly affects non-Windows builds)
- Changed 'maxuser' default from 32 to 512 listeners (you will need to ensure the OS can support this e.g. adjusting ulimit -n on non-Windows installs)
- Changed 'relayreconnecttime' default from 30 to 5 seconds (based on usage feedback)
- Changed 'adaptivebuffersize' default from 5 to 10 seconds (based on usage feedback)
- Changed GCC version used to build the Linux / Raspberry Pi versions (now using GCC 4.7.2 instead of GCC 4.4.6 / 4.6.3 respectively)
- Changed title update handling in respect to issues related to CVE-2014-4166 (which we were not informed about before it was disclosed!)
- Fixed stream access issues (always providing stream #1) if streampath=/stream is set and providing multiple streams from the same DNAS
- Fixed formatting error in the JSON version of the listener details (XML version was not affected)
- Fixed some file handle leaks with log file handling (mainly happened when compressing older log files on rotation)
- Fixed a number of YP error handling issues (mainly found from changing over to use libcurl) e.g. stuck on 'Processing...' when an error was logged
- Fixed the 'city' value of the authhash not being correctly re-loaded when viewing the authhash
- Other miscellaneous code changes, improvments and related documentation updates