Newer
Older
2022-03-13 18:25:33 Philipp Schafft <lion@lion.leolix.org>
* Preparing for 2.5 beta3 aka 2.4.99.3
2017-11-17 09:04:42 Thomas B. Ruecker <thomas@ruecker.fi>
* Preparing for 2.5 beta2 aka 2.4.99.2
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
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>
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
556
557
558
559
* 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
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
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.
* 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
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
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
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
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.
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
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.
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
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
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
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,
thanks to cato
2013-02-24 02:04:43 ph3-der-loewe
* trunk/icecast/src/format_mp3.c:
* trunk/icecast/src/util.c:
send Expires:-headers on all cache=0 requests, close #1870
2013-02-24 00:53:09 ph3-der-loewe
* trunk/icecast/src/yp.c:
handle yp headers case insensetive, close #1873
2013-02-24 00:41:15 ph3-der-loewe
* trunk/icecast/doc/icecast2_config_file.html:
add info abot usage of strftime(3), see #1823
2013-02-24 00:17:45 ph3-der-loewe
* trunk/icecast/doc/icecast2_listenerauth.html:
updated docs, added additional POST data, see #1422
2013-02-23 20:55:58 ph3-der-loewe
* trunk/icecast/src/slave.c:
Allow full URLs to be returned by the master server. close #1878
2013-02-23 17:51:16 ph3-der-loewe
* trunk/icecast/src/auth_url.c:
Updated listener_remove handler:
- added ip= and agent=,
- Some cleanup && made code more uniform,
- avoid int for size_t vars.
actions: close #1422
2013-02-23 17:05:54 ph3-der-loewe
* trunk/icecast/src/cfgfile.c:
format fix
2013-02-23 16:38:23 ph3-der-loewe
* trunk/icecast/src/cfgfile.c:
do not call xmlCleanupParser() too often, close #1931
2013-01-16 12:03:03 ph3-der-loewe
* trunk/icecast/src/shout.c:
* trunk/icecast/src/util.c:
Replaced usage of sprintf() with snprintf().
2013-01-16 12:02:14 ph3-der-loewe
* trunk/icecast/src/avl/avl.c:
* trunk/icecast/src/avl/avl.h:
Replaced usage of sprintf() with snprintf(). Also exported size of key
printer's buffer in avl/.
2013-01-02 14:44:43 ph3-der-loewe
* trunk/icecast/src/log/log.c:
* trunk/icecast/src/log/log.h:
Escape log entries in access log (close: #1916)
2013-01-02 14:44:08 ph3-der-loewe
* trunk/icecast/src/cfgfile.c:
* trunk/icecast/src/logging.c:
Escape log entries in access log (close: #1916)
2012-11-13 14:40:48 ph3-der-loewe
* trunk/icecast/src/admin.c:
corrected Content-Length: header in admin (raw) requests. Thanks to
paluh for reporting.
2012-11-13 11:25:46 ph3-der-loewe
* trunk/icecast/src/sighandler.h:
cleanup unused var schedule_config_reread.
2012-11-12 21:01:57 ph3-der-loewe
* trunk/icecast/src/main.c:
correction for win32 build to avoid segfault if build with mingw.
2012-10-14 23:50:15 ph3-der-loewe
* trunk/icecast/src/source.c:
corrected coding style
2012-10-14 21:36:10 ph3-der-loewe
* trunk/icecast/src/cfgfile.c:
removed useless blank line
2012-10-12 14:41:12 ph3-der-loewe
* trunk/icecast/:
removed \r at end of lines
2012-10-11 22:54:53 ph3-der-loewe
* trunk/icecast/src/auth_url.c:
* trunk/icecast/src/cfgfile.c:
* trunk/icecast/src/client.c:
* trunk/icecast/src/client.h:
* trunk/icecast/src/format_mp3.c:
* trunk/icecast/src/logging.c:
* trunk/icecast/src/main.c:
* trunk/icecast/src/sighandler.c:
* trunk/icecast/src/util.c:
updated copyright notices.
2012-10-11 22:49:57 ph3-der-loewe
* trunk/icecast/src/client.c:
* trunk/icecast/src/client.h:
* trunk/icecast/src/format_mp3.c:
* trunk/icecast/src/main.c:
* trunk/icecast/src/sighandler.c:
avoid compiler warnings;
send /message/ in case of 403.
2012-10-11 22:28:40 ph3-der-loewe
* trunk/icecast/src/cfgfile.c:
cleanup of <source-password> parser code
2012-10-11 18:06:30 ph3-der-loewe
* trunk/icecast/conf/icecast.xml.in
* trunk/icecast/doc/icecast2_listenerauth.html
* trunk/icecast/src/auth_url.c:
Added options "headers" and "header_prefix" to URL based listener
auth.
Someone should update the docs/ text to good english.
2012-10-11 00:26:38 ph3-der-loewe
* trunk/icecast/configure.in:
* trunk/icecast/src/main.c:
Fix win32 patches (r18642) so it builds corectly on non-win32 again.
2012-10-10 23:34:54 ph3-der-loewe
* trunk/icecast/src/xslt.c:
use correct prototype.
2012-10-10 23:15:05 ph3-der-loewe
* trunk/icecast/src/client.c:
Improved handling of HTTP client errors:
- Make the internal API more uniform,
- Improved error pages slightly (See: #1889).
2012-10-10 22:48:15 ph3-der-loewe
* trunk/icecast/src/connection.c:
* trunk/icecast/src/fserve.c:
Make some more vars local (static).
2012-10-10 22:41:30 ph3-der-loewe
* trunk/icecast/configure.in:
* trunk/icecast/src/logging.c:
* trunk/icecast/src/main.c:
* trunk/icecast/src/util.c:
fixes for win32 (ported 2.3.99.0 patches).
Thanks to LRN (from mailing list).
2012-07-31 23:09:42 ph3-der-loewe
* trunk/icecast/src/log/log.c:
Corrected check for the value of priority to be within
valid range.
2012-07-18 01:40:55 ph3-der-loewe
* trunk/icecast/src/format.c:
remove unused variable "ice_config_t *config" from
format_prepare_headers()
2012-07-17 23:55:09 ph3-der-loewe
* trunk/icecast/src/admin.c:
* trunk/icecast/src/client.c:
* trunk/icecast/src/format.c:
* trunk/icecast/src/fserve.c:
* trunk/icecast/src/util.c:
* trunk/icecast/src/util.h:
* trunk/icecast/src/xslt.c:
Send proper HTTP headers in responses to clients.
This is currently not implemented for SOURCE and STATS clients as
I suspect to break them. This needs some more research.
close #1639, see #1870 and #1885.
2012-07-17 21:35:31 dm8tbr
* tags/icecast/icecast-2.4-beta:
Release of Icecast 2.4 beta1 (2.3.99.0)
2012-07-17 21:24:45 dm8tbr
* trunk/icecast/src/source.c:
Adding limits.h to fix build problems on e.g. newer glibc.
2012-07-17 20:46:06 dm8tbr
* trunk/icecast/NEWS:
* trunk/icecast/configure.in:
Updated NEWS for Icecast 2.3.3 and 2.4-beta.
Changed version to report as 2.3.99.0 for 2.4-beta release
2012-07-17 14:42:16 ph3-der-loewe
* trunk/icecast/src/source.c:
Allow (standard strftime(3)) %x codes in mount's <dump-file> to embedd
timestamps in filenames. This currently only works on non windows.
closes #1823
2012-07-17 14:03:37 ph3-der-loewe
* trunk/icecast/src/connection.c:
* trunk/icecast/src/sighandler.c:
* trunk/icecast/src/slave.c:
* trunk/icecast/src/source.c:
* trunk/icecast/src/source.h:
* trunk/icecast/src/stats.c:
race condition patch as submitted by lds and remi, slightly modified
by me. closes #1810
2012-07-16 16:05:21 ph3-der-loewe
* trunk/icecast/httpp/httpp.c:
* trunk/icecast/httpp/httpp.h:
commited support for HTTP PUT, See #1812
2012-06-13 21:11:07 giles
* trunk/icecast/AUTHORS:
* trunk/icecast/NEWS:
* trunk/icecast/src/Makefile.am:
* trunk/icecast/src/format_ogg.c:
* trunk/icecast/src/format_opus.c:
* trunk/icecast/src/format_opus.h:
Add WebM support.
This is David Richard's webm support patch from the icecast-webm
branch.
Mention Opus and WebM support in NEWS.
2012-06-13 19:56:58 dm8tbr
* trunk/icecast/:
Removed outdated debian packaging, not used by downstream anyway.
2012-06-11 20:06:32 dm8tbr
* trunk/icecast/configure.in:
Reset version string to 'trunk'.
2012-06-11 16:43:54 dm8tbr
* tags/icecast_2_3_3:
Icecast release, version 2.3.3
2012-06-10 20:09:59 dm8tbr
* trunk/icecast/doc/icecast2_win32.html:
* trunk/icecast/doc/index_win32.html:
Added note about missing IPv6 support on Win32. cf. #1877
2012-06-10 13:06:03 dm8tbr
* trunk/icecast/configure.in:
set 2.3.3 version in preparation for release
2012-06-10 12:35:47 dm8tbr
* trunk/icecast/web/status.xsl:
Hide VCLT from status.xsl for now as agreed earlier.
VCLT support remains unchanged for users that want to use it.
Just use the URL: {@mount}.vclt
2012-06-07 18:27:58 ph3-der-loewe
* trunk/icecast/log/log.c:
support field width with (most common) %Ns and %NH syntax.
2012-06-07 18:13:28 ph3-der-loewe
* trunk/icecast/log/log.c:
honor field width in %s and %H
2012-06-07 18:09:48 ph3-der-loewe
* trunk/icecast/log/log.c:
consider backticks as well as backslashes invalid chars
2012-06-07 15:57 dm8tbr
* trunk/icecast/format_mp3.c:
* trunk/icecast/fserve.c:
* trunk/icecast/log/log.c:
Patchset to properly address CVE-2011-4612
2011-12-03 09:25 dm8tbr
* trunk/icecast/doc/icecast2_config_file.html:
Added 'admin' and 'location' to documentation
Added clarification to the 'username' attribute of a mount
Fixed typos
2011-11-26 11:11 ph3-der-loewe
* trunk/icecast/admin/Makefile.am: Added vclt.xsl to list
of files which are to be installed.
2011-11-26 02:36 ph3-der-loewe
* trunk/icecast/src/fserve.c, trunk/icecast/admin/vclt.xsl,
trunk/icecast/web/status.xsl: Added VCLT playlist support.
2011-11-25 22:37 dm8tbr
* trunk/icecast/conf/icecast.xml.in:
Added 'admin' and 'location' to default config, thus fixing
#1839.
2011-11-25 22:17 ph3-der-loewe
* trunk/icecast/src/cfgfile.c, trunk/icecast/conf/icecast.xml.in,
trunk/icecast/conf/icecast_urlauth.xml.in,
trunk/icecast/conf/icecast_minimal.xml.in: Updated <alias>
to use destination="" not dest="". The old dest="" attribute
is still supported.
2011-11-25 22:11 dm8tbr
* trunk/icecast/src/cfgfile.c trunk/icecast/src/cfgfile.h
trunk/icecast/src/connection.c:
Applied justdave's patches, fixing #1717 and #1718.
HTTPS now with better security and support for chained
2011-11-25 21:20 ph3-der-loewe
* trunk/icecast/AUTHORS, trunk/icecast/src/cfgfile.c.
trunk/icecast/src/connection.c: Allow the source password
to be undefined. This is to avoid falling back to a default
password which would be a security problem. Fixing #1846
----------------------------------------------------------------------
Everything above is post 2.3.2. The stuff below is incomplete.
The time zone above is UTC, the time zone below is unknown.
ph3-der-loewe, Fri Nov 25 21:20:58 UTC 2011
----------------------------------------------------------------------
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
2005-11-29 03:06 karl
* trunk/icecast/src/auth_url.c: update for authentication header
via libcurl. allows for http://user:pass@host.. else the param
specified user/pass. In the case of listener_add/remove use the
client provided user/pass if no others are specified.
2005-11-20 13:53 karl
* trunk/icecast/src/source.c: allow for the intro file to change
over HUP
2005-11-17 00:54 karl
* trunk/icecast/src/auth.c, trunk/icecast/src/client.c,
trunk/icecast/src/client.h, trunk/icecast/src/connection.c:
change status code for server/stream full cases (#738), also
some others places where connections are terminated.
2005-11-15 00:36 karl
* trunk/icecast/src/stats.c: update queue handling for stats. This
was slow when many stats were being queued. These apply to both
web interface requests and stats clients.
2005-11-15 00:29 karl
* trunk/icecast/src/format_vorbis.c: fixup granulepos on EOS case
when rebuilding vorbis streams. This was causing a short audio
glitch on playback, but was not typically noticed.
2005-10-24 14:51 oddsock
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/logging.c, trunk/icecast/src/main.c: 2 new
features to icecast logging: - logsize : specify in KB the max
size of any of icecast log files - logarchive : causes icecast
to rename logs with timestamps (for proper archiving)
2005-10-11 13:40 karl
* trunk/icecast/src/cfgfile.c: avoid adding a mount_t structure if
there is no mount name defined, segv occurs later on
2005-10-06 02:41 karl
* trunk/icecast/src/client.c: fix bug #717. a race on source exit
could cause memory corruption
2005-10-01 15:59 msmith
* trunk/icecast/admin/manageauth.xsl: Don't display passwords in
auth management interface; it's useless and shouldn't be
displayed anyway.
2005-10-01 14:08 karl
* trunk/icecast/src/connection.c: add hack for nsvcap, apparently
EOL is 3 chars
2005-09-30 16:30 pem
* trunk/icecast/admin/fr_FR/listclients.xsl: Copying the /admin
xslt files into /admin/fr_FR for translation.
2005-09-30 14:39 pem
* trunk/icecast/admin/fr_FR,
trunk/icecast/admin/fr_FR/Makefile.am,
trunk/icecast/admin/fr_FR/listmounts.xsl,
trunk/icecast/admin/fr_FR/manageauth.xsl,
trunk/icecast/admin/fr_FR/moveclients.xsl,
trunk/icecast/admin/fr_FR/response.xsl,
trunk/icecast/admin/fr_FR/stats.xsl,
trunk/icecast/admin/fr_FR/updatemetadata.xsl:
2005-09-29 15:07 msmith
* trunk/icecast/doc/icecast2_basicsetup.html: One sentence in
intro to explain mountpoints
2005-09-27 20:26 oddsock
* trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/stats.xsl, trunk/icecast/web/status.xsl: a
little better visibility for some features..
2005-09-27 02:47 oddsock
* trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl: whoops..forgot these
2005-09-27 02:45 oddsock
* trunk/icecast/admin/stats.xsl, trunk/icecast/web/status.xsl: fix
auth.xsl link
2005-09-26 16:34 karl
* trunk/icecast/src/connection.c: Fix a bug where a shoutcast
source client (nsvtools) does not wait for the OK response.
Icecast was dropping the connection preventing the stream
2005-09-23 21:31 oddsock
* trunk/icecast/Makefile.am, trunk/icecast/configure.in,
trunk/icecast/examples/Makefile.am,
trunk/icecast/win32/icecast2.iss: include example application in
distribution
2005-09-23 21:13 oddsock
* trunk/icecast/Makefile.am: add examples to distribution
2005-09-23 21:11 oddsock
* trunk/icecast/examples,
trunk/icecast/examples/icecast_auth-1.0.tar.gz: forgot the
example listener auth application...
2005-09-23 14:39 oddsock
* trunk/icecast/ChangeLog: updated Changelog
2005-09-23 14:23 oddsock
* trunk/icecast/configure.in, trunk/icecast/icecast.spec,
trunk/icecast/win32/Makefile.am,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss,
trunk/icecast/win32/icecast2_console.dsp: version bumps for 2.3
forgot a few win32 files in the automake Makefile...
* trunk/icecast/NEWS: new features for Icecast 2.3
* trunk/icecast/src/source.c: maintain the listener_peak stat
across relay restarts
* trunk/icecast/src/format_mp3.c: minor memory leak possible on
source shutdown
* trunk/icecast/src/main.c, trunk/icecast/win32/Icecast2win.dsw,
trunk/icecast/win32/icecast2.iss,
trunk/icecast/win32/icecastService.cpp,
trunk/icecast/win32/icecastService.dsp: Now you can start
icecast as a windows service.
* trunk/icecast/src/auth.c: fix for race, client needs setup
before adding to pending tree
* trunk/icecast/src/source.c: Fix deadlock when moving clients.
Thanks to oddsock for producing a testcase and backtrace, and
karl for fixing my brain
* trunk/icecast/win32/icecast2.iss: oops..missed one..
* trunk/icecast/configure.in, trunk/icecast/icecast.spec,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss: version bumps
* trunk/icecast/src/logging.c: log username to access log (bug
#706) if available.
* trunk/icecast/src/admin.c: fix segv case on
listmounts/moveclients when a fallback to file stream is running
* trunk/icecast/src/auth.c: Patch from martin@matuska.org: don't
treat all clients as duplicates.
* trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss: updates for rc2 build
* trunk/icecast/src/fserve.c: if the m3u link is placed in
winamp/fb2k, then the host header misses the port number, so
I'll add a check that ignores the host header if it's missing a
port and generates the m3u host:port from the xml.
* trunk/icecast/src/connection.c, trunk/icecast/src/slave.c: do
proper cleanup on odd cases of source client startup, also take
mutex lock for client_create at relay startup to prevent race
* trunk/icecast/src/auth.c, trunk/icecast/src/auth.h: immediately
release auth_t if authentication fails, that way we don't
trigger release_client like listener_remove event in the url
auth. Add lock in auth_t so that refcount changes are not a race
possibility.
* trunk/icecast/src/format_mp3.c: 2 updates to mp3 metadata
handling. allow a 0 metadata interval to disable metadata being
sent to new listeners (negative for whatever the source sends),
existing listeners retain their original interval setting. We
now limit how much mp3 is written after the metadata block in a
single format send call, this was only showing up on small
interval values.
* trunk/icecast/src/admin.c: content was wrong due to limiter
being 0
* trunk/icecast/src/auth_htpasswd.c: Fix bug reported by
Jason@weatherserver.net - don't crash in htpasswd auth if the
auth file doesn't exist.
* trunk/icecast/src/yp.c: extra checks on YP updating, typically
on changes over HUP
* trunk/icecast/src/refbuf.c, trunk/icecast/src/slave.c: fix
double free bug with failed to start relays and add a guard on
refbuf release
* trunk/icecast/src/slave.c, trunk/icecast/src/source.c: minor
memory leak, and compiler warning cleanup
* trunk/icecast/src/source.c: hide fallback file from webroot
stats, still accessible from admin. Missed log debug line from
apply function
* trunk/icecast/src/auth.c, trunk/icecast/src/client.c,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/format.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c: fixes for client handling, these are
all related to the handling of max clients. I've taken out the
client_create out of the connection_complete_source and put it
in slave, that way we can control the cleanup of the
memory/socket better, the change also meant fallback to file
tests were slghtly different.
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/auth.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h: add per-mount listener time limit
setting
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/auth.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: Allow for new listeners to fallback
if there are max listeners on the current mountpoint
* trunk/icecast/src/source.c: Some versions of gcc complain about
the missing cast here; it's apparently needed because some
systems don't define NULL as a pointer (weird). Patch from
Moritz Grimm.
* trunk/icecast/doc/icecast2_admin.html: doc bug
* trunk/icecast/configure.in, trunk/icecast/icecast.spec: version
bump to RC1
* trunk/icecast/win32/icecast2.iss: installer update
* trunk/icecast/doc/Makefile.am: add jpgs to dist
* trunk/icecast/doc/Makefile.am, trunk/icecast/doc/icecast2.hhc:
doc updates
* trunk/icecast/win32/Makefile.am: add some bitmaps to the dist
* trunk/icecast/conf/Makefile.am,
trunk/icecast/conf/icecast_urlauth.xml.in: new example config
for URL auth
* trunk/icecast/src/client.c, trunk/icecast/src/logging.c,
trunk/icecast/win32/Icecast2win.clw: some windows build issues..
* trunk/icecast/src/client.c, trunk/icecast/src/connection.c,
trunk/icecast/src/source.c: merge fix, oddcast (maybe other
shoutcast source clients) don't wait for OK response, so we may
have surplus data already read, so keep it.
* trunk/icecast/src/auth_url.c: missed a diff from previous
commit, consistent naming style
* trunk/icecast/conf/icecast.xml.in, trunk/icecast/configure.in,
trunk/icecast/doc/icecast2_listenerauth.html,
trunk/icecast/src/auth_url.c: changes applied from feedback.
make option names and action settings more consistent. Add
changes to docs for listener auth via url
* trunk/icecast/doc/icecast2_admin.html,
trunk/icecast/doc/icecast2_basicsetup.html,
trunk/icecast/doc/icecast2_changes.html,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/doc/icecast2_faq.html,
trunk/icecast/doc/icecast2_glossary.html,
trunk/icecast/doc/icecast2_introduction.html,
trunk/icecast/doc/icecast2_listenerauth.html,
trunk/icecast/doc/icecast2_relay.html,
trunk/icecast/doc/icecast2_stats.html,
trunk/icecast/doc/icecast2_win32.html,
trunk/icecast/doc/icecast2_yp.html,
trunk/icecast/doc/index.html,
trunk/icecast/doc/index_win32.html,
trunk/icecast/doc/win32_section1.html,
trunk/icecast/doc/win32_section2.html,
trunk/icecast/doc/win32_section3.html: Make HTML title
non-version specific.. Add a new "changes" page which enumerates
major feature/fixes for each version.. We are starting with 2.3.
* trunk/icecast/win32/Icecast2win.clw,
trunk/icecast/win32/Icecast2win.dsp,
trunk/icecast/win32/Icecast2win.rc,
trunk/icecast/win32/Icecast2winDlg.cpp,
trunk/icecast/win32/Icecast2winDlg.h,
trunk/icecast/win32/credits.bmp,
trunk/icecast/win32/icecast2.iss,
trunk/icecast/win32/icecast2title.bmp,
trunk/icecast/win32/resource.h: #590 Credits now for Icecast2
Win32... whoop-de-doo...
* trunk/icecast/doc/icecast2_basicsetup.html: minor doc fixup for
bug #677
* trunk/icecast/src/main.c: updates for #599 (dropping of
stdin,out,err when using -b) and #630 (pidfile created before
changeowner/chroot)
* trunk/icecast/src/event.c, trunk/icecast/src/logging.c,
trunk/icecast/src/logging.h, trunk/icecast/src/xslt.c: log
xml/xslt parsing failure messages via error log. This applies to
both the xsl files and the icecast xml file when re-read. At
icecast startup, the logs are not open so these parsing messages
still go to stderr.
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/global.h: increase the number of listening
sockets allowed. A more flexible scheme can be done later if
required
* trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/manageauth.xsl,
trunk/icecast/admin/moveclients.xsl,
trunk/icecast/admin/response.xsl, trunk/icecast/admin/stats.xsl,
trunk/icecast/admin/updatemetadata.xsl,
trunk/icecast/web/Makefile.am, trunk/icecast/web/auth.xsl,
trunk/icecast/web/key.png, trunk/icecast/web/server_version.xsl,
trunk/icecast/web/status.xsl, trunk/icecast/web/status2.xsl,
trunk/icecast/web/style.css, trunk/icecast/web/tunein.png:
encorporated xslt changes from dave st. john....
* trunk/icecast/src/admin.c: make admin replies go via fserve
* trunk/icecast/src/client.c, trunk/icecast/src/connection.c,
trunk/icecast/src/fserve.c, trunk/icecast/src/fserve.h,
trunk/icecast/src/source.c, trunk/icecast/src/source.h,
trunk/icecast/src/stats.c, trunk/icecast/src/stats.h: make
various responses going back to the client be done via the file
serving thread
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
* trunk/icecast/src/xslt.c: make sure that older xslt libs on
non-win32 can be used as well
2005-08-12 02:40 karl
* trunk/icecast/src/auth.h, trunk/icecast/src/auth_url.c,
trunk/icecast/src/connection.h, trunk/icecast/src/main.c,
trunk/icecast/src/source.c: merge in client timelimit, only
auth_url sets this currently. Add missing prototypes for compile
warning
2005-08-11 23:49 oddsock
* trunk/icecast/win32/Icecast2win.dsp,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2_console.dsp: misc build updates for
trunk
2005-08-11 23:48 oddsock
* trunk/icecast/src/auth_url.c: compiler error on win32
* trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/fserve.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c: drop the thread pool of connection
threads, they were using a blocking socket on incoming
connections. Now we get the accept thread to create a client_t
and mark it as a shoutcast client if need be. Then use a single
connection thread to poll the non-blocking sockets for the
headers. When complete they get handled as usual.
* trunk/icecast/src/logging.c: memory leak fix..
* trunk/icecast/src/auth_url.c: change the option names to be more
reasonable
* trunk/icecast/src/auth.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/main.c: a few fixes needed after some testing
on win32
* trunk/icecast/src/xslt.c: xlst function so that win32 can use an
older version of libxslt...
* trunk/icecast/src/source.c: make sure we have the initial
listeners stat
* trunk/icecast/src/admin.c, trunk/icecast/src/client.c,
trunk/icecast/src/yp.c: merge fixes. NULL checks
* trunk/icecast/src/format_mp3.c, trunk/icecast/src/format_mp3.h,
trunk/icecast/src/format_vorbis.c: Merge mp3 packing. mp3 (and
other pass-through streams) can bre received in very small
blocks and go out in those same small blocks increasing the
protocol overhead used by the provided. Generally occurs when
using a low bitrate stream and many listeners. With this patch
we pack out a refbuf before queuing. Add missing include for
vorbis build that shows on some platforms
* trunk/icecast/src/auth.c, trunk/icecast/src/connection.c,
trunk/icecast/src/fserve.c: allow for webroot requests to be
sent via an authenticator
* trunk/icecast/configure.in, trunk/icecast/src/Makefile.am,
trunk/icecast/src/auth.c, trunk/icecast/src/auth_url.c,
trunk/icecast/src/auth_url.h: merge URL listener auth
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
* trunk/icecast/src/Makefile.am, trunk/icecast/src/admin.c,
trunk/icecast/src/auth.c, trunk/icecast/src/auth.h,
trunk/icecast/src/auth_htpasswd.c,
trunk/icecast/src/auth_htpasswd.h, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/client.c,
trunk/icecast/src/client.h, trunk/icecast/src/connection.c,
trunk/icecast/src/main.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: Initial auth merge. Add an auth
thread (multiple threads can be done later) which can be used to
handle authentication mechanisms without taking locks for long
periods. Non-authenticated mountpoints bypass the auth thread.
The lookup/checking of the source_t is done after the
authentication succeeds so the fallback mechanism does not
affect which authenticator is used. This can be extended to
allow us to authenticate in webroot as well. XML re-read changes
will take effect immediately for new listeners but existing
listeners will use the original auth_t (refcounted) when they
exit. htpasswd access has been seperated out from auth.c, and
implements an AVL tree for a faster username lookup. The
htpasswd file timestamp is checked just in case there are
changes made externally
* trunk/icecast/src/auth.h, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/client.h, trunk/icecast/src/connection.c,
trunk/icecast/src/format.c, trunk/icecast/src/format_ogg.c,
trunk/icecast/src/format_ogg.h, trunk/icecast/src/refbuf.h,
trunk/icecast/src/source.c: merge extra checks. minor cleanup
work
* trunk/icecast/src/logging.h: Fix for bug #688 as supplied by
moinakg2002@yahoo.com; make icecast compilable with Sun's
compiler
* trunk/icecast/src/stats.c, trunk/icecast/src/xslt.c: some xslt
related fixes. A small memory leak, a socket not closing on odd
case, and truncate the buffer length so that junk chars are not
sent back.
* trunk/icecast/src/format.c: merge fix, the per client intro
offset can be > 0, so we need to skip over some of the burst data
* trunk/icecast/src/admin.c: missed from previous merge, some
random chars at end of xml output
* trunk/icecast/src/yp.c: allow touch frequency setting to be
changed on any YP response. Also pass user agent to YP server
* trunk/icecast/src/admin.c, trunk/icecast/src/connection.c,
trunk/icecast/src/stats.c, trunk/icecast/src/stats.h,
trunk/icecast/src/xslt.c: make admin and web root pages use file
serving thread to send back responses
* trunk/icecast/src/connection.c, trunk/icecast/src/fserve.c,
trunk/icecast/src/fserve.h: push HTTP header writing for file
download into file serving thread to prevent stalls in
connection thread. perform most file checking in fserve but
allow for m3u file override and using the Host header if
available.
* trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/slave.c: small
cleanups. redundant mutex removed, updates to log messages
* trunk/icecast/src/fserve.c, trunk/icecast/src/fserve.h: update
file serving setup and processing. Do http header writing in
fserve thread by using generic write routine. small leak plugged
on failure case. extend mime type handling slightly for rare case
* trunk/icecast/src/connection.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h, trunk/icecast/src/stats.c,
trunk/icecast/src/stats.h: update a few stats
* trunk/icecast/src/sighandler.c: this is needed for linuxthreads,
without it, zombie processes are left when on-[dis]connect is
used
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/client.c, trunk/icecast/src/format.c,
trunk/icecast/src/fserve.c, trunk/icecast/src/fserve.h,
trunk/icecast/src/source.c: merge in fallback to file, override
also works
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/sighandler.c, trunk/icecast/src/source.c:
merge per-mount on-[dis]connect script handling
* trunk/icecast/src/connection.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/stats.c: add a few
more informational stats
* trunk/icecast/conf/icecast.xml.in: might as well add these to
the samples configs
* trunk/icecast/conf/icecast.xml.in, trunk/icecast/src/cfgfile.c:
increase default max queue size, 100k isn't much and we do
reduce it when there are no lagging clients
* trunk/icecast/src/source.c: don't be too quick when dealing with
files. allow the limited per-client loop but don't trigger a
small poll timeout
* trunk/icecast/src/format_mp3.c: send StreamTitle in metadata
when reading from intro file
* trunk/icecast/src/auth.c, trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2_console.dsp: gotta love windows..
_snprintf is *much* more readable than snprintf (not)... also,
some updates to the VC project files
* trunk/icecast/src/auth.c: using .filename causes problems with
absolute paths for the temp file, also test to see if file
exists already
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/connection.c,
trunk/icecast/src/format.c, trunk/icecast/src/slave.c,
trunk/icecast/src/slave.h, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: merge in the on-demand relay
implementation.
* trunk/icecast/win32/Icecast2win.dsp,
trunk/icecast/win32/icecast.dsp: updates for latest trunk
* trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/connection.c, trunk/icecast/src/format.c,
trunk/icecast/src/format.h, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_ogg.c, trunk/icecast/src/source.c: Do
normal http header writing in source thread instead of the
connection thread, this will allow on-demand relays to fail and
still handle the initial listener correctly (fallback or 404
response).
* trunk/icecast/src/format_mp3.c: send StreamTitle in the initial
metadata block, if not real/helix has trouble with playback
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/connection.c, trunk/icecast/src/format.c,
trunk/icecast/src/format.h, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_ogg.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: merge intro file implementation
* trunk/icecast/src/format.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h,
trunk/icecast/src/yp.c: missed a merge for stats update for when
the relay ends. The rest is minor stuff, type check cleanup and
code reduction in YP
* trunk/icecast/src/connection.c: send response header to stats
client
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/connection.c, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h,
trunk/icecast/src/yp.c, trunk/icecast/src/yp.h: allow for more
updating over HUP. Made the YP engine only read the stats
instead of updating them, so source header parsing is done in
the apply mount. Per-mount stream settings also allow for
overriding the incoming settings.
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/connection.c,
trunk/icecast/src/main.c, trunk/icecast/src/refbuf.h,
trunk/icecast/src/slave.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h, trunk/icecast/src/yp.c: various
small things. type cleanups, loop over the burst point to make
sure it is at the right point. kick off the YP 'add' 5 seconds
after source startup so that any stats are processed.
* trunk/icecast/src/logging.c, trunk/icecast/src/logging.h: fix
win32 access.log entries, the rest is just cosmetic
* trunk/icecast/src/connection.c, trunk/icecast/src/event.c,
trunk/icecast/src/slave.c, trunk/icecast/src/slave.h,
trunk/icecast/src/source.c, trunk/icecast/src/source.h: use
minimal stats for inactive mountpoints that have an active
fallback.
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/connection.c, trunk/icecast/src/slave.c: Allow
for username to be stated for master/slave setups, we still
default to 'relay' though
* trunk/icecast/src/fserve.c, trunk/icecast/src/fserve.h,
trunk/icecast/src/util.c, trunk/icecast/src/util.h: removed
redundant function, add total files requested to stats
* trunk/icecast/src/Makefile.am: missed header for dist tarball
* trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/compat.h, trunk/icecast/src/format.h,
trunk/icecast/src/format_mp3.c, trunk/icecast/src/format_ogg.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h: use a
client function to read an incoming stream, simplifies handling
within the format specific files. Also add total read/sent stats
per mountpoint. Updates the stats every 5 secs currently
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/source.c: add function to do mount list search
(could be extended later), call it from various places including
the shoutcast source client auth which previously only used the
global source password.
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/format.h,
trunk/icecast/src/format_mp3.c, trunk/icecast/src/format_mp3.h,
trunk/icecast/src/source.c: Allow for specifiying a per-mount
metadata interval for shoutcast style streams
* trunk/icecast/src/slave.c: allow for changes in relay settings
to trigger a relay restart
* trunk/icecast/Makefile.am, trunk/icecast/configure.in,
trunk/icecast/src/Makefile.am, trunk/icecast/src/format_flac.c,
trunk/icecast/src/format_flac.h,
trunk/icecast/src/format_midi.c,
trunk/icecast/src/format_midi.h, trunk/icecast/src/format_ogg.c,
trunk/icecast/src/format_speex.c,
trunk/icecast/src/format_speex.h: Add more Ogg codec handlers,
there has not been that much testing on these mainly due to
client support, but they are only for detection and plug
straight into the ogg handler. The win32 project files will need
updating to take the new files into account
* trunk/icecast/src/client.c, trunk/icecast/src/connection.c,
trunk/icecast/src/fserve.c, trunk/icecast/src/source.c,
trunk/icecast/src/stats.c, trunk/icecast/src/stats.h: merge from
branch. push clients count handling to the
client_create/_destroy functions. call client_create in the
general handler and pass client_t to the specific handler
including the stats request handler, which now logs in the
access log.
* trunk/icecast/src/admin.c: from branch. make streamlist.txt from
the mount list, so that fallback handling can be taken into
account. If we just use the source tree then entries can
disappear causing a relay to shutdown in the slave.
* trunk/icecast/src/source.c: safety check, avoid the case of a
cyclic cascading fallback
* trunk/icecast/src/stats.c: merge from branch, stats client
details are not being removed when they exit
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/event.c: merge from branch, make the config
lock a rwlock instead of mutex
* trunk/icecast/src/admin.c, trunk/icecast/src/connection.c,
trunk/icecast/src/format_mp3.c, trunk/icecast/src/format_mp3.h,
trunk/icecast/src/format_ogg.c,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/stats.c,
trunk/icecast/src/xslt.c: merge in a few fixes and cleanups I've
accumulated in my branch.
* trunk/icecast/src/util.c: A bug report indirectly suggested the
base64 decode code was confusing (as the treatment of padding
was un-obvious), so added a comment explaining it.
* trunk/icecast/src/connection.c, trunk/icecast/src/fserve.c,
trunk/icecast/src/source.c: Fix various places where "clients"
stats value was decremented without having previously been
incremented.
* trunk/icecast/doc/icecast2_config_file.html: Fix some docs for
bind-address: it was confusing in one point, and completely
wrong in another.
* trunk/icecast/debian/watch: fix debian/watch too
* trunk/icecast/doc/icecast2_config_file.html: Fix typos in
description of bind-address option. Fix second sentence so that
it isn't completely wrong.
* trunk/icecast/src/main.c: Remove references to -h option, which
doesn't exist, and which users could only ever find out about by
running a command that did what -h claimed to do.
* trunk/icecast/src/fserve.c: Whoops, don't spin if ufds is null.
* trunk/icecast/src/fserve.c: The poll version of
fserve_client_waiting causes icecast to die with an assertion
when it first starts up on OS X, because ufds starts out NULL.
I'd been using the select version until now and never noticed.
* trunk/icecast/src/xslt.c: Make a debug message into a warning
message, so it'll be logged more often (since it's useful), and
make it print out the file that it failed to find, so that users
can figure out what to do.
* trunk/icecast/src/auth.c: Fix spelling in debug messages.
* trunk/icecast/src/xslt.c: only unlock when we have finished with
the stylesheet, potential race otherwise
* trunk/icecast/doc/icecast2_yp.html, trunk/icecast/src/admin.c,
trunk/icecast/src/format_ogg.c: small fixes
* trunk/icecast/win32/icecast2.iss: added auth.xsl to installer..
* trunk/icecast/doc/icecast2_config_file.html: Correct a typo.
* trunk/icecast/icecast.spec: update of the spec file..
* trunk/icecast/ChangeLog, trunk/icecast/configure.in,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss,
trunk/icecast/win32/icecast2_console.dsp: version bump to 2.2.0
* trunk/icecast/conf/icecast_shoutcast_compat.xml.in: small update
to the shoutcast compat example config
* trunk/icecast/src/xslt.c: remove depricated include file
* trunk/icecast/src/format.c, trunk/icecast/src/fserve.c: minor
type cleanup in fserve, include correct header for ogg
* trunk/icecast/src/format_ogg.c,
trunk/icecast/src/format_vorbis.c: make vorbis specific stat
names consistent with the existing ones, and make sure if
unknown ogg codecs are sent then it is logged
* trunk/icecast/src/format_ogg.c, trunk/icecast/src/yp.c: make
recent YP updates follow agreed spec
* trunk/icecast/win32/Icecast2win.dsw,
trunk/icecast/win32/icecast2.iss:
* trunk/icecast/ChangeLog, trunk/icecast/NEWS,
trunk/icecast/configure.in, trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss,
trunk/icecast/win32/icecast2_console.dsp: version bump (for
2.2RC1) update of NEWS (new features for 2.2) update of ChangeLog
* trunk/icecast/src/admin.c: removed unneeded variable
* trunk/icecast/src/yp.c: fix minor memory leak
* trunk/icecast/src/format_ogg.c, trunk/icecast/src/format_ogg.h,
trunk/icecast/src/format_theora.c,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/yp.c,
trunk/icecast/src/yp.h: add subtype to yp add phase, this is to
identify the codecs in use
* trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/slave.c,
trunk/icecast/src/slave.h: allow a relay to provide user/pass
when connecting
* trunk/icecast/Makefile.am: include m4 for theora in dist
* trunk/icecast/src/format_theora.c, trunk/icecast/web/status.xsl:
- add video_quality - update status.xsl with new info about
theora streams
* trunk/icecast/src/format_theora.c: added theora stats
* trunk/icecast/src/yp.c: I should fix the leak properly :)
* trunk/icecast/src/stats.c: duplicate unlock left in
* trunk/icecast/src/yp.c: provide max_listeners to YP, yp touch
fixup and minor memory leak fixed
* trunk/icecast/admin/Makefile.am,
trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/manageauth.xsl,
trunk/icecast/admin/stats.xsl,
trunk/icecast/admin/updatemetadata.xsl,
trunk/icecast/conf/icecast_minimal.xml.in,
trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/yp.c,
trunk/icecast/src/yp.h: add a new web admin feature which allows
the updating of metadata (now that we support metadata updates
for most stream types). This is an new admin feature. add
cluster-password to the config to allow for future clustering of
relays on the xiph stream directory.
* trunk/icecast/win32/icecast2.iss: add extra config files
* trunk/icecast/win32/Icecast2win.dsp,
trunk/icecast/win32/Icecast2winDlg.cpp,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2_console.dsp: update project files
to include Theora
* trunk/icecast/src/format_ogg.c: win32 compile
* trunk/icecast/configure.in, trunk/icecast/src/Makefile.am,
trunk/icecast/src/admin.c, trunk/icecast/src/format.c,
trunk/icecast/src/format.h, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_ogg.c, trunk/icecast/src/format_ogg.h,
trunk/icecast/src/format_theora.c,
trunk/icecast/src/format_theora.h,
trunk/icecast/src/format_vorbis.c,
trunk/icecast/src/format_vorbis.h, trunk/icecast/src/refbuf.c,
trunk/icecast/src/refbuf.h, trunk/icecast/src/source.c: merge
multi ogg codec handling. Handle theora and/or vorbis. Place new
clients before keyframe. For vorbis-only streams, perform
rebuild to flush pages more frequently and to provide url
updating mechanism for titles
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/source.c,
trunk/icecast/src/source.h, trunk/icecast/src/stats.c,
trunk/icecast/src/stats.h: merge per-mount hidden setting.
prevent specific mountpoints being listed on status.xsl and
streamlist
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/source.c, trunk/icecast/src/source.h: add
per-mount no-yp tag handling
* trunk/icecast/conf/icecast.xml.in, trunk/icecast/src/auth.h,
trunk/icecast/src/format.c, trunk/icecast/src/fserve.c,
trunk/icecast/src/md5.c, trunk/icecast/src/md5.h: minor cleanups
* trunk/icecast/src/admin.c: skip the listing of the source
mountpoint when moveclients is requested without a destination
* trunk/icecast/src/admin.c, trunk/icecast/src/connection.c: allow
for shoutcast metadata updates to auth with
admin/per-mount/global source password
* trunk/icecast/src/admin.c, trunk/icecast/src/connection.c,
trunk/icecast/src/format.c, trunk/icecast/src/format.h,
trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/source.c,
trunk/icecast/src/yp.c: handle supported content-types in a more
generic way now. This will allow things like AAC, AACPlus, NSV,
and others to be streamed through icecast. We have a special
case for vorbis streams, and everything else falls into the
generic case.
* trunk/icecast/src/admin.c: missing test from a previous patch,
the running check needs to apply as well
* trunk/icecast/src/format_mp3.c: prevent updated metadata being
passed to listeners when the text hasn't actually changed
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/connection.c,
trunk/icecast/src/source.c, trunk/icecast/src/yp.c,
trunk/icecast/web/status.xsl: add <shoutcast-mount>. drop the
hardcoded mountpoint hacks for NSV
* trunk/icecast/src/fserve.c: pass the fserve_t not the client_t
* trunk/icecast/src/fserve.c: need to fail properly
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/format_vorbis.c,
trunk/icecast/src/logging.c, trunk/icecast/src/logging.h,
trunk/icecast/src/main.c: this patch adds a playlist log to
icecast. This can be used to maintain an audit trail of metadata
that comes through icecast. The format of the log file may be
changed in the future as we decide on a good format.
* trunk/icecast/src/fserve.c: darn ansi C.....
* trunk/icecast/src/fserve.c: a few fixes from karl...
* trunk/icecast/src/fserve.c: should be a long long, instead of a
long
* trunk/icecast/src/fserve.c: much better support for the Range
request header, which means that seeking actually *works* now
for file serving.
* trunk/icecast/src/compat.h, trunk/icecast/src/fserve.c,
trunk/icecast/src/fserve.h: Use 64 bit content-length for
fileserving (if supported by system)
* trunk/icecast/conf/icecast_minimal.xml.in,
trunk/icecast/conf/icecast_shoutcast_compat.xml.in: ok, how
about I actually include these :)
* trunk/icecast/src/fserve.c, trunk/icecast/src/fserve.h: add
Content-Length to files served via the fserve to enable seeking
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
* trunk/icecast/conf/Makefile.am,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/connection.c,
trunk/icecast/src/format.c, trunk/icecast/src/format.h,
trunk/icecast/src/slave.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h, trunk/icecast/src/util.c,
trunk/icecast/src/util.h, trunk/icecast/src/yp.c,
trunk/icecast/web/status.xsl: * support for the Shoutcast DSP
(yay!). You can now use the Shoutcast DSP as a source client.
The connection protocol is a bit odd, and we had to handle it
separately, and thus we've added a new config option
(<shoutcast-compat>) that is set at the listener port level. *
support for NSV (and the nsvscsrc source client). After adding
support for the connection protocol of the shoutcast DSP, adding
NSV was just a simple of a few special handling cases. * removed
all traces of the earlier attempt at the shoutcast DSP
connection protocol * Due to the growing complexity of the
config files, I've also created a few alternate config files,
namely one for a "shoutcast compat" setup as well as a "minimal"
one for quick basic configurations.
* trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/manageauth.xsl,
trunk/icecast/admin/moveclients.xsl,
trunk/icecast/admin/stats.xsl, trunk/icecast/web/auth.xsl,
trunk/icecast/web/status.xsl: fixed a issue that is seen only
with the win32 build of icecast, and with no sources connected.
* trunk/icecast/NEWS: changed description of multi-level fallbacks
* trunk/icecast/ChangeLog, trunk/icecast/Makefile.am,
trunk/icecast/NEWS, trunk/icecast/configure.in,
trunk/icecast/icecast.spec, trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss: updated version tags to 2.1.0
- prepping for release
* trunk/icecast/src/format_mp3.c: added a content-length for
flash-based players. This will allow for them to stream mp3 from
icecast.
* trunk/icecast/src/fserve.c: add fallback mime type for css
* trunk/icecast/win32/icecast2.iss: typo..whoops
* trunk/icecast/win32/icecast2.iss: version bump for RC2
* trunk/icecast/configure.in, trunk/icecast/icecast.spec,
trunk/icecast/win32/icecast.dsp: version bump for RC2
* trunk/icecast/NEWS: added bit about multi-level fallbacks
* trunk/icecast/doc/icecast2_config_file.html: small doc update
* trunk/icecast/src/source.c, trunk/icecast/web/status.xsl: * fix
bug of not using url decoding value when processing audio_info
string * we now process server name and description if we are
not a public stream * Added quality to status.xsl
* trunk/icecast/ChangeLog, trunk/icecast/HACKING,
trunk/icecast/NEWS, trunk/icecast/TODO: Added a changelog (via
svn2cl) and updated NEWS....
* trunk/icecast/web/Makefile.am: forgot to add auth.xsl to the
automake Makefile
* trunk/icecast/src/connection.c, trunk/icecast/src/fserve.c,
trunk/icecast/src/stats.c, trunk/icecast/src/yp.c: correct type
for volatile usage and uncomment log message for stats updating
* trunk/icecast/src/slave.c: add volatile keywords to a few
variables reset max_interval back to 0 on slave initialization
* trunk/icecast/win32/Icecast2win.clw,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss: version bump
* trunk/icecast/src/connection.c: An alias could disappear from
under us, so copy the string
* trunk/icecast/src/connection.c: small updates. reject source
client with invalid mountpoint, avoid aliasing issues with queue
and id, and change handler to avoid leaving clients on the
connection queue (rare)
* trunk/icecast/src/format.h, trunk/icecast/src/source.c,
trunk/icecast/src/xslt.c, trunk/icecast/src/xslt.h: small
cleanups. fix buffer sizing, const and unused struct member
* trunk/icecast/doc/Makefile.am, trunk/icecast/doc/icecast2.chm:
CHM doesn't need to be versioned.
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/yp.c: avoid aliasing issues, and make sure
each server can take a seperate default interval as defined in
the xml
* trunk/icecast/src/source.c: the check for the public stream flag
wasn't working correctly in all cases
* trunk/icecast/doc/Makefile.am: missing
icecast2_listenerauth.html from Makefile.am
* trunk/icecast/src/source.c: add check for header when relaying
from v2.0
* trunk/icecast/src/logging.c: fix line endings...
* trunk/icecast/src/admin.c: a couple of potential bad pointer
type problems
* trunk/icecast/win32/Makefile.am: remove ResizableDialog[.cpp|.h]
from automake Makefile...
* trunk/icecast/win32/Icecast2win.dsp: removal of
ResizableDialog[.cpp|.h] from the project file.
* trunk/icecast/src/logging.c: Fix CLF on win32. Apparently,
windows doesn't support the %z flag of strftime() so we need to
roll our own...Buzilla Bug #509
* trunk/icecast/src/source.c, trunk/icecast/src/stats.c,
trunk/icecast/src/stats.h: The _inc/_dec routines can race
causing incorrect values as they don't account for unprocessed
stat events. Here I push the actual calculations to the stats
thread. The API is maintained however all stats for a specific
source can be dropped with one call now.
* trunk/icecast/src/fserve.c, trunk/icecast/src/fserve.h: fix a
busy CPU case when slow and fast file serving clients are
connected at the same time. Flag clients on return from
select/poll and only process those. Also fix a rare race which
could leave clients in pending
* trunk/icecast/src/slave.c, trunk/icecast/src/slave.h: When
starting relay threads, have the relay thread do the connection
not the slave thread. Also improve cleanup handling and log
messages as well
* trunk/icecast/win32/ConfigTab.cpp,
trunk/icecast/win32/Icecast2win.clw,
trunk/icecast/win32/Icecast2win.rc,
trunk/icecast/win32/Icecast2winDlg.cpp,
trunk/icecast/win32/Icecast2winDlg.h,
trunk/icecast/win32/ResizableDialog.cpp,
trunk/icecast/win32/ResizableDialog.h,
trunk/icecast/win32/StatsTab.cpp,
trunk/icecast/win32/Status.cpp,
trunk/icecast/win32/TabPageSSL.cpp,
trunk/icecast/win32/TabPageSSL.h, trunk/icecast/win32/black.bmp:
Remove ResizableDialog logic from the UI due to possible license
conflicts..
* trunk/icecast/win32/icecast.dsp: added HAVE_OLD_VSNPRINTF to
project options
* trunk/icecast/src/main.c: Correct a typo in one message, and
change "WARNING" to "ERROR" in another, since it's a fatal error.
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
* trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/manageauth.xsl,
trunk/icecast/admin/moveclients.xsl,
trunk/icecast/admin/response.xsl, trunk/icecast/admin/stats.xsl,
trunk/icecast/web/auth.xsl, trunk/icecast/web/status.xsl,
trunk/icecast/web/status2.xsl: property 'svn:executable' deleted
from *.xsl
2004-10-07 22:19 j
* trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/manageauth.xsl,
trunk/icecast/admin/moveclients.xsl,
trunk/icecast/admin/response.xsl, trunk/icecast/admin/stats.xsl,
trunk/icecast/web/auth.xsl,
trunk/icecast/web/corner_bottomleft.jpg,
trunk/icecast/web/corner_bottomright.jpg,
trunk/icecast/web/corner_topleft.jpg,
trunk/icecast/web/corner_topright.jpg,
trunk/icecast/web/icecast.png, trunk/icecast/web/key.gif,
trunk/icecast/web/status.xsl, trunk/icecast/web/status2.xsl,
trunk/icecast/web/style.css: update admin interface to use xhtml
2004-10-05 00:25 msmith
* trunk/icecast/doc/icecast2_admin.html: Fix up a formatting
problem, make it clear that this sentence is talking about HTTP
authentication.
2004-10-05 00:24 msmith
* trunk/icecast/doc/icecast2_admin.html: Docs said admin
username/password is required for all admin functionality. Fix
to state that for mount-specific admin, you can use this OR the
mount username/password.
2004-10-01 00:47 msmith
* trunk/icecast/doc/icecast2_config_file.html: .. And fix more
instances of missing / on mountpoints
2004-10-01 00:42 msmith
* trunk/icecast/src/source.c: When creating a source (in
source_reserve), issue a warning if the mountpoint does not
start with a /, since clients will then be unable to connect to
it
2004-10-01 00:39 msmith
* trunk/icecast/doc/icecast2_config_file.html: Correct two
examples to use a leading slash for a mountpoint name
2004-09-18 21:01 j
* trunk/icecast/doc/icecast2_admin.html,
trunk/icecast/doc/icecast2_basicsetup.html,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/doc/icecast2_faq.html,
trunk/icecast/doc/icecast2_glossary.html,
trunk/icecast/doc/icecast2_introduction.html,
trunk/icecast/doc/icecast2_listenerauth.html,
trunk/icecast/doc/icecast2_relay.html,
trunk/icecast/doc/icecast2_stats.html,
trunk/icecast/doc/icecast2_win32.html,
trunk/icecast/doc/icecast2_yp.html,
trunk/icecast/doc/index.html,
trunk/icecast/doc/index_win32.html,
trunk/icecast/doc/win32_section1.html,
trunk/icecast/doc/win32_section3.html: This Page Tentatively
Validates As XHTML 1.0 Strict (Tentatively Valid)!
2004-09-18 20:14 j
* trunk/icecast/doc/icecast2_admin.html,
trunk/icecast/doc/icecast2_basicsetup.html,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/doc/icecast2_faq.html,
trunk/icecast/doc/icecast2_glossary.html,
trunk/icecast/doc/icecast2_introduction.html,
trunk/icecast/doc/icecast2_listenerauth.html,
trunk/icecast/doc/icecast2_relay.html,
trunk/icecast/doc/icecast2_stats.html,
trunk/icecast/doc/icecast2_win32.html,
trunk/icecast/doc/icecast2_yp.html,
trunk/icecast/doc/index.html,
trunk/icecast/doc/index_win32.html, trunk/icecast/doc/style.css,
trunk/icecast/doc/win32_section1.html,
trunk/icecast/doc/win32_section2.html,
trunk/icecast/doc/win32_section3.html: replace table with hr+css
2004-09-18 16:50 j
* trunk/icecast/doc/icecast2_basicsetup.html,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/doc/icecast2_introduction.html,
trunk/icecast/doc/win32_section1.html: - more xhtmlification of
the icecast docs
2004-09-18 14:31 j
* trunk/icecast/doc/icecast2_admin.html,
trunk/icecast/doc/icecast2_basicsetup.html,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/doc/icecast2_faq.html,
trunk/icecast/doc/icecast2_glossary.html,
trunk/icecast/doc/icecast2_introduction.html,
trunk/icecast/doc/icecast2_listenerauth.html,
trunk/icecast/doc/icecast2_relay.html,
trunk/icecast/doc/icecast2_stats.html,
trunk/icecast/doc/icecast2_win32.html,
trunk/icecast/doc/icecast2_yp.html,
trunk/icecast/doc/index.html,
trunk/icecast/doc/index_win32.html, trunk/icecast/doc/style.css,
trunk/icecast/doc/win32_section1.html,
trunk/icecast/doc/win32_section2.html,
trunk/icecast/doc/win32_section3.html: - convert icecast
documentation to xhtml - clean up html code - sync index.html
with README
2004-09-15 14:21 karl
* trunk/icecast/src/yp.c: the YP code could end up maintaining
duplicate entries if the source reconnect delay is very short.
2004-08-23 19:01 karl
* trunk/icecast/src/client.c: passed pointer could be NULL
2004-08-22 15:00 karl
* trunk/icecast/conf/icecast.xml.in, trunk/icecast/src/source.h:
add optional tags to example xml and remove unused source_t item
* trunk/icecast/src/slave.c, trunk/icecast/src/yp.h: Add a couple
of warnings, YP code not built and failed streamlist from master
server
* trunk/icecast/src/util.c: unlikely to occur race, but fix it
anyway
* trunk/icecast/src/source.c: small memory leak, only happened
when a source exited
* trunk/icecast/src/event.c, trunk/icecast/src/logging.c,
trunk/icecast/src/logging.h: make caller of restart_logging pass
the config, don't assume it's locked
* trunk/icecast/configure.in: update version, this isn't the
offical release
* trunk/icecast/doc/icecast2_config_file.html: add burst-size,
fallback-override tags and descriptions, add missing / in end
tags
* trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/client.c,
trunk/icecast/src/client.h, trunk/icecast/src/connection.c,
trunk/icecast/src/format.c, trunk/icecast/src/format.h,
trunk/icecast/src/format_mp3.c, trunk/icecast/src/format_mp3.h,
trunk/icecast/src/format_vorbis.c,
trunk/icecast/src/format_vorbis.h, trunk/icecast/src/refbuf.c,
trunk/icecast/src/refbuf.h, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: merged singleq branch 7177:7591
* trunk/icecast/src/main.c: -b was broken. Fix it.
* trunk/icecast/src/stats.c: encode any xml entities in the stats
before applying them to the xsl pages
* trunk/icecast/src/connection.c: fix m3u generation logic that
was not working for static files
* trunk/icecast/src/main.c: Make it even more explicit what went
wrong when log opening failed, since many people don't seem to
be able to figure it out.
* trunk/icecast/doc/icecast2_admin.html: Documentation patch from
Myke Place...
* trunk/icecast/src/cfgfile.c: forgot to switch the default value
too..thanks Brendan..
* trunk/icecast/conf/icecast.xml.in: enable burst on connect by
default per jack.
* trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/format.c, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/fserve.c, trunk/icecast/src/source.c: cleanup
patch, push per client write error trap lower down
* trunk/icecast/src/format_mp3.c: Add source comment to previous
metadata bug fix: [sic]
* trunk/icecast, trunk/icecast/.cvsignore, trunk/icecast/admin,
trunk/icecast/admin/.cvsignore, trunk/icecast/conf,
trunk/icecast/conf/.cvsignore, trunk/icecast/debian,
trunk/icecast/debian/.cvsignore, trunk/icecast/doc,
trunk/icecast/doc/.cvsignore, trunk/icecast/src,
trunk/icecast/src/.cvsignore, trunk/icecast/web,
trunk/icecast/web/.cvsignore, trunk/icecast/win32,
trunk/icecast/win32/.cvsignore, trunk/icecast/win32/res,
trunk/icecast/win32/res/.cvsignore: Migrate .cvsignore to
svn:ignore
* trunk/icecast/src/format_mp3.c: The inline metadata text was
losing the final character when the string length was a multiple
of 16.
* trunk/icecast: Add svn:externals for shared modules
* trunk/icecast/src/yp.c: wait 5 mins on failed YP request, also
log a default message if no error message is sent back
* trunk/icecast/src/source.c: Recommit of changes lost in the
server migration Original commit (r6810) 2004-06-04 03:15:36
-0400 (Fri, 04 Jun 2004) by msmith. Fix #526. Fallbacks weren't
being found when the primary was disconnected (for
newly-connecting clients).
* trunk/icecast/src/yp.c: make sure YP entries are flushed out
when a source stops. Avoid segv on failed icecast startup and
add some log messages.
* trunk/icecast/src/yp.c, trunk/icecast/win32/icecast.dsp: remove
geturl.c from icecast.dsp add a #define for snprintf for win32
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/doc/icecast2_listenerauth.html,
trunk/icecast/src/auth.c, trunk/icecast/src/auth.h,
trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/connection.c: added ability to disallow
concurrent connections from the same username if using htpasswd
listener authentication.
* trunk/icecast/src/format.c: Some servers apparently send a
Content-Type header of audio/x-mpeg. Make icecast understand
this.
* trunk/icecast/configure.in, trunk/icecast/src/Makefile.am,
trunk/icecast/src/admin.c, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/geturl.c,
trunk/icecast/src/geturl.h, trunk/icecast/src/main.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h,
trunk/icecast/src/yp.c, trunk/icecast/src/yp.h: Update of the YP
code. This should resolve several YP issues that have been
reported, the main one being icecast instability when there is a
YP server outage.
* trunk/icecast/src/auth.c: Use remove() then rename() only on
win32 - where it's required. Don't use it on unix systems, which
don't need it, and where doing _only_ rename() preserves
atomicity.
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2.hhc,
trunk/icecast/doc/icecast2_listenerauth.html,
trunk/icecast/doc/index.html,
trunk/icecast/doc/listener_auth1.jpg,
trunk/icecast/doc/listener_auth2.jpg,
trunk/icecast/doc/listener_auth3.jpg: much better documentation
of listener authentication
* trunk/icecast/src/auth.c: some special handling with rename()
needed for win32
* trunk/icecast/src/admin.c: proper config file handling...
* trunk/icecast/src/format.c: patch to allow public listing of
shoutcast servers that are relaying icecast streams
* trunk/icecast/src/admin.c, trunk/icecast/web/auth.xsl,
trunk/icecast/web/status.xsl: created an auth page which can be
used to serve appropriate m3u's which contain authentication
information.
* trunk/icecast/admin/manageauth.xsl, trunk/icecast/web/key.gif:
new files
* trunk/icecast/admin/Makefile.am,
trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/stats.xsl,
trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/admin.c, trunk/icecast/src/auth.c,
trunk/icecast/src/auth.h, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/source.c, trunk/icecast/web/Makefile.am,
trunk/icecast/win32/icecast2.iss: added web based interface to
htpasswd client authentication
* trunk/icecast/conf/icecast.xml.in, trunk/icecast/src/cfgfile.c:
Disable burst-on-connect by default
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/refbuf.c,
trunk/icecast/src/refbuf.h, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: new feature in icecast :
burst-on-connect - allows an initial burst of data to connecting
listeners, thus reducing the startup time of a stream.
* trunk/icecast/conf/icecast.xml.in: added small comment about
<hostname>
* trunk/icecast/src/source.c, trunk/icecast/win32/icecast.dsp:
added HAVE_LOCALTIME_R to project file added #define for
snprintf (win32 requires _snprintf)
* trunk/icecast/src/client.c: Fix copy/paste error in sending 400
errors (reported by wayne zhao).
* trunk/icecast/src/util.c: Fix overflow when base64 decoding
invalid base64.
* trunk/icecast/src/main.c: Give details in error messages on
failure to open log files.
* trunk/icecast/web/status.xsl: Fix to default status.xsl: we were
looking for server_url as an attribute rather than an element
incorrectly in one place, this fixes it so that the link is
correct. Patch from Dave St John.
* trunk/icecast: externals can't use relative URLs. Just check out
the modules yourself for now...
* trunk/icecast: Let's see if svn:externals works with relative
paths
* trunk/icecast/TODO: Remove obsolete bits from TODO
* trunk/icecast/src/main.c: Make icecast keep parsing command line
options after -c. Error message if fork fails. All untested; the
conversion broke the build.
* icecast, trunk/icecast: regularize repository layout
* icecast, trunk: regularize repository layout
* trunk, trunk/icecast: move the icecast source tree to the
icecast project directory
* trunk/icecast/src/main.c: Another patch from Dale Ghent, this
silences some warnings from the compiler.
* trunk/icecast/src/md5.h: Revert previous; this was fixed in a
better way.
* trunk/icecast/src/md5.h: Use sys/types.h in md5.c, patch from
Dale Ghent
* trunk/icecast/src/compat.h: Include inttypes.h from the
compatibility header if it's available and stdint.h is not. This
provides the stdint types on solaris and a number of other
non-C99 platforms.
* trunk/icecast/configure.in, trunk/icecast/src/source.c: Couple
of minor contributed patches. - Solaris/autoconf nanosleep
checking - use time_t as appropriate for yp
* trunk/icecast/src/md5.c: Oops. Hack up the macro some more so it
compiles properly.
* trunk/icecast/src/md5.c: Fix macro to use ; instead of , This
gets rid of some warnings in later gcc versions.
* trunk/icecast/src/admin.c: remove warning wrt time_t
* trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/format_mp3.c: free up any per-client format
specific resources, fixes a small memory leak with mp3 streams
* trunk/icecast/src/cfgfile.h, trunk/icecast/src/connection.c,
trunk/icecast/src/slave.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: update move clients code, small
cleanups in other places
* trunk/icecast/src/source.c, trunk/icecast/src/source.h: separate
source initialisation, and collect the YP setup code into one
area
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/connection.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: Add per mount queue size and source
timeout, which can override the general settings.
* trunk/icecast/src/admin.c, trunk/icecast/src/format.h,
trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_vorbis.c: revert previous patch, mike
didn't want it...
* trunk/icecast/src/admin.c: add missing lock on source tree
* trunk/icecast/src/format.h, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_vorbis.c: send mp3 url metadata into a
format specific routine
* trunk/icecast/src/admin.c: *** empty log message ***
* trunk/icecast/src/connection.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: move the source client '200 OK'
response to the source client specific part of the source
thread, and rearrange stats around that
* trunk/icecast/Makefile.am: Add target for building icecast
against static libs only
* trunk/icecast/src/main.c: small cleanup and don't shutdown curl
too early
* trunk/icecast/src/admin.c, trunk/icecast/src/connection.c,
trunk/icecast/src/slave.c, trunk/icecast/src/source.c: Add
accumulative stats back for source connections and don't hold
locks while writing responses back to the client.
* trunk/icecast/src/stats.c: Oops. As oddsock says, this was
broken, and didn't compile, and was unneccesary anyway. reverted.
* trunk/icecast/src/stats.c: Patch for preventing stats from
staying around too long - stats thread should only go to sleep
when it has nothing to do.
* trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/source.c, trunk/icecast/src/source.h: Make
source client connections reserve the source mountpoint and get
rid of the unused source setup code.
* trunk/icecast/src/cfgfile.h, trunk/icecast/src/connection.c,
trunk/icecast/src/global.c, trunk/icecast/src/global.h,
trunk/icecast/src/slave.c, trunk/icecast/src/slave.h,
trunk/icecast/src/source.c: Make the slave thread reserve relay
mountpoints, and prevent reconnection when a relay is currently
active.
* trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/source.c, trunk/icecast/src/source.h:
functions to allow for reserving a source_t with a mountpoint
* trunk/icecast/src/admin.c, trunk/icecast/src/connection.c,
trunk/icecast/src/yp.c: Add checks for whether a source is active
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/source.c: small
YP memory cleanup
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/source.c: minor
cleanup
* trunk/icecast/src/source.c: fix possible bad pointer reference
when finding fallback mount
* trunk/icecast/src/geturl.c, trunk/icecast/src/source.c,
trunk/icecast/src/yp.c: YP related cleanup, avoid bad pointer
reference on HUP
* trunk/icecast/src/format_mp3.c: I Hate String Handling In C.
* trunk/icecast/src/format_mp3.c: Another fix: the length of the
_string_ is not the same as the metadata length (the metadata is
null-padded out to a multiple of 16 bytes), so we have to deal
with that.
* trunk/icecast/src/format_mp3.c: Oops. Fix null-terminator.
* trunk/icecast/src/admin.c, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_mp3.h: Fire off stats event for
metadata updates when we get metadata inline. This fixes
stats.xml listings for mp3 slave relays with metadata. We get
rid of 'metadata_raw', since we now have to format out that
stuff anyway.
* trunk/icecast/admin/listclients.xsl: fixed a title
* trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/moveclients.xsl,
trunk/icecast/admin/response.xsl, trunk/icecast/admin/stats.xsl,
trunk/icecast/web/Makefile.am,
trunk/icecast/web/corner_bottomleft.jpg,
trunk/icecast/web/corner_bottomright.jpg,
trunk/icecast/web/corner_topleft.jpg,
trunk/icecast/web/corner_topright.jpg,
trunk/icecast/web/icecast.png, trunk/icecast/web/status.xsl,
trunk/icecast/web/style.css: after way too long with an ugly
admin interface, lets go with a
slightly-less-ugly-admin-interface-that-is-at-least-similar-to-the-website.
* trunk/icecast/src/admin.c, trunk/icecast/src/client.c: minor
cleanup
* trunk/icecast/src/format.c, trunk/icecast/src/format_mp3.c:
cleanup headers sent to listeners
* trunk/icecast/src/event.c, trunk/icecast/src/slave.c,
trunk/icecast/src/slave.h: recheck the relays after the HUP has
been handled
* trunk/icecast/configure.in, trunk/icecast/src/connection.c:
minor cleanup
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
* trunk/icecast/src/admin.c, trunk/icecast/src/connection.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h: cleanup
duplicate work, fix rare but potential deadlock, and fix silly
bug introduced ealrier
2004-01-29 01:02 msmith
* trunk/icecast/README: Note GPL license in readme file.
* trunk/httpp/httpp.c, trunk/httpp/httpp.h,
trunk/icecast/src/admin.c, trunk/icecast/src/admin.h,
trunk/icecast/src/auth.c, trunk/icecast/src/auth.h,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/compat.h, trunk/icecast/src/configtest.c,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/event.c, trunk/icecast/src/event.h,
trunk/icecast/src/format.c, trunk/icecast/src/format.h,
trunk/icecast/src/format_mp3.c, trunk/icecast/src/format_mp3.h,
trunk/icecast/src/format_vorbis.c,
trunk/icecast/src/format_vorbis.h, trunk/icecast/src/fserve.c,
trunk/icecast/src/fserve.h, trunk/icecast/src/geturl.c,
trunk/icecast/src/geturl.h, trunk/icecast/src/global.c,
trunk/icecast/src/global.h, trunk/icecast/src/logging.c,
trunk/icecast/src/logging.h, trunk/icecast/src/main.c,
trunk/icecast/src/md5.c, trunk/icecast/src/md5.h,
trunk/icecast/src/os.h, trunk/icecast/src/refbuf.c,
trunk/icecast/src/refbuf.h, trunk/icecast/src/sighandler.c,
trunk/icecast/src/sighandler.h, trunk/icecast/src/slave.c,
trunk/icecast/src/slave.h, trunk/icecast/src/source.c,
trunk/icecast/src/source.h, trunk/icecast/src/stats.c,
trunk/icecast/src/stats.h, trunk/icecast/src/util.c,
trunk/icecast/src/util.h, trunk/icecast/src/xslt.c,
trunk/icecast/src/xslt.h, trunk/icecast/src/yp.c,
trunk/icecast/src/yp.h, trunk/log/log.c, trunk/log/log.h,
trunk/timing/timing.c, trunk/timing/timing.h: Add Copyright
notice to each source file, as requested by debian.
* trunk/icecast/src/main.c: change thread startup/shutdown order
slightly wrt to slave thread
* trunk/icecast/src/admin.c: oops, missed these from previous
commit, the lock is now taken further up
* trunk/icecast/src/admin.c: make sure the source doesn't
disappear from under us when an admin request is performed.
* trunk/avl/avl.c, trunk/icecast/src/logging.c,
trunk/icecast/src/os.h, trunk/icecast/src/stats.c,
trunk/thread/thread.c: minor cleanups, and only have one thread
responding to TERM
* trunk/icecast/src/event.c, trunk/icecast/src/yp.c,
trunk/icecast/src/yp.h: fix potential deadlock case at source
stream startup
* trunk/icecast/configure.in, trunk/icecast/src/util.c,
trunk/icecast/src/util.h: add localtime_r checks, useful the
threads
* trunk/icecast/src/source.c: fixed small bug where if using
fallbacks and the main mount was not connected, icecast was not
connecting client to the fallback mount.
* trunk/icecast/src/fserve.c: Fix nasty bug in file serving code,
would probably have made it fail with multiple simultaneous
requests.
* trunk/icecast/src/source.c: - properly initialize the authorizer
structure, otherwise by default it is enabled - add new element
(listenurl) to the stats for use in things like java player
applets
* trunk/icecast/src/auth.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/win32/Icecast2win.clw,
trunk/icecast/win32/icecast.dsp: fixed some variable definitions
to be ANSI compatable. updated win32 project files with new files
* trunk/icecast/src/Makefile.am, trunk/icecast/src/admin.c,
trunk/icecast/src/auth.c, trunk/icecast/src/auth.h,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/client.c, trunk/icecast/src/client.h,
trunk/icecast/src/compat.h, trunk/icecast/src/connection.c,
trunk/icecast/src/connection.h,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/md5.c,
trunk/icecast/src/md5.h, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h,
trunk/icecast/src/util.c, trunk/icecast/src/util.h: Client
authentication added. Melanie's multilevel fallbacks added
(after major changes).
* trunk/icecast/Makefile.am: add icecast.spec to the list of
distributed files
* trunk/icecast/README: fix reference to index document
* trunk/icecast/conf/icecast.xml.in: commented out mount specific
settings as they are optional and tend to cause confusion
* trunk/icecast/configure.in: version bump for 2.0.0 release
* trunk/icecast/win32/icecast2logo2.bmp: new logo :)
* trunk/icecast/conf/icecast.xml.in: removed yp.icecast.net from
the config..apparently, they are no longer running a YP..
* trunk/icecast/doc/icecast2.hhp,
trunk/icecast/doc/icecast2_faq.html: more doc updates
* trunk/icecast/doc/icecast2.hhc, trunk/icecast/doc/icecast2.hhp:
update HTML help files with new index
* trunk/icecast/win32/Icecast2win.clw,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss,
trunk/icecast/win32/icecast2_console.dsp: version tag updates
for pending 2.0.0 release
* trunk/icecast/doc/Makefile.am,
trunk/icecast/doc/icecast2_TOC.html,
trunk/icecast/doc/index.html, trunk/icecast/doc/style.css: Misc
documentation updates
* trunk/icecast/icecast.spec: config file now goes to /etc...
* trunk/icecast/icecast.spec: spec file for RPMs
* trunk/icecast/win32/Makefile.am: add icecast_console project
files to the Makefile.am
* trunk/icecast/win32/Icecast2win.clw,
trunk/icecast/win32/Icecast2winDlg.cpp,
trunk/icecast/win32/StatsTab.cpp: Fixed some peculiarities when
shutting down server...
* trunk/icecast/doc/icecast2_admin.html: minor documentation fix
* trunk/icecast/win32/Icecast2win.dsp,
trunk/icecast/win32/Icecast2win.dsw,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2_console.dsp,
trunk/icecast/win32/icecast2_console.dsw: re-add these as
binary, hopefully fixing the line ending problem when doing a
make dist...
* trunk/icecast/win32/Icecast2win.dsp,
trunk/icecast/win32/Icecast2win.dsw,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2_console.dsp,
trunk/icecast/win32/icecast2_console.dsw: Remove the VC project
files and re-add them as binary (-kb)
* trunk/icecast/win32/icecast.dsp: fixed VERSION STRING define
* trunk/icecast/src/main.c: add option to display icecast version
string, and cleaned up usage a bit..
* trunk/icecast/TODO: update the TODO
* trunk/icecast/AUTHORS, trunk/icecast/README: added Karl to
AUTHORS updated the README with more detailed information...
* trunk/icecast/src/slave.c: Fetching the stream list was failing
after the config file was re-read.
* trunk/icecast/src/source.c: failure case, keep the source count
in sync with the number of sources running, locking for shutdown
was also affected.
* trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss: update version for win32 build
* trunk/icecast/README, trunk/icecast/configure.in: version bump
* trunk/icecast/src/admin.c, trunk/icecast/src/cfgfile.c,
trunk/icecast/src/cfgfile.h, trunk/icecast/src/connection.c,
trunk/icecast/src/slave.c: fixed master-slave relaying... *
slaves now ask for /admin/streamlist.txt which serves a
plaintext version of the source list (this is what it was
expecting to get) * /admin/streamlist still serves XML (which
slave.c wasn't expecting) * fixed a few cases of pointer
invalidation due to possible config re-reading. * slave relay
now uses relay password to get the list of streams to relay
* trunk/icecast/conf/icecast.xml.in: disable pidfile by default
* trunk/icecast/README, trunk/icecast/configure.in: version bump
* trunk/icecast/doc/icecast2.chm,
trunk/icecast/win32/Icecast2winDlg.cpp,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss: Rewrite of the method of
gathering stats from the icecast core engine. The old way was
causing a bunch of instability issues...they have now been fixed
:). Also regenerated the icecast2 docs
* trunk/icecast/src/stats.c: Remove stats_callback() which is only
used by the win32 UI...The stats gathering done by the UI has
been completely rewritten to eliminate some reported instability.
* trunk/icecast/src/main.c: Added win32 include for getpid()
* trunk/icecast/src/logging.h: get rid of the fullpath of the
module that is logged...Stupid VC6....
* trunk/icecast/src/source.c: fix segv when fallback or
dumpfilename are not specified
* trunk/icecast/conf/icecast.xml.in,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/main.c: Add optional pidfile. Writes process
id of icecast to named file
* trunk/icecast/src/connection.c, trunk/icecast/src/source.c:
cleanup bad pointer access after config re-read
* trunk/icecast/win32/Icecast2win.clw,
trunk/icecast/win32/icecast.dsp: added VERSION_STRING to defines
for win32 project
* trunk/icecast/src/global.h: Base ICECAST2_VERSION_STRING off
VERSION_STRING which is generated by autoconf..win32 projects
will have to manually define this currently..blah.
* trunk/icecast/src/global.h: lets make the ICECAST_VERSION_STRING
a bit less of a maintance issue...
* trunk/icecast/win32/Icecast2win.dsp,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2_console.dsp: Update the project
files to use the ogg vorbis SDK 1.0.1
* trunk/icecast/doc/icecast2.chm: Final build of the docs for beta1
* trunk/icecast/doc/icecast2_win32.html: Oddsock gets props for
the docs
* trunk/icecast/doc/icecast2_relay.html,
trunk/icecast/doc/icecast2_yp.html: going and going...
* trunk/icecast/doc/icecast2_stats.html: Weee~
* trunk/icecast/doc/icecast2_admin.html: A few more.
* trunk/icecast/doc/icecast2_config_file.html: Config doc luv.
* trunk/icecast/doc/icecast2_basicsetup.html: np: Beatles - Helter
Skelter.ogg (aka some cleanups)
* trunk/icecast/doc/icecast2_introduction.html: Nothing but the
best!
* trunk/icecast/doc/icecast2.chm, trunk/icecast/doc/icecast2.hhp:
fix the default window size of the CHM
* trunk/icecast/doc/style.css: minor style tweaks from Mike...
* trunk/icecast/src/cfgfile.c: if relay is for an mp3 stream, then
get inline metadata by default if possible
* trunk/icecast/src/cfgfile.c: fix minor leak on config file read
* trunk/icecast/autogen.sh, trunk/m4/xiph_net.m4: minor cleanup
* trunk/icecast/win32/Icecast2winDlg.cpp: Get rid of version in
the window title...
* trunk/icecast/doc/icecast2_stats.html: Slight cosmetic fixes to
the icecast2 docs
* trunk/icecast/win32/icecast2.iss: version bump
* trunk/icecast/doc/icecast2.chm: rebuild of compiled html help
* trunk/icecast/README: (a bit) More appropriate README
* trunk/icecast/src/format_mp3.c: added WIN32-ism
* trunk/icecast/src/yp.c: type warning cleanup
* trunk/icecast/doc/Makefile.am: Whoops, put manual back in dist.
I would have caught this at home if I could make dist, but HFS+
case-preserving/insensitive FS causes make dist to fail in the
debian directory. Automake sees changelog, thinks it is
ChangeLog, and adds it to make dist automatically, but then make
can't find ChangeLog because it is actually changelog. Grr.
* trunk/icecast/doc/Makefile.am: make install installs manual in
$prefix/share/doc/icecast
* trunk/icecast/doc/Makefile.am: Add docs to dist tarball. Next
step: install docs in the right place.
* trunk/icecast/doc/icecast2.chm, trunk/icecast/doc/icecast2.hhc,
trunk/icecast/doc/icecast2.hhp,
trunk/icecast/doc/icecast2_TOC.html,
trunk/icecast/doc/icecast2_admin.html,
trunk/icecast/doc/icecast2_basicsetup.html,
trunk/icecast/doc/icecast2_config_file.html,
trunk/icecast/doc/icecast2_faq.html,
trunk/icecast/doc/icecast2_glossary.html,
trunk/icecast/doc/icecast2_introduction.html,
trunk/icecast/doc/icecast2_relay.html,
trunk/icecast/doc/icecast2_stats.html,
trunk/icecast/doc/icecast2_win32.html,
trunk/icecast/doc/icecast2_yp.html,
trunk/icecast/doc/stats1.jpg, trunk/icecast/doc/style.css,
trunk/icecast/doc/windowtitle.jpg: icecast2 documentation. need
I say more ?
* trunk/icecast/src/format_mp3.c: While tracking down the bug
which causes the zombie thread manager while streaming mp3 with
metadata, this patch has turned out to be successful at
maintaining a working icecast for the few users who have
reported the problem The patch essentially removes the use of
the alloca and uses the malloc-type calls instead.
* trunk/icecast/win32/icecast2.iss: bumped version
* trunk/icecast/win32/Icecast2winDlg.cpp: fixed some display bugs
when showing stats
* trunk/icecast/src/stats.c: added bypassing of thread_sleep() in
certain cases. this came from KarlH.
* trunk/icecast/conf/icecast.xml.in: removed unused tags and added
the XIPH directory
* trunk/icecast/README: The developer irc channel is back on
freenode.
* trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss,
trunk/icecast/win32/icecast2_console.dsp,
trunk/icecast/win32/icecast2_console.dsw: * clean up of ctrl-Ms
(I hate MSVC sometimes) and bump of version in the setup script
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
* trunk/icecast/Makefile.am, trunk/icecast/configure.in,
trunk/icecast/debian, trunk/icecast/debian/.cvsignore,
trunk/icecast/debian/Makefile.am,
trunk/icecast/debian/README.Debian,
trunk/icecast/debian/changelog, trunk/icecast/debian/compat,
trunk/icecast/debian/control, trunk/icecast/debian/copyright,
trunk/icecast/debian/icecast2.1,
trunk/icecast/debian/icecast2.default,
trunk/icecast/debian/icecast2.init,
trunk/icecast/debian/icecast2.manpages,
trunk/icecast/debian/icecast2.postinst,
trunk/icecast/debian/icecast2.postrm,
trunk/icecast/debian/icecast2.preinst,
trunk/icecast/debian/rules, trunk/icecast/debian/watch,
trunk/ices/Makefile.am, trunk/ices/configure.in,
trunk/ices/debian, trunk/ices/debian/.cvsignore,
trunk/ices/debian/Makefile.am, trunk/ices/debian/changelog,
trunk/ices/debian/compat, trunk/ices/debian/control,
trunk/ices/debian/copyright, trunk/ices/debian/ices2.1,
trunk/ices/debian/rules, trunk/ices/debian/watch: Added Debian
packaging
* trunk/icecast/autogen.sh, trunk/ices/autogen.sh,
trunk/libshout/autogen.sh: fix issues with non-portable echo
flags and re-do the tests for automake version checking. The
enrironment var AUTOMAKE can be used to indicate the first one
to check for
* trunk/icecast/src/Makefile.am: We need to state both of these to
get the dependencies and linking working as expected.
* trunk/icecast/src/Makefile.am, trunk/m4/xiph_curl.m4: remove
unwanted bits left in from previous commits
2003-07-25 14:29 karl
* trunk/icecast/src/connection.c, trunk/icecast/src/global.h,
trunk/icecast/src/sighandler.c: place the config reread flag in
the global structure
2003-07-24 23:45 karl
* trunk/icecast/src/connection.c, trunk/icecast/src/sighandler.c,
trunk/icecast/src/sighandler.h: avoid hitting the mutex's in the
signal handler, we could block, which is not something we want
to do. Some mutex implementations are signal based.
* trunk/icecast/configure.in, trunk/icecast/src/admin.c,
trunk/icecast/src/fserve.c, trunk/icecast/src/main.c,
trunk/icecast/src/source.c, trunk/icecast/src/stats.c,
trunk/icecast/src/yp.c: minor fixes. autoconf/make init clenaup,
missing includes added and compiler warnings removed
* trunk/icecast/Makefile.am: Let aclocal know about m4 directory
* trunk/icecast/configure.in, trunk/icecast/src/main.c: use
_GNU_SOURCE where possible guard unistd.h with CHROOT rather
than HAVE_UNISTD_H, since that's how it's tested in configure.in
* trunk/icecast/src/format_mp3.c, trunk/icecast/src/main.c,
trunk/icecast/src/xslt.c: Mike's #include patch
* trunk/icecast/configure.in, trunk/m4/xiph_curl.m4: remove
duplication for compiler flags, and fixup curl detection
* trunk/icecast/conf/Makefile.am, trunk/icecast/src/cfgfile.h,
trunk/icecast/src/connection.c, trunk/icecast/src/format.c,
trunk/icecast/src/format_mp3.c: minor cleanups
* trunk/icecast/Makefile.am, trunk/icecast/acconfig.h,
trunk/icecast/acinclude.m4, trunk/icecast/autogen.sh,
trunk/icecast/configure.in, trunk/icecast/src/Makefile.am,
trunk/icecast/src/config.c, trunk/icecast/src/config.h: Make
icecast use the shared M4 macros. Cleanup the other files.
* trunk/icecast/src/admin.c, trunk/icecast/src/client.c,
trunk/icecast/src/configtest.c, trunk/icecast/src/connection.c,
trunk/icecast/src/event.c, trunk/icecast/src/format.c,
trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/fserve.c,
trunk/icecast/src/geturl.c, trunk/icecast/src/global.c,
trunk/icecast/src/logging.c, trunk/icecast/src/main.c,
trunk/icecast/src/refbuf.c, trunk/icecast/src/sighandler.c,
trunk/icecast/src/slave.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h, trunk/icecast/src/stats.c,
trunk/icecast/src/util.c, trunk/icecast/src/xslt.c,
trunk/icecast/src/yp.c: refer to cfgfile.h instead of config.h
for icecast.xml, and use config.h for autoconf
* trunk/icecast/src/cfgfile.c, trunk/icecast/src/cfgfile.h: a move
over from config.c config.h. This is so that config.h can be
built by autoconf. config.h is also the name expected by the
convenience libs
* trunk/icecast/src/config.c: The xml cleanup occurs after this
anyway, and doing this here can cause bad things to occur when
xslt gets used.
* trunk/icecast/src/Makefile.am, trunk/icecast/src/client.c,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/format.c, trunk/icecast/src/format.h,
trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/fserve.c,
trunk/icecast/src/global.c, trunk/icecast/src/logging.c,
trunk/icecast/src/logging.h, trunk/icecast/src/main.c,
trunk/icecast/src/sighandler.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/stats.h,
trunk/icecast/src/util.c, trunk/icecast/src/xslt.c,
trunk/icecast/src/xslt.h: avoid header namespace clashes
* trunk/icecast/src/event.c, trunk/icecast/src/logging.c,
trunk/icecast/src/logging.h: Add log cycling on HUP signals.
Currently reopens log files in append mode so allows for
continuing the log, or cycling just one log. log filename
changes work as well.
* trunk/icecast/src/source.c: don't terminate stream when debugging
* trunk/icecast/src/source.c: unused variable
* trunk/icecast/src/yp.c, trunk/icecast/src/yp.h: don't overwrite
info in one yp with info from another :)
* trunk/icecast/src/format_mp3.c: cleaned a bit
* trunk/icecast/src/format_mp3.c: win32 goodies
* trunk/icecast/src/format.c, trunk/icecast/src/format_mp3.c: Move
MP3 headers back into format_mp3.c per Mike's desire. I removed
icy- support from the generic send headers function, as it is my
understanding that only MP3 sources use icy headers. PLEASE
correct me if I am wrong. I also added code in the mp3 function
to convert ice-audio-info bitrate to an icy-br header.
ice-audio-info is for YP, icy-br for clients. Perhaps we should
send both to clients though?
* trunk/icecast/src/connection.c: Write a newline after the m3u
entry (patch by Paul Bryan).
* trunk/icecast/src/format.c: Convert ice headers to icy headers
for MP3 streams. TODO: rewrite ice-audio-info bitrate tag to
icy-br.
* trunk/icecast/src/format.c: When relaying MP3 we reported the
source metainterval as well as our own, causing stuttering in
some clients. Thank goodness icecast uses an odd metainterval,
or this bug would never have been discoverd :)
* trunk/icecast/src/yp.c: infinite loop/memory leak fix for
private streams when yp is enabled
* trunk/icecast/src/yp.c, trunk/icecast/src/yp.h: - add_yp_info
moved into yp.c - all yp adds/touches are now done within a
single thread. This should eliminate any "thread growth" issues
and make things behave much nicer when yp problems arise. We
should eventually change the add/touches to non-blocking
sockets, which will be needed for large numbers of streams doing
adds/touches.
* trunk/icecast/src/main.c: - added startup of yp add/touch thread
* trunk/icecast/src/stats.c: - fixed small memory leak
* trunk/icecast/src/source.c, trunk/icecast/src/source.h: - moved
add_yp_info into yp.c - most of the yp processing now moved into
the yp add/touch thread - use ice/icy-public rather than
ice/icy-private to coorespond to libshout and general convention
- memory leak fixed with audio-info
* trunk/icecast/src/format_vorbis.c: - force touches when vorbis
metadata changes
* trunk/icecast/src/admin.c: - force touches when mp3 metadata is
updated via admin interface
* trunk/icecast/src/connection.c: handle error returned from
listening sockets, can cause busy looping
* trunk/icecast/conf/Makefile.am,
trunk/icecast/conf/icecast.xml.in: Whoops! make install could
overwrite an existing icecast.xml. Install icecast.xml.dist in
doc Install as $(sysconfdir)/icecast.xml only if that file
doesn't already exist.
* trunk/icecast/Makefile.am, trunk/icecast/NEWS,
trunk/icecast/admin/Makefile.am, trunk/icecast/conf/Makefile.am,
trunk/icecast/conf/icecast.xml,
trunk/icecast/conf/icecast.xml.in,
trunk/icecast/web/Makefile.am: Fix critical TODO item 1 (make
install) ATTN Mike! make install now installs the xsl files in
pkgdatadir ($prefix/share/icecast) web and admin directories,
and builds icecast.xml accordingly. icecast.xml is now installed
in $sysconfdir/etc, and IMHO icecast should attempt to find a
config file there, and only demand one on the command line if it
can't.
* trunk/icecast/News: One half of rename to NEWS
* trunk/icecast/TODO: This critical item should be resolved.
* trunk/icecast/configure.in, trunk/ices/configure.in,
trunk/libshout/configure.in, trunk/net/sock.c, trunk/net/sock.h:
Another net change, making it more bullet-proof, before could
silently miss data. so now we allocate enough space for the
write to succeed fully.
* trunk/icecast/configure.in: coordinate IPv6 change with net
module
* trunk/icecast/src/connection.c: fixed check for regular file
type in win32-specific code
* trunk/icecast/conf/icecast.xml: spaces-only indentation for the
love of $
* trunk/icecast/admin/.cvsignore: *** empty log message ***
* trunk/icecast/configure.in, trunk/icecast/src/main.c,
trunk/icecast/src/source.c: Fix curl version test. YP is enabled
by default but automatically turned off if the curl test fails
(unless --enable-yp is explicitly passed to configure, in which
case configure will fail if the curl test fails).
* trunk/icecast/src/admin.c: Fix lots of warnings in new admin
stuff - primarily wrong types in printf format strings.
* trunk/icecast/configure.in: Check whether CURLOPT_NOSIGNAL is
available, or disable YP (hopefully).
* trunk/icecast/.cvsignore: More autoconf junk
* trunk/icecast/src/admin.c, trunk/icecast/src/config.c,
trunk/icecast/src/connection.c: some win32-isms and a bad free
that valgrind yelled at me about
* trunk/icecast/conf/icecast.xml: new config param <adminroot>
added yp.icecast.net as another possible yp directory
* trunk/icecast/Makefile.am, trunk/icecast/configure.in: added new
admin directory
* trunk/icecast/src/admin.c, trunk/icecast/src/config.c,
trunk/icecast/src/config.h, trunk/icecast/src/source.c:
infrastructure for new web-based admin interface new config
option <adminroot> restructured code a bit in admin.c for a bit
better extendability
* trunk/icecast/admin, trunk/icecast/admin/Makefile.am,
trunk/icecast/admin/listclients.xsl,
trunk/icecast/admin/listmounts.xsl,
trunk/icecast/admin/moveclients.xsl,
trunk/icecast/admin/response.xsl, trunk/icecast/admin/stats.xsl:
new admin XSL templates for web interface
* trunk/icecast/TODO: Oops. Commit updated version of TODO
* trunk/icecast/conf/icecast.xml: Change the <mount> section
slightly and add a comment to avoid confusing users.
* trunk/icecast/News, trunk/icecast/conf/icecast.xml,
trunk/icecast/src/config.c, trunk/icecast/src/config.h,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/slave.c: Implementation of aliases contributed
by Paul Donohue <icecast@TopQuark.net>
* trunk/icecast/TODO: Add a short list of the critical things to
do for 2.0 to be released.
* trunk/icecast/configure.in: add missing check for inet_aton,
sock.h wants this.
* trunk/icecast/acinclude.m4, trunk/icecast/configure.in: autoconf
updates. Now builds on OpenBSD
* trunk/icecast/win32/Makefile.am: icecast.xml in this
subdirectory is now removed. This should now make the icecast
tarball build again
* trunk/icecast/src/connection.c: Only consider a path a candidate
for file-serving if it exists AND is a normal file (not a
directory, etc.)
* trunk/icecast/win32/Icecast2winDlg.cpp,
trunk/icecast/win32/Icecast2winDlg.h,
trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast.xml,
trunk/icecast/win32/icecast2.iss: removal of some errant
newlines update of icecast.dsp for console build update of .iss
setup build file removed icecast.xml from this dir (should never
have been here)
* trunk/icecast/win32/icecast2_console.dsp,
trunk/icecast/win32/icecast2_console.dsw: new win32 project
files for iceast2 console mode
* trunk/icecast/src/main.c, trunk/icecast/src/source.c: printf to
stdout not valid with our win32 binary, so lets now use
something that will work on win32. note that these should only
be used up to the point at which logging is started, then
everything should go there. also added a new stat to represent
what is currently being sent to the yp server as "what's playing"
* trunk/icecast/src/Makefile.am: admin.h is needed for the tarball
or else it will fail to compile icecast
* trunk/icecast/conf/icecast.xml: new parameter for the
icecast.xml config file (yp timeout interval)
* trunk/icecast/src/source.c, trunk/icecast/src/util.c,
trunk/icecast/src/yp.c: - fixed alot of yp logic. timeouts now
work properly so the tolerance of the unavailability of yp
servers is much much better now. - new icecast config option
<yp-url-timeout> to specify the timeout - url encoding is now
fixed so that the yp data is formatted much nicer (and is
correct :)) - added url encoding for some fields that were not
url-encoded - modified util_dict_urlencode() to not url-encode
the key (still does the value) - new curl option
(CURLOPT_NOSIGNAL) which prevents curl from using signals when
timeouts are hit. This new option needs curl 7.10 at least.
* trunk/icecast/src/util.c: What was I on when I wrote this?
oddsock pointed out that util_url_escape() was chronically broken
* trunk/icecast/src/admin.c, trunk/icecast/src/source.c: Implement
killsource admin command, to kill sources. Doesn't always do
much, ices (as an example) will auto-reconnect.
* trunk/icecast/src/admin.c, trunk/icecast/src/refbuf.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h: Remove
locking from refbuf: we used a single global lock for all of
them, which caused significant lock contention with many
sources. Further, a single refbuf is never used by more than one
source (and hence one thread), so the locking was unneeded. Fix
a nasty bug in source.c:_compare_clients() - was casting a void
pointer to the wrong type, and hence all the tree-maintaince
comparisons were totally wrong (but due to the exact nature of
the bug this wasn't causing any active problems until...) Add
another admin command to kill a client - remove it using an id.
Note that many clients will do auto-reconnect, so this may not
be sufficient on its own, we might need a ban (possibly
temporary) function.
* trunk/icecast/configure.in, trunk/icecast/src/Makefile.am,
trunk/icecast/src/connection.c, trunk/icecast/src/geturl.c,
trunk/icecast/src/geturl.h, trunk/icecast/src/global.c,
trunk/icecast/src/main.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/yp.c,
trunk/icecast/src/yp.h: First crack at making YP/curl optional.
* trunk/icecast/win32/icecast.dsp,
trunk/icecast/win32/icecast2.iss: update project file with new
files added to icecast module updated version in install script
* trunk/icecast/src/source.c: Fix ordering of some calls in source
shutdown, silly bug. Remove wrong comment.
* trunk/icecast/src/source.c: Fix lack of null terminator in audio
info/stats stuff.
* trunk/icecast/configure.in, trunk/ices/configure.in,
trunk/libshout/configure.in: we need to define an API level we
want for certain systems like solaris
* trunk/icecast/configure.in: Announce version required
* trunk/icecast/README: #icecast at openprojects is defunct.
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
* trunk/avl/avl.c, trunk/avl/avl.h, trunk/avl/test.c,
trunk/httpp/httpp.c, trunk/httpp/httpp.h, trunk/httpp/test.c,
trunk/icecast/src/admin.c, trunk/icecast/src/client.c,
trunk/icecast/src/client.h, trunk/icecast/src/config.c,
trunk/icecast/src/config.h, trunk/icecast/src/configtest.c,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/event.c, trunk/icecast/src/format.c,
trunk/icecast/src/format.h, trunk/icecast/src/format_mp3.c,
trunk/icecast/src/format_vorbis.c, trunk/icecast/src/fserve.c,
trunk/icecast/src/global.c, trunk/icecast/src/global.h,
trunk/icecast/src/logging.c, trunk/icecast/src/main.c,
trunk/icecast/src/refbuf.c, trunk/icecast/src/refbuf.h,
trunk/icecast/src/sighandler.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/source.h,
trunk/icecast/src/stats.c, trunk/icecast/src/stats.h,
trunk/icecast/src/util.c, trunk/icecast/src/xslt.c,
trunk/icecast/src/yp.h, trunk/log/log.c, trunk/log/test.c,
trunk/net/sock.c, trunk/net/test_resolver.c,
trunk/thread/thread.c, trunk/thread/thread.h,
trunk/timing/timing.c: Brendan was getting pissed off about
inconsistent indentation styles. Convert all tabs to 4 spaces.
All code must now use 4 space indents.
* trunk/icecast/src/admin.c, trunk/icecast/src/source.c,
trunk/icecast/src/source.h: Bugfix: source shutdown did things
in the wrong order, could lead to clients ending up connecting
to a source which didn't exist. Add 'moveclients' admin command
to move all clients from one source to another (without shutting
the old source down)
* trunk/icecast/acinclude.m4, trunk/m4/acx_pthread.m4: separate
the check for pthread_rwlock_t, it will soon be an optional
* trunk/icecast/src/connection.c: Typo (no sleeping between
select()s waiting for connections)
* trunk/icecast/src/admin.c, trunk/icecast/src/config.c,
trunk/icecast/src/config.h, trunk/icecast/src/connection.c: Fix
relay stream listing. Remove seperate relay password, there's no
need for it.
* trunk/icecast/src/admin.c: Listing of current mountpoints in
admin interface.
* trunk/icecast/News, trunk/icecast/conf/icecast.xml,
trunk/icecast/src/config.c, trunk/icecast/src/config.h,
trunk/icecast/src/connection.c, trunk/icecast/src/global.c,
trunk/icecast/src/global.h, trunk/icecast/src/main.c: Support
listening on multiple sockets.
* trunk/icecast/src/connection.c: Check the right variable for
password in icy logins
* trunk/icecast/src/connection.c: create /icy_0 (and incrementing
numbers) for incoming icy protocol connections if the /
mountpoint is taken
* trunk/httpp/httpp.c, trunk/httpp/httpp.h, trunk/icecast/News,
trunk/icecast/src/connection.c: Added support for shoutcast
login protocol (ewww...)
* trunk/icecast/configure.in, trunk/ices/configure.in,
trunk/libshout/configure.in: Add XIPH_CFLAGS which will be used
to pass compiler flags which you don't want to get clobbered by
things like make CFLAGS='....' The typical flags you don't want
clobbered are ones like -pthread
* trunk/icecast/News, trunk/icecast/src/admin.c, trunk/net/sock.c,
trunk/net/sock.h: Implement listing of all currently connected
clients on a mountpoint
* trunk/icecast/src/slave.c: Send a user-agent header on normal
relay requests as well.
* trunk/icecast/src/connection.c: Check admin password against the
correct username
* trunk/icecast/src/Makefile.am, trunk/icecast/src/admin.c,
trunk/icecast/src/admin.h, trunk/icecast/src/connection.c,
trunk/icecast/src/connection.h, trunk/icecast/src/source.c,
trunk/icecast/src/util.c, trunk/icecast/src/util.h: Split admin
stuff out into a seperate file, add various utility functions
there. rename util_url_escape to util_url_unescape, and write a
util_escape function that actually DOES escape things. Fix all
the callers of the function to call the correct one of these two.
* trunk/icecast/ChangeLog, trunk/icecast/News, trunk/icecast/TODO,
trunk/icecast/src/Makefile.am, trunk/icecast/src/config.c,
trunk/icecast/src/config.h, trunk/icecast/src/configtest.c,
trunk/icecast/src/connection.c, trunk/icecast/src/connection.h,
trunk/icecast/src/event.c, trunk/icecast/src/event.h,
trunk/icecast/src/fserve.c, trunk/icecast/src/main.c,
trunk/icecast/src/sighandler.c, trunk/icecast/src/slave.c,
trunk/icecast/src/source.c, trunk/icecast/src/util.c,
trunk/icecast/src/yp.c: Allow rereading config files. Lots of
new locking happening so that it's safe to have the config file
disappear under the rest of the program Does NOT affect
currently-running sources at the moment
* trunk/icecast/conf/icecast.xml: Comment out dump file, people
don't want that on by default (I'm not admitting to just having
filled up /)
* trunk/icecast/src/refbuf.c: doh! This one compiles.
* trunk/icecast/src/refbuf.c: Fix buffer-queue length handling
(was missing from refbuf_queue_add, which it used as well as
refbuf_queue_insert).
* trunk/icecast/ChangeLog: Add a changelog file for the last ~2
months. Other committers: any new features, and any major
bugfixes, should be added in here, please. Try and keep it up to
date. Minor changes (particularly those not visible to the user)
and so on don't generally need an entry here - this should be a
usable summary of new stuff for the non-developer.
* trunk/icecast/src/config.c, trunk/icecast/src/connection.c,
trunk/icecast/src/source.c: Fix various minor bugs in
per-mountpoint configs.
* trunk/icecast/conf/icecast.xml: Add another comment suggested by
a user.
Loading
Loading full blame...