Skip to content
Snippets Groups Projects
ChangeLog 191 KiB
Newer Older
2017-11-17 09:04:42  Thomas B. Ruecker <thomas@ruecker.fi>

	* Preparing for 2.5 beta2 aka 2.4.99.2

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555
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!

2014-11-19 13:41:09  dm8tbr

	* Makefile.am and configure.in for new docs

2014-11-19 12:18:49  dm8tbr

	* Removing unmaintained RPM spec file

2014-11-19 11:30:58  ePirat

	* Set PATH_MAX to 4096 if not defined (patch by Svante Signell
	<svante.signell@gmail.com>)
	See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=767542

2014-11-18 19:57:21  ePirat

	* Docs: 2.4.1 docs added

2014-11-18 10:17:16  ePirat

	* fix for memory errors when using a lot of headers

2014-11-18 08:51:03  dm8tbr

	* Comments in <http-headers> break things ATM.
	Moved the comment out to avoid this bug.
	Needs to be checked.

2014-11-17 19:20:57  ph3-der-loewe

	* subset of earlier patch so it can go into 2.4.1: disconnects
	stdio of <on-[dis]connect> scripts from server owned filehandles.
	* This is considered a security fix: if on-connect/on-disconnect
	scripts are used, file descriptors of the server process remain open
	and could be written to or read from. Most pressing STDIN, STDOUT,
	STDERR are handled. Further all file descriptors up to 1024 are closed.
	There is a remaining (much lower) risk in combination of either a
	malicious or susceptible script and FDs above 1024.

2014-11-10 10:46:55  ph3-der-loewe

	* patch to fix regression on header size with large headers introduced
	by support of <server-id> and <http-headers>. This should ensure we
	have at least space for 2kB of extra headers. Depending on function
	and call we may have much more space.

2014-11-10 08:23:34  dm8tbr

	* Update minimal config to also contain ACAO * header

2014-11-10 06:25:15  dm8tbr

	* Update default config: SSL, headers, default-mount

2014-11-09 10:55:29  dm8tbr

	* Updated default openSSL cipher string
	* https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29
	* same Qualys result

2014-11-09 09:13:59  dm8tbr

	* Clean up default config
Thomas B. Rücker's avatar
Thomas B. Rücker committed

2014-11-08 16:23:26  dm8tbr

	* Applying patch by ph3-der-loewe, HTTP PUT requires content-type
	* In case of SOURCE we are lenient and thus quite some source clients
	don't send a proper content-type, especially if they only support mp3.
	* This was meant to be introduced in 2.4.0 already, sadly we missed it.
	* All source clients MUST send proper content-type after migrating to 
	Icecast HTTP PUT protocol.

2014-11-08 13:34:45  ph3-der-loewe

	* Fixed regression introduced in r18356 (CVE-2011-4612): client
	duration time is now correctly logged. PRIu64 MUST NOT be used with
	log_write_direct() as depending on platform PRIu64 may be using
	something not supported by __vsnprintf() of log/log.c.

2014-11-08 12:28:17  ph3-der-loewe

	* make use of sizeof() not explicit magic numbers

2014-11-07 23:10:43  ph3-der-loewe

	* fixing some compiler warnings

2014-11-07 22:06:06  ph3-der-loewe

	* updated some copyright headers

2014-11-07 20:56:04  ph3-der-loewe

	* fix for %z on win*. hope it doesn't breaky anything else.

2014-11-07 19:14:28  ph3-der-loewe

	* added warnings on empty and default values of <fileserve>,
	<hostname>, <location>, <admin> and <server-id>

2014-11-07 11:18:54  ph3-der-loewe

	* send errorlog (loglevel WARN) to stderr prior to opening the real
	logfiles.

2014-11-07 10:12:24  ph3-der-loewe

	* added support for type="" and status="" in <header> 
	(subelement of <http-headers>).

2014-11-07 02:55:57  ph3-der-loewe

	* Added support for <http-headers> within <mount>. 
	Also support merging of headers (normal mount + default mount).

2014-11-07 01:40:28  ph3-der-loewe

	* handle empty strings in config file better. Now empty strings are
	handled in: accesslog, errorlog, logdir, webroot, adminroot and
	hopefully all kinds of port.

2014-11-07 00:56:02  ph3-der-loewe

	* initial patch to allow adding user defined headers

2014-11-06 23:55:58  ph3-der-loewe

	* coding style and typo correcion

2014-11-06 12:02:00  dm8tbr

	* Be more verbose in case of fileserve off

2014-11-05 10:09:07  dm8tbr

	* applied patch to update the default ciphers to be more secure
	* tested this successfully against https://www.ssllabs.com/ssltest/

