-
Notifications
You must be signed in to change notification settings - Fork 131
/
ChangeLog
5986 lines (4128 loc) · 191 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
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
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
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
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
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
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
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
946
947
948
949
950
951
952
953
954
955
956
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
2022-03-13 18:25:33 Philipp Schafft <[email protected]>
* Preparing for 2.5 beta3 aka 2.4.99.3
2017-11-17 09:04:42 Thomas B. Ruecker <[email protected]>
* Preparing for 2.5 beta2 aka 2.4.99.2
2014-12-28 13:19:29 Marvin Scholz <[email protected]>
* Removed fr_FR xsl files since they aren't used
2014-12-28 11:08:56 Thomas B. Ruecker <[email protected]>
* Preparing for 2.5 beta1 aka 2.4.99.1
2014-12-25 12:45:46 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* height-adjusted logo2 for NSIS installer
2014-12-26 11:02:10 Thomas B. Ruecker <[email protected]>
* Favicon was missing from the Makefile
2014-12-24 09:19:17 Philipp Schafft <[email protected]>
* Revert "Fix: avoid assignment discards 'const' qualifier warning"
This reverts commit 0dbabcc44c141d0018a6eb6b6d3c78cc6e16491c.
Breaks other(?) OpenSSL versions.
2014-12-24 09:16:15 Philipp Schafft <[email protected]>
* Prevent various redefined definitions in win32-specific code
From: Erik van Pienbroek <[email protected]>
Date: Mon, 22 Dec 2014 18:02:09 +0100
2014-12-24 09:03:26 Philipp Schafft <[email protected]>
* Fix: avoid assignment discards 'const' qualifier warning
Untested. Please test.
2014-12-22 09:08:24 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Fix: corrected xsl to work in omode=normal
2014-12-20 18:48:03 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Merge branch fix for <metadata> of relays.
2014-12-20 18:06:42 Philipp Schafft <[email protected]>
* Fix: avoid segfault by generating <metadata> for relays
2014-12-20 16:12:27 Philipp Schafft <[email protected]>
* Fix: memory leak and race condition fix
2014-12-20 15:30:26 Philipp Schafft <[email protected]>
* Fix: memory leak, now also releasing reglist[] members
2014-12-20 15:29:53 Philipp Schafft <[email protected]>
* Fix: memory leak now freeing null_device and global source_password
2014-12-20 13:40:44 Philipp Schafft <[email protected]>
* Fix: Added missing includes
2014-12-20 09:39:26 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Merged support for thread-less <role>s
2014-12-19 17:27:54 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Feature: Also export type="" in stats.xml's <role>s
2014-12-19 11:22:36 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Fix: only export name="" on <role> if set
2014-12-19 10:44:24 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Cleanup: Removed a printf() leftover from debugging
2014-12-18 10:24:15 Philipp Schafft <[email protected]>
* Fix: Always export <metadata> in stats.xml
2014-12-18 09:56:54 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Fix: Fixed compiler warnings
2014-12-14 16:19:32 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Fix: Send Content-Disposition:-header correctly
2014-12-14 09:27:49 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Some minor changes to README.md, added Opus and WebM
2014-12-14 08:19:58 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* NEWS updated for 2.4.0 and 2.4.1
2014-12-13 19:10:20 Thomas B. Ruecker <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Corrected Makefile.am to refect README rename and TODO deletion
2014-12-06 20:04:21 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Update submodules
2014-12-04 12:41:53 Marvin Scholz <[email protected]>
* Updated README, renamed it so that it is parsed as markdown
2014-12-04 12:14:56 Marvin Scholz <[email protected]>
* Remove old TODO file, using trac tickets instead
2014-12-04 10:24:12 Marvin Scholz <[email protected]>
* Changed URLs to be relative in .gitmodules
2014-12-04 08:12:41 Marvin Scholz <[email protected]>
* Updated submodules to the new repository URLs
2014-12-02 22:50:57 Marvin Scholz <[email protected]>
* 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 <[email protected]>
* better coding style, patch by ePirat.
2014-11-30 18:20:09 Philipp Schafft <[email protected]>
* s/listener/client/; thanks to micheil.
2014-11-30 18:18:05 Philipp Schafft <[email protected]>
* cleanup: make use of const
2014-11-30 18:17:10 Philipp Schafft <[email protected]>
* sock_active() is broken and can not be used
2014-11-30 18:15:40 Philipp Schafft <[email protected]>
* that error is nonsense
2014-11-30 09:32:06 Philipp Schafft <[email protected]>
* cleanup: don't include "httpp/httpp.h" if not needed
2014-11-29 12:41:19 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Fix trailing spaces in default config.
As pointed out by DalekSec on IRC.
2014-11-29 10:34:07 Philipp Schafft <[email protected]>
updated chroot and setuid/gid support. Thanks to d26264b9 for
reporting.
2014-11-29 10:16:36 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* include <string.h>
2014-11-29 08:16:42 Philipp Schafft <[email protected]>
* ensure vhost is not uninitialized
2014-11-29 08:15:23 Philipp Schafft <[email protected]>
* include <stdio.h> as FILE* is used in the header
2014-11-28 23:46:08 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* expose converting of method names to enum values as
httpp_str_to_method()
2014-11-22 04:06:26 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* some smaller stuff needed to get new authing stuff done
2014-11-21 19:52:48 Philipp Schafft <[email protected]>
* allow symbolc names for bools, public settings and loglevel
2014-11-21 18:05:17 Philipp Schafft <[email protected]>
* remove client_send_[0-9]{3}() in favor of client_send_error().
Please test
2014-11-21 15:37:50 Philipp Schafft <[email protected]>
* first part of patch to allow kh like admin stats with listener tags
inside
2014-11-21 10:08:16 Philipp Schafft <[email protected]>
* allow comments to be within the <http-headers> block, not just at the
end
2014-11-21 09:28:29 Philipp Schafft <[email protected]>
* Updated handling of <on-connect> and <on-disconnect> in <mount>, see
r19305:r19312
2014-11-20 18:41:42 Philipp Schafft <[email protected]>
* report system name and print better warnings about <hostname> at
start of process
2014-11-20 18:36:57 Philipp Schafft <[email protected]>
* 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 <[email protected]>
* Support for reloading server config using admin interface.
2014-11-20 18:32:14 Philipp Schafft <[email protected]>
* support vhosting on aliases
2014-11-19 13:42:23 dm8tbr
* This is Spaaarrr^w Icecast 2.4.1!
2014-11-19 13:41:09 dm8tbr
* Makefile.am and configure.in for new docs
2014-11-19 12:18:49 dm8tbr
* Removing unmaintained RPM spec file
2014-11-19 11:30:58 ePirat
* Set PATH_MAX to 4096 if not defined (patch by Svante Signell
See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=767542
2014-11-18 19:57:21 ePirat
* Docs: 2.4.1 docs added
2014-11-18 10:17:16 ePirat
* fix for memory errors when using a lot of headers
2014-11-18 08:51:03 dm8tbr
* Comments in <http-headers> break things ATM.
Moved the comment out to avoid this bug.
Needs to be checked.
2014-11-17 19:20:57 ph3-der-loewe
* subset of earlier patch so it can go into 2.4.1: disconnects
stdio of <on-[dis]connect> scripts from server owned filehandles.
* This is considered a security fix: if on-connect/on-disconnect
scripts are used, file descriptors of the server process remain open
and could be written to or read from. Most pressing STDIN, STDOUT,
STDERR are handled. Further all file descriptors up to 1024 are closed.
There is a remaining (much lower) risk in combination of either a
malicious or susceptible script and FDs above 1024.
2014-11-10 10:46:55 ph3-der-loewe
* patch to fix regression on header size with large headers introduced
by support of <server-id> and <http-headers>. This should ensure we
have at least space for 2kB of extra headers. Depending on function
and call we may have much more space.
2014-11-10 08:23:34 dm8tbr
* Update minimal config to also contain ACAO * header
2014-11-10 06:25:15 dm8tbr
* Update default config: SSL, headers, default-mount
2014-11-09 10:55:29 dm8tbr
* Updated default openSSL cipher string
* https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29
* same Qualys result
2014-11-09 09:13:59 dm8tbr
* Clean up default config
2014-11-08 16:23:26 dm8tbr
* Applying patch by ph3-der-loewe, HTTP PUT requires content-type
* In case of SOURCE we are lenient and thus quite some source clients
don't send a proper content-type, especially if they only support mp3.
* This was meant to be introduced in 2.4.0 already, sadly we missed it.
* All source clients MUST send proper content-type after migrating to
Icecast HTTP PUT protocol.
2014-11-08 13:34:45 ph3-der-loewe
* Fixed regression introduced in r18356 (CVE-2011-4612): client
duration time is now correctly logged. PRIu64 MUST NOT be used with
log_write_direct() as depending on platform PRIu64 may be using
something not supported by __vsnprintf() of log/log.c.
2014-11-08 12:28:17 ph3-der-loewe
* make use of sizeof() not explicit magic numbers
2014-11-07 23:10:43 ph3-der-loewe
* fixing some compiler warnings
2014-11-07 22:06:06 ph3-der-loewe
* updated some copyright headers
2014-11-07 20:56:04 ph3-der-loewe
* fix for %z on win*. hope it doesn't breaky anything else.
2014-11-07 19:14:28 ph3-der-loewe
* added warnings on empty and default values of <fileserve>,
<hostname>, <location>, <admin> and <server-id>
2014-11-07 11:18:54 ph3-der-loewe
* send errorlog (loglevel WARN) to stderr prior to opening the real
logfiles.
2014-11-07 10:12:24 ph3-der-loewe
* added support for type="" and status="" in <header>
(subelement of <http-headers>).
2014-11-07 02:55:57 ph3-der-loewe
* Added support for <http-headers> within <mount>.
Also support merging of headers (normal mount + default mount).
2014-11-07 01:40:28 ph3-der-loewe
* handle empty strings in config file better. Now empty strings are
handled in: accesslog, errorlog, logdir, webroot, adminroot and
hopefully all kinds of port.
2014-11-07 00:56:02 ph3-der-loewe
* initial patch to allow adding user defined headers
2014-11-06 23:55:58 ph3-der-loewe
* coding style and typo correcion
2014-11-06 12:02:00 dm8tbr
* Be more verbose in case of fileserve off
2014-11-05 10:09:07 dm8tbr
* applied patch to update the default ciphers to be more secure
* tested this successfully against https://www.ssllabs.com/ssltest/
2014-11-03 19:34:10 ph3-der-loewe
* applied patch to disable SSLv3 and SSL compression explicitly
2014-11-02 20:19:29 dm8tbr
* fix JSON status API problems
* Put the last item check into every filtered tag.
* This way we shouldn't run into problems of this type anymore.
* Also it should be easier to customize this way,
if someone wants to filter differently.
2014-10-31 09:00:45 ph3-der-loewe
* rename ICE_LISTEN_QUEUE, ICE_RUNNING and ICE_HALTING
so they have a prefix of ICECAST_
2014-10-31 08:46:58 ph3-der-loewe
* LOG_{ERROR|WARN|INFO|DEBUG}()
-> ICECAST_LOG_{ERROR|WARN|INFO|DEBUG}()
* avoid collision with LOG_INFO that is defined as part of syslog.
2014-10-26 14:03:57 ph3-der-loewe
* make <auth> in <mount type="default"> work if no <mount-name> is
given.
2014-10-23 20:41:38 epirat
* More detailed logging
* Add source IP adress to startup and source exit logging
* Add mountpoint to some log lines
2014-10-18 16:25:29 ph3-der-loewe
* fix warnings, mostly related to win*-builds
2014-10-09 10:39:13 ph3-der-loewe
* Replace the old logging macros with variadic argument macros.
(patch by ePirat)
2014-07-23 16:55:57 dm8tbr
* removed threadpool from example config
it is long gone and unused
2014-07-23 10:20:47 dm8tbr
* Fix autogen.sh to work properly on Mac OS
* Applying patch by ePirat
2014-05-06 05:23:42 dm8tbr
* This is Icecast 2.4.0!
2014-05-06 04:53:24 dm8tbr
* SECURITY FIX - Override supplementary groups if <changeowner>
2014-05-05 05:16:44 dm8tbr
* Added <audio> for supported streams. TNX ePirat
2014-05-04 17:36:25 dm8tbr
* status2.xsl, broken for a decade, now it's gone!
2014-05-04 17:09:59 dm8tbr
* Updated docs:
* logging to STDERR; known issues
* Refactored docs about client authentication
* Vastly improved page about Icecast statistics
* Clean up supported windows versions
* Quick fixup of the basic setup page
* Minor fixes to the config file documentation
* Updated YP documentation
* Reduced win32 documentation to essentials
2014-05-04 07:14:54 dm8tbr
* Adding stream_start_iso8601, server_start_iso8601
ISO8601 compliante timestamps for statistics. Should make usage in
e.g. JSON much easier.
Added as new variables to avoid breaking backwards compatibility.
2014-05-04 05:16:00 dm8tbr
* Nicer looking tables for the admin interface.
ePirat sent updated tables code that should look much nicer.
This is admin interface only (and a global css change).
2014-03-09 13:02:35 dm8tbr
* Set content-type to official "application/json"
2014-03-09 12:27:58 dm8tbr
* Initial JSON status transform.
Output roughly limited to data also visible through status.xsl.
2014-03-09 12:26:15 dm8tbr
* Silence direct calls, add partial array support.
* The XSLT will now return empty if called directly.
This is a security measure to prevent unintended data leakage.
* Adding partial array support to print sources in an array.
Code lifted from:
https://code.google.com/p/xml2json-xslt/issues/detail?id=3
2014-03-09 12:19:35 dm8tbr
* Adding xml2json XSLT, svn r31 upstream trunk.
https://code.google.com/p/xml2json-xslt/
2014-03-01 17:53:00 dm8tbr
* Icecast 2.4 beta5 aka 2.3.99.5
2014-03-01 17:37:38 dm8tbr
* Reverting r18945 for now as using -b breaks things.
Reopening #1886, patch needs rework.
2014-03-01 16:38:15 dm8tbr
* Web output properly redone, credit to ePirat.
Now validates completely as XHTML1.0 strict.
Also improves rendering on mobile devices.
2014-02-23 21:29:35 dm8tbr
* Send charset in headers for everything, excluding file-serv and streams.
2014-02-16 10:14:28 dm8tbr
* Added warning to documentation
ensure queue-size >> burst-size.
2014-01-23 13:55:23 dm8tbr
* Icecast 2.4 beta4 aka 2.3.99.4
2014-01-23 06:23:42 dm8tbr
* Updated web interface to be more XHTML compliant.
* Added warning about HTML scraping to main page.
2014-01-12 21:09:04 ph3-der-loewe
* Fixed a memory leak. Lost headers of stream because of wrong ref
counter in associated refbuf objects.
2014-01-12 12:29:27 ph3-der-loewe
* Completed HTTP PUT support, send 100-continue-header,
if client requests it. We need to adhere to HTTP1.1 here.
2014-01-12 12:09:59 ph3-der-loewe
* avoid memory leak in _parse_mount() when "type"-attribuet is set
2013-11-06 01:01:31 ph3-der-loewe
* corrected Date-header format to conform the standard (see RFC1123).
Thanks to cato for reporting.
2013-05-29 08:22:06 dm8tbr
* Added a favicon to the web-root content
2013-05-15 16:45:55 dm8tbr
* We now split handling of command line arguments into two parts.
Only the critical part of getting the config file is done first (and
-v as it prevents startup). The rest (currently only -b) is deferred.
It allows us to log error messages to stderr even if the -b argument
is passed. This is mainly for the case where the logfile or TCP port
can't be opened.
2013-04-06 05:00:00 dm8tbr
* Icecast 2.4 beta3 aka 2.3.99.3
2013-04-05 20:13:18 dm8tbr
* Edited warning for clarity.
2013-04-05 19:49:13 ph3-der-loewe
* added a warning in case mount of type default is defined but a
mountname is set
2013-04-05 16:44:51 dm8tbr
* Setting Icecast version to 2.3.99.3 in preparation for 2.4 beta3.
2013-04-05 16:43:16 dm8tbr
* Add warning when using generic handler for stream sent to Icecast.
All bets are off, we're trying our best using legacy handling code.
2013-04-03 02:04:38
* avoid fnmatch() on _WIN32 and fall back to strcmp(). Seems that
MinGW does half-implement fnmatch()...
2013-04-03 00:46:55 ph3-der-loewe
* do fuzzy(fnmatch) matching for mountpoint names of non-normal
mounts, see #1914
2013-04-03 00:33:10 ph3-der-loewe
* mount points defined in config should use data from default mounts
as well, see #1914
2013-04-02 18:46:44 ph3-der-loewe
* Added support for a default mount. See #1914.
The default mount is a block in the config file that contains settings
for all mount points that do not have a block in configfile themself.
This is implemented by a <mount type="default">-block.
In this case the <mount>-block MUST NOT contain
a <mount-name>-subblock.
2013-04-02 12:19:33
* Throw away the reqbuf stuff as it was not well designed. Removing it
and restoring usage of %H to properly address #1916
2013-04-02 11:51:47 ph3-der-loewe
* make use of const keyword in _fatal_error()
2013-04-02 11:48:40 ph3-der-loewe
* allow --version as alias to -v (printing version number)
2013-03-30 10:52 dm8tbr
* trunk/icecast/ChangeLog:
* trunk/icecast/configure.i:
This is Icecast 2.4 beta2 (aka 2.3.99.2)
2013-03-30 10:26:44 dm8tbr
* trunk/icecast/ChangeLog:
Updated Icecast ChangeLog
2013-03-30 07:09:14 dm8tbr
* trunk/icecast/doc/icecast2_config_file.html:
Adding "A word of warning" to Icecast config file documentation.
2013-03-29 15:07:33 dm8tbr
* trunk/icecast/src/connection.c:
Highly experimental HTTP PUT support. ref #1812
We are handling it the same as we would handle a SOURCE request.
Due to legacy code, sender MUST send proper content-type header,
if content type is not audio/mpeg!
Can be tested using real-time encoded output and piping it into
| curl -u username:password -H "Content-type: application/ogg" -T - \
http://localhost:8000/mountname.ogg
Note that this example has ZERO timing, so a simple 'cat *.ogg' will
fail.
Whatever feeds the pipe must do it at proper timing for real-time
playback!
2013-03-29 14:41:24 dm8tbr
* trunk/icecast/src/logging.c:
Backing out part of r18755 touching this file.
fixes #1942
2013-03-09 15:23:48 dm8tbr
* trunk/icecast/doc/icecast2_basicsetup.html:
Added note about distribution packaging of Icecast, fixing #1249.
2013-02-24 20:12:42 dm8tbr
* trunk/icecast/doc/icecast2_listenerauth.html:
Fixing a small bit in the example that got copied.
2013-02-24 16:19:53 dm8tbr
* trunk/icecast/doc/icecast2_config_file.html:
* trunk/icecast/doc/icecast2_listenerauth.html:
Icecast documentation update for stream_auth.