From 5a9f0426a736d074369ae05ff401a9f0a9dbe3f7 Mon Sep 17 00:00:00 2001 From: "Thomas B. Ruecker" <thomas@ruecker.fi> Date: Sun, 28 Dec 2014 15:05:38 +0000 Subject: [PATCH] Epic transformation of git log into ChangeLog git log 1a3fd18cd4075b5ff540334c2e0fa974885b6a7a..38dbb3a6fdf0fadc15e8a77f0735240c11da2854 For the future we might want to consider if we still want to maintain this and in which format. --- ChangeLog | 551 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 551 insertions(+) diff --git a/ChangeLog b/ChangeLog index ef67ce22..5afed8cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,554 @@ +2014-12-28 13:19:29 Marvin Scholz <epirat07@gmail.com> + + * Removed fr_FR xsl files since they aren't used + +2014-12-28 11:08:56 Thomas B. Ruecker <thomas@ruecker.fi> + + * Preparing for 2.5 beta1 aka 2.4.99.1 + +2014-12-25 12:45:46 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Nicer display of <metadata> + This adds a little bit nicer display of <metadata> to the stats.xsl + page and avoids broken display of <metadata> and <authentication>. + +2014-12-26 21:57:50 Philipp Schafft <lion@lion.leolix.org> + + * Fix: Added support to admin/ interface to list <role>s + This adds support to list global and per mount roles on stats.xsl. + This isn't nicest formated but works. + This also adds <source>-like <authentication> with <role>s to + root node. + +2014-12-26 11:04:22 Thomas B. Ruecker <thomas@ruecker.fi> + + * height-adjusted logo2 for NSIS installer + +2014-12-26 11:02:10 Thomas B. Ruecker <thomas@ruecker.fi> + + * Favicon was missing from the Makefile + +2014-12-24 09:19:17 Philipp Schafft <lion@lion.leolix.org> + + * Revert "Fix: avoid assignment discards 'const' qualifier warning" + This reverts commit 0dbabcc44c141d0018a6eb6b6d3c78cc6e16491c. + Breaks other(?) OpenSSL versions. + +2014-12-24 09:16:15 Philipp Schafft <lion@lion.leolix.org> + + * Prevent various redefined definitions in win32-specific code + From: Erik van Pienbroek <epienbro@fedoraproject.org> + Date: Mon, 22 Dec 2014 18:02:09 +0100 + +2014-12-24 09:03:26 Philipp Schafft <lion@lion.leolix.org> + + * Fix: avoid assignment discards 'const' qualifier warning + Untested. Please test. + +2014-12-22 09:08:24 Philipp Schafft <lion@lion.leolix.org> + + * 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. + +2014-12-22 07:58:37 Philipp Schafft <lion@lion.leolix.org> + + * Fix: corrected xsl to work in omode=normal + +2014-12-20 18:48:03 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Allow <resource> to have only one of source and destination + This allows <resource> (former <alias>) 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. + +2014-12-20 18:07:04 Philipp Schafft <lion@lion.leolix.org> + + * Merge branch fix for <metadata> of relays. + +2014-12-20 18:06:42 Philipp Schafft <lion@lion.leolix.org> + + * Fix: avoid segfault by generating <metadata> for relays + +2014-12-20 16:12:27 Philipp Schafft <lion@lion.leolix.org> + + * Fix: memory leak and race condition fix + +2014-12-20 15:30:26 Philipp Schafft <lion@lion.leolix.org> + + * Fix: memory leak, now also releasing reglist[] members + +2014-12-20 15:29:53 Philipp Schafft <lion@lion.leolix.org> + + * Fix: memory leak now freeing null_device and global source_password + +2014-12-20 13:40:44 Philipp Schafft <lion@lion.leolix.org> + + * Fix: Added missing includes + +2014-12-20 09:39:26 Philipp Schafft <lion@lion.leolix.org> + + * Fix: Corrected display of "login" on status page + This corrects the creation of <authenticator> in the status output + and this way fixes the display of login link on status page. + +2014-12-19 17:30:37 Philipp Schafft <lion@lion.leolix.org> + + * Merged support for thread-less <role>s + +2014-12-19 17:27:54 Philipp Schafft <lion@lion.leolix.org> + + * Feature: immediate mode for <role>s + This allows a <role> represented by a auth_t to run in "immediate" + mode. In this mode no thread is created for this <role>. This is a + major speedup. + +2014-12-19 16:40:41 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Allow mangement of <role>s via admin/ interface + Updated admin/manageauth.xsl the way suggested by + 0eb466b76ddd3996f0caad60e4a0a3d64dcf8f24. + +2014-12-19 16:14:35 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Allow mangement of <role>s via admin/ interface. + This allows to manage <role>s via admin interface if the role supports. + Also format of admin/manageauth has been changed: + - <source> was renamed to <role>. + - mount parameter was removed. + - <role> 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. + +2014-12-19 11:28:49 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Also export type="" in stats.xml's <role>s + +2014-12-19 11:22:36 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Added support to type="static" <role> to list user + This adds support to list the user for a static <role>. + +2014-12-19 11:16:13 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Added support for management-url="" in <role> + 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. + +2014-12-19 11:01:32 Philipp Schafft <lion@lion.leolix.org> + + * Fix: only export name="" on <role> if set + +2014-12-19 10:44:24 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Export <role>s on stats.xml + This exports id and name of <role>s on stats.xml output. The <role>s + are in a <authentication> container tag and mimic the format + used by the config file. + +2014-12-19 10:50:52 Philipp Schafft <lion@lion.leolix.org> + + * 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]. + +2014-12-19 10:31:08 Philipp Schafft <lion@lion.leolix.org> + + * Cleanup: Removed a printf() leftover from debugging + +2014-12-18 10:24:15 Philipp Schafft <lion@lion.leolix.org> + + * Fix: Always export <metadata> in stats.xml + +2014-12-18 09:56:54 Philipp Schafft <lion@lion.leolix.org> + + * Added: 'legcay' mode stats.xml. + Add '?omode=legacy' to any URI or <resource ... omode="legacy" />. + * Please test. + +2014-12-14 19:18:22 Philipp Schafft <lion@lion.leolix.org> + + * Fix: Fixed compiler warnings + +2014-12-14 16:19:32 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Support command line arguments in <event type="exec"> + This adds support to pass additional command line parameters + to called processes. + +2014-12-14 11:01:39 Philipp Schafft <lion@lion.leolix.org> + + * Fix: Send Content-Disposition:-header correctly + +2014-12-14 09:27:49 Philipp Schafft <lion@lion.leolix.org> + + * Regression Fix: Correction of old-style <authentication>. + Old-style <authentication> within <mount> 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. + +2014-12-14 08:25:16 Thomas B. Ruecker <thomas@ruecker.fi> + + * Some minor changes to README.md, added Opus and WebM + +2014-12-14 08:19:58 Philipp Schafft <lion@lion.leolix.org> + + * 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. + +2014-12-14 08:18:24 Thomas B. Ruecker <thomas@ruecker.fi> + + * NEWS updated for 2.4.0 and 2.4.1 + +2014-12-13 19:10:20 Thomas B. Ruecker <thomas@ruecker.fi> + + * Fix for docdir issue with deb/RPM. Fixes #2121 + Replaced docdir with otherdocdir and made it relative to + docdir. This seems to work for debian and plain make install. + Will test RPM later. + +2014-12-09 16:08:27 Philipp Schafft <lion@lion.leolix.org> + + * Feature: Extract metadata and export them to stats.xml + * All metadata is now extracted from Vorbis streams and ICY streams + and exported as new <metadata> tag into admin/stats if specific + mountpoint is requested. + * To testers: + - Please test with Ogg Vorbis streams. + - Please test with Ogg Vorbis + Theora streams. + - Please test chained Ogg streams. + - Please test with ICY streams. + +2014-12-08 07:58:17 Philipp Schafft <lion@lion.leolix.org> + + * Speedup: Don't copy data into event if there are no registrations + * If there are no registrations that are added to an event the event + doesn't need to be emited as nobody cares anyway. We will do this + simple check before we copy data into the event object to avoid + unnecessary calls to strdup() and other allocation functions. + +2014-12-08 00:39:57 Philipp Schafft <lion@lion.leolix.org> + + * Added <event>: Unified handling of events. + * <event> has been added and can be used within <kartoffelsalat> + both in <icecast> and <mount>. + <event> takes backend depending <option> child tags. + Currently supported backends: + - log: send message to error log. + - exec: executes a program or script. + - url: delivers the event via HTTP. + + * within <mount> <on-connect> and <on-disconnect> has been replaced by + <event>. Config parser can on-the-fly convert old tags. + Also <authentication type="url"> within <mount> has been fixed + for those cases with <option name="mount_add" .../> and + <option name="mount_remove" .../> which are now on-the-fly converted + by the parser to corresponding <event> tags. + + * Please also see TAGs added as per #2098. Some include hints for + documentation updates needed after this change. Those updates + should take place before 2.4.2. + +2014-12-07 10:54:34 Philipp Schafft <lion@lion.leolix.org> + + * Cleanup: Moved config re-read function into right place + * Renamed event_config_read() into config_reread_config() and moved + it into cfgfile.c. This allowed to delete event.[ch]. + event.[ch] will later be used to implement <event>. + +2014-12-06 20:24:33 Philipp Schafft <lion@lion.leolix.org> + + * Corrected Makefile.am to refect README rename and TODO deletion + +2014-12-06 20:04:21 Philipp Schafft <lion@lion.leolix.org> + + * ACL: added {allow,deny}-all, support bool notation + * Added {allow,deny}-all option to ACL parser. Setting this will + set {allow,deny}-{method,admin,web} to *. + * Also allow boolean values (insteed of *) for {allow,deny}-{web,all}. + +2014-12-06 19:47:54 Philipp Schafft <lion@lion.leolix.org> + + * renamed <alias> to <resource> as it is planned to extend the usage + of this tag. docs and default configs should be updated by those + taking care of them. + +2014-12-05 12:57:02 Marvin Scholz <epirat07@gmail.com> + + * Update submodules + +2014-12-04 12:41:53 Marvin Scholz <epirat07@gmail.com> + + * Updated README, renamed it so that it is parsed as markdown + +2014-12-04 12:14:56 Marvin Scholz <epirat07@gmail.com> + + * Remove old TODO file, using trac tickets instead + +2014-12-04 10:24:12 Marvin Scholz <epirat07@gmail.com> + + * Changed URLs to be relative in .gitmodules + +2014-12-04 08:12:41 Marvin Scholz <epirat07@gmail.com> + + * Updated submodules to the new repository URLs + +2014-12-02 22:50:57 Marvin Scholz <epirat07@gmail.com> + + * Epic Git migration commit + * Added .gitignore and submodules + * Changed paths to match new location of things + + * [Note from the editor: SVN to Git migration completed] + +2014-11-30 20:32:30 Philipp Schafft <lion@lion.leolix.org> + + * better coding style, patch by ePirat. + +2014-11-30 18:20:09 Philipp Schafft <lion@lion.leolix.org> + + * s/listener/client/; thanks to micheil. + +2014-11-30 18:18:05 Philipp Schafft <lion@lion.leolix.org> + + * cleanup: make use of const + +2014-11-30 18:17:10 Philipp Schafft <lion@lion.leolix.org> + + * sock_active() is broken and can not be used + +2014-11-30 18:15:40 Philipp Schafft <lion@lion.leolix.org> + + * that error is nonsense + +2014-11-30 09:32:06 Philipp Schafft <lion@lion.leolix.org> + + * cleanup: don't include "httpp/httpp.h" if not needed + +2014-11-29 12:41:19 Philipp Schafft <lion@lion.leolix.org> + + * cleanup: converted printf() into ICECAST_LOG_DEBUG() but commented + out so they do not spam logs for normal users. + +2014-11-29 11:39:39 Thomas B. "dm8tbr" Ruecker <thomas@ruecker.fi> + + * Fix trailing spaces in default config. + As pointed out by DalekSec on IRC. + +2014-11-29 10:34:07 Philipp Schafft <lion@lion.leolix.org> + + updated chroot and setuid/gid support. Thanks to d26264b9 for + reporting. + +2014-11-29 10:16:36 Philipp Schafft <lion@lion.leolix.org> + + * in <listener>: + - Added <role>. + - Converted <Referer> to <referer>. + - Set id="nnn" in addition to <ID>nnn</ID>. + - Added TAGged comments about next steps. + +2014-11-29 08:28:55 Philipp Schafft <lion@lion.leolix.org> + + * include <string.h> + +2014-11-29 08:16:42 Philipp Schafft <lion@lion.leolix.org> + + * ensure vhost is not uninitialized + +2014-11-29 08:15:23 Philipp Schafft <lion@lion.leolix.org> + + * include <stdio.h> as FILE* is used in the header + +2014-11-28 23:46:08 Philipp Schafft <lion@lion.leolix.org> + + * Wow. Mega patch! + + This patch *replaces* the authentication system completly. + + * What is new: + - <authentication> in mount section is now a container object. + - <authentication> in root and mount section may hold any number + of <role>-Tags. + - <role> tags: + Those tags define a 'role' and it's ACL rules. + A role is a instance of an authentication module (see below). + <role> takes the following options. All but type are optional. + - authentication related: + - type: Type of the authentication module + (values: anonymous, static, legacy-password, url or htpasswd; + symbolic constants in auth.h) + - name: Name for the role. For later matching. + (values: any string; default: (none)) + - method: rule is only active on the given list of HTTP methods. + (list of enum values: methods as recognized by httpp/ + [e.g: get,post]; default: *) + - ACL related: + - allow-method: Allowed HTTP methods. + (list of enum values: methods as recognized by httpp/ + [e.g: get,post]; default: get) + - deny-method: Rejected HTTP methods. + (list of enum values: methods as recognized by httpp/ + [e.g: get,post]; default: *) + - allow-admin: Allowed admin commands. + (list of enum values: admin command; default: buildm3u) + - deny-admin: Rejected admin commands. + (list of enum values: admin command; default: *) + - allow-web: Allowed web pages. + (values: empty or *; default: *) + - deny-web: Rejected web pages. + (values: empty or *; default: (empty)) + - connections-per-user: maximum number of simultaneous connections + per role and username. This is only active on active sources. + (values: unlimited or number of connections; default: unlimited) + - connection-duration: maximum time of a connection. + This is only active on active sources. + (values: unlimited or number of secounds; default: unlimited) + <role> takes <option> child tags. <option> tags contain a name + and a value option. + Meaning of <option> tags is up to the authentication module. + - <role>s are considered to build a stack. + If a role returns with AUTH_NOMATCH the next one will be tried. + - <role>s are tested in this order: mount specific, default mount + specific, global, internal fallback. + Internal fallback is set to allow web/ access via GET, POST and HEAD + (only GET supported by this time) and rejects all other requests. + - New authentication module: anonymous + This module matches all requests. No options taken. + - New authentication module: static + This module matches with a static username and password. + It takes two <option>s. One with name="username" and one with + name="password" to set username and password. + This replaces old style <*-username> and <*-password> tags. + - New authentication module: legacy-password + This module matches with a statich password. + It takes one <option> with name="password" to set password. + This replaces old ICE and ICY (shoutcast compat mode) + authentication. + - Parsing <authentication> in <mount> with a type set in a special way + to allow 100% backward compatibility. + - Parsing of <source-password>, <admin-password>, <admin-user>, + <relay-password> and <relay-user> in global <authentication> + for 100% backward compatibility. + - <alias> is now proccessed very early. This enables them to be used + for all kinds of requests. + + * To Do List & What does not yet work: + - type="url" auth: mount_add and mount_remove. + This should be replaced by an unique feature I would call '<event>'. + - Admin commands manageauth and manageauth.xsl are disabled as they + need more review: This code needs to be ported to support + multiple <role>s per <mount>. + - url authentication module can not yet return AUTH_NOMATCH. + This needs to be reviewed and discussed on how to handle this case + best way. + - Default config files needs to be updated to reflect the changes. + As this is quite some political act it should be done in dicussion + with the whole team and permission of the release manager. + - Docs need to be updated to reflect the changes. + + * How does it work: + Code has been changed so that authentification is done early + for all clients. This allows accessing the ACL data (client->acl) + from nearly everywhere in the code. + + After accept() and initial client setup the request is parsed. + In the next step all <alias>es are resolved. After this the client + is passed for authentication. After authentication it is passed + to the corresponding subsystem depending on kind of request. + + All authentication instances have a thread running for doing + the authentication. This thread works on a queue of clients. + + * Hints for testers: + - Test with default config. + - Test with diffrent authentication modules in <mount>. + - Test shoutcast compatibility mode. + - Test with new style <authentication> and any amount of <role> + (zero to quite some). + - Test <alias> lookup on all kinds of objects. + - Test source level credential login into the admin interface. + - Test shoucast style meta data updates. + - Test playlist generation. + + * Thank you for reading this long commit message. + Have fun reading the full patch! + + +2014-11-22 05:42:36 Philipp Schafft <lion@lion.leolix.org> + + * some more changes for ACL framework: exported admin_get_command() + and ADMIN_COMMAND_ERROR as well as introduced ADMIN_COMMAND_ANY + +2014-11-22 04:44:47 Philipp Schafft <lion@lion.leolix.org> + + * expose converting of method names to enum values as + httpp_str_to_method() + +2014-11-22 04:06:26 Philipp Schafft <lion@lion.leolix.org> + + * Changed ABI a bit: updated httpp_request_type_e-type. To avoid any + problems do a complet rebuild of your projects. Thank you. + +2014-11-22 03:49:36 Philipp Schafft <lion@lion.leolix.org> + + * some smaller stuff needed to get new authing stuff done + +2014-11-21 19:52:48 Philipp Schafft <lion@lion.leolix.org> + + * allow symbolc names for bools, public settings and loglevel + +2014-11-21 18:05:17 Philipp Schafft <lion@lion.leolix.org> + + * remove client_send_[0-9]{3}() in favor of client_send_error(). + Please test + +2014-11-21 15:37:50 Philipp Schafft <lion@lion.leolix.org> + + * first part of patch to allow kh like admin stats with listener tags + inside + +2014-11-21 10:08:16 Philipp Schafft <lion@lion.leolix.org> + + * allow comments to be within the <http-headers> block, not just at the + end + +2014-11-21 09:28:29 Philipp Schafft <lion@lion.leolix.org> + + * Updated handling of <on-connect> and <on-disconnect> in <mount>, see + r19305:r19312 + +2014-11-20 18:41:42 Philipp Schafft <lion@lion.leolix.org> + + * report system name and print better warnings about <hostname> at + start of process + +2014-11-20 18:36:57 Philipp Schafft <lion@lion.leolix.org> + + * remove threadpool_size in global config, added warnings for + <threadpool> and <no-yp> as well as updated warning for + <source-password> + +2014-11-20 18:34:41 Philipp Schafft <lion@lion.leolix.org> + + * Support for reloading server config using admin interface. + +2014-11-20 18:32:14 Philipp Schafft <lion@lion.leolix.org> + + * support vhosting on aliases + 2014-11-19 13:42:23 dm8tbr * This is Spaaarrr^w Icecast 2.4.1! -- GitLab