2014-11-03 19:34:10  ph3-der-loewe

	* applied patch to disable SSLv3 and SSL compression explicitly

2014-11-02 20:19:29  dm8tbr

	* fix JSON status API problems
	* Put the last item check into every filtered tag.
	* This way we shouldn't run into problems of this type anymore.
	* Also it should be easier to customize this way,
	if someone wants to filter differently.


2014-10-31 09:00:45  ph3-der-loewe

	* rename ICE_LISTEN_QUEUE, ICE_RUNNING and ICE_HALTING 
	so they have a prefix of ICECAST_

2014-10-31 08:46:58  ph3-der-loewe

	* LOG_{ERROR|WARN|INFO|DEBUG}() 
	  -> ICECAST_LOG_{ERROR|WARN|INFO|DEBUG}()
	* avoid collision with LOG_INFO that is defined as part of syslog.

2014-10-26 14:03:57  ph3-der-loewe

	* make <auth> in <mount type="default"> work if no <mount-name> is
	given.

2014-10-23 20:41:38  epirat

	* More detailed logging
	* Add source IP adress to startup and source exit logging
	* Add mountpoint to some log lines

2014-10-18 16:25:29  ph3-der-loewe

	* fix warnings, mostly related to win*-builds

2014-10-09 10:39:13  ph3-der-loewe

	* Replace the old logging macros with variadic argument macros. 
	  (patch by ePirat)

2014-07-23 16:55:57  dm8tbr

	* removed threadpool from example config
	  it is long gone and unused

2014-07-23 10:20:47  dm8tbr

	* Fix autogen.sh to work properly on Mac OS
	* Applying patch by ePirat

2014-05-06 05:23:42  dm8tbr

	* This is Icecast 2.4.0!

2014-05-06 04:53:24  dm8tbr

	* SECURITY FIX - Override supplementary groups if <changeowner>

2014-05-05 05:16:44  dm8tbr

	* Added <audio> for supported streams. TNX ePirat

2014-05-04 17:36:25  dm8tbr

	* status2.xsl, broken for a decade, now it's gone!

2014-05-04 17:09:59  dm8tbr

	* Updated docs: 
	  * logging to STDERR; known issues
	  * Refactored docs about client authentication
	  * Vastly improved page about Icecast statistics
	  * Clean up supported windows versions
	  * Quick fixup of the basic setup page
	  * Minor fixes to the config file documentation
	  * Updated YP documentation
	  * Reduced win32 documentation to essentials

2014-05-04 07:14:54  dm8tbr

	* Adding stream_start_iso8601, server_start_iso8601
	  ISO8601 compliante timestamps for statistics. Should make usage in
	  e.g. JSON much easier.
	  Added as new variables to avoid breaking backwards compatibility.

2014-05-04 05:16:00  dm8tbr

	* Nicer looking tables for the admin interface.
	  ePirat sent updated tables code that should look much nicer.
	  This is admin interface only (and a global css change).

2014-03-09 13:02:35  dm8tbr

	* Set content-type to official "application/json"

2014-03-09 12:27:58  dm8tbr

	* Initial JSON status transform.
	  Output roughly limited to data also visible through status.xsl.

2014-03-09 12:26:15  dm8tbr

	* Silence direct calls, add partial array support.
	* The XSLT will now return empty if called directly.
	  This is a security measure to prevent unintended data leakage.
	* Adding partial array support to print sources in an array. 
	  Code lifted from: 
	  https://code.google.com/p/xml2json-xslt/issues/detail?id=3

2014-03-09 12:19:35  dm8tbr

	* Adding xml2json XSLT, svn r31 upstream trunk.
	  https://code.google.com/p/xml2json-xslt/

2014-03-01 17:53:00  dm8tbr

	* Icecast 2.4 beta5 aka 2.3.99.5

2014-03-01 17:37:38  dm8tbr

	* Reverting r18945 for now as using -b breaks things.
	  Reopening #1886, patch needs rework.

2014-03-01 16:38:15  dm8tbr

	* Web output properly redone, credit to ePirat.
	  Now validates completely as XHTML1.0 strict.
	  Also improves rendering on mobile devices.

2014-02-23 21:29:35  dm8tbr

	* Send charset in headers for everything, excluding file-serv and streams.

2014-02-16 10:14:28  dm8tbr

	* Added warning to documentation 
	  ensure queue-size >> burst-size.

2014-01-23 13:55:23  dm8tbr

	* Icecast 2.4 beta4 aka 2.3.99.4

2014-01-23 06:23:42  dm8tbr

	* Updated web interface to be more XHTML compliant.
	* Added warning about HTML scraping to main page.

2014-01-12 21:09:04  ph3-der-loewe 

	* Fixed a memory leak. Lost headers of stream because of wrong ref
	counter in associated refbuf objects.

2014-01-12 12:29:27  ph3-der-loewe

	* Completed HTTP PUT support, send 100-continue-header,
	if client requests it. We need to adhere to HTTP1.1 here.

2014-01-12 12:09:59  ph3-der-loewe   

	* avoid memory leak in _parse_mount() when "type"-attribuet is set

2013-11-06 01:01:31  ph3-der-loewe   

	* corrected Date-header format to conform the standard (see RFC1123).
	Thanks to cato for reporting.

2013-05-29 08:22:06  dm8tbr

	* Added a favicon to the web-root content

2013-05-15 16:45:55  dm8tbr   

	* We now split handling of command line arguments into two parts.
	Only the critical part of getting the config file is done first (and
	-v as it prevents startup). The rest (currently only -b) is deferred.
	It allows us to log error messages to stderr even if the -b argument
	is passed. This is mainly for the case where the logfile or TCP port 
	can't be opened.

2013-04-06 05:00:00  dm8tbr  

	* Icecast 2.4 beta3 aka 2.3.99.3

2013-04-05 20:13:18  dm8tbr

	* Edited warning for clarity.

2013-04-05 19:49:13  ph3-der-loewe

	* added a warning in case mount of type default is defined but a
	mountname is set

2013-04-05 16:44:51  dm8tbr

	* Setting Icecast version to 2.3.99.3 in preparation for 2.4 beta3.

2013-04-05 16:43:16  dm8tbr

	* Add warning when using generic handler for stream sent to Icecast.
	All bets are off, we're trying our best using legacy handling code.

2013-04-03 02:04:38  

	* avoid fnmatch() on _WIN32 and fall back to strcmp(). Seems that
	MinGW does half-implement fnmatch()...

2013-04-03 00:46:55  ph3-der-loewe

	* do fuzzy(fnmatch) matching for mountpoint names of non-normal
	mounts, see #1914

2013-04-03 00:33:10  ph3-der-loewe

	* mount points defined in config should use data from default mounts
	as well, see #1914

2013-04-02 18:46:44  ph3-der-loewe

	* Added support for a default mount. See #1914.
	The default mount is a block in the config file that contains settings
	for all mount points that do not have a block in configfile themself.
	This is implemented by a <mount type="default">-block.
	In this case the <mount>-block MUST NOT contain 
	a <mount-name>-subblock.


2013-04-02 12:19:33  

	* Throw away the reqbuf stuff as it was not well designed. Removing it
	and restoring usage of %H to properly address #1916

2013-04-02 11:51:47  ph3-der-loewe

	* make use of const keyword in _fatal_error()

2013-04-02 11:48:40  ph3-der-loewe

	* allow --version as alias to -v (printing version number)

2013-03-30 10:52  dm8tbr

	* trunk/icecast/ChangeLog:
	* trunk/icecast/configure.i:
	This is Icecast 2.4 beta2 (aka 2.3.99.2)

2013-03-30 10:26:44  dm8tbr

	* trunk/icecast/ChangeLog:
	Updated Icecast ChangeLog

2013-03-30 07:09:14  dm8tbr

	* trunk/icecast/doc/icecast2_config_file.html:
	Adding "A word of warning" to Icecast config file documentation.

2013-03-29 15:07:33  dm8tbr

	* trunk/icecast/src/connection.c:
	Highly experimental HTTP PUT support. ref #1812
	We are handling it the same as we would handle a SOURCE request.
	Due to legacy code, sender MUST send proper content-type header,
	if content type is not audio/mpeg!
	Can be tested using real-time encoded output and piping it into
	 
	| curl -u username:password -H "Content-type: application/ogg" -T - \
	http://localhost:8000/mountname.ogg
	 
	Note that this example has ZERO timing, so a simple 'cat *.ogg' will
	fail.
	Whatever feeds the pipe must do it at proper timing for real-time
	playback!

2013-03-29 14:41:24  dm8tbr

	* trunk/icecast/src/logging.c:
	Backing out part of r18755 touching this file.
	fixes #1942
	
2013-03-09 15:23:48  dm8tbr

	* trunk/icecast/doc/icecast2_basicsetup.html:
	Added note about distribution packaging of Icecast, fixing #1249.

2013-02-24 20:12:42  dm8tbr

	* trunk/icecast/doc/icecast2_listenerauth.html:
	Fixing a small bit in the example that got copied.

2013-02-24 16:19:53  dm8tbr

	* trunk/icecast/doc/icecast2_config_file.html:
	* trunk/icecast/doc/icecast2_listenerauth.html:
	Icecast documentation update for stream_auth.

2013-02-24 14:25:37  ph3-der-loewe

	* trunk/icecast/src/admin.c:
	corrected mime type of plain text mount point list,