-
Notifications
You must be signed in to change notification settings - Fork 104
/
ChangeLog
15604 lines (10719 loc) · 545 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
2009-03-07 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/util.c, cherokee/util.h, cherokee/buffer.c: Relocates
the hex_char to int array. It's global now.
* admin/PageVServer.py (PageVServer._render_rules_generic): Fixes
rule deletion. This's a regression introduced before the 0.99.3
release.
* cherokee/handler_cgi_base.c: Improves the X-Sendfile support, so
a much more set of headers are sent when a {Fast,S,}CGI replies
with a X-Sendfile header entry.
* qa/202-xsendfile2.py, qa/Makefile.am (EXTRA_DIST): Adds a new QA
test to check whether the right headers are sent when X-Sendfile
has been used in a {Fast,S,}CGI response.
2009-03-06 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/PageVServer.py (PageVServer._render_rules_generic): Adds a
new rule name limit, so even if there is some long entry, the
virtual server rule list still looks fine.
* cherokee/balancer_ip_hash.c (dispatch): The last information
source was not being used by the IP-Hash load balancer. Fixes:
http://code.google.com/p/cherokee/issues/detail?id=387
2009-03-06 Antonio Perez <aperez@skarcha.com>
* admin/PageEntry.py, admin/Rule.py, admin/PageVServer.py,
admin/static/css/cherokee.css: Visual enhancements to Complex
Rules configuration.
2009-03-05 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/PageEntry.py, admin/server.py, admin/ModuleGeoip.py,
admin/Rule.py, admin/ModuleBind.py, admin/ModuleRequest.py,
admin/PageVServer.py, admin/ModuleExtensions.py,
admin/ModuleHeader.py, admin/static/js/common.js,
admin/ModuleExists.py,admin/ModuleDirectory.py,
admin/ModuleMethod.py: Implements complex rules in Cherokee-admin.
This is the initial version, the GUI still needs quite a lot of
work.
* 0.99.3 released
* cherokee/handler_cgi.c (manage_child_cgi_process): Fixes a CGI
problem. There were ocassions where the server cloud freeze
because of a concurrenty issue. Fixes bug #385:
http://code.google.com/p/cherokee/issues/detail?id=385
2009-03-05 Antonio Perez <aperez@skarcha.com>
* cherokee/rule_extensions.c: Fixes a problem with directory
names that ends with a dot. Bug #384:
http://code.google.com/p/cherokee/issues/detail?id=384
2009-03-03 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_cgi.c (cherokee_handler_cgi_free): Tries
(little harder) to kill the CGI child process.
* admin/PageVServer.py: Fixes #383 (thanks Samuel!)
http://code.google.com/p/cherokee/issues/detail?id=383
2009-03-02 Antonio Perez <aperez@skarcha.com>
* admin/PageVServers.py: Cosmetic change; editboxes alignment.
2009-03-02 Alvaro Lopez Ortega <alvaro@octality.com>
* qa/115-Respin.py: This test was not working if PHP was compiled
with the 'force-cgi-redirect'. This patch fixes the proble. By
Antonio Perez <aperez@skarcha.com>.
* qa/131-PHP-zero-len-post+Redir.py: Tries to reproduce:
http://code.google.com/p/cherokee/issues/detail?id=260
* 0.99.2 released
* cherokee/source_interpreter.c, cherokee/server.c: Information
sources launched by Cherokee will be killed when the server exits.
It ought to leave the system as it fount it. This patch fixes:
http://code.google.com/p/cherokee/issues/detail?id=303
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/connection.c, admin/PageVServer.py, qa/201-PostLimit.py,
qa/Makefile.am: Adds a new maximum POST size limit. It can be
defined per virtual host. The patch implements both the server and
administration interface. Fixes bug #379.
Patch by Samuel Cormier-Iijima <sciyoshi@gmail.com>
2009-03-01 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/source_interpreter.c
(cherokee_source_interpreter_connect_polling): Fixes a problem
connecting to some information sources. If the source started up
slowly, it was returning a 304 error instead of waiting for it to
be ready. This patch tries to fix bug #374.
2009-03-01 Antonio Perez <aperez@skarcha.com>
* admin/validations.py: Fixes a typo. Bug #381:
http://code.google.com/p/cherokee/issues/detail?id=381
2009-02-28 Antonio Perez <aperez@skarcha.com>
* admin/PageGeneral.py, admin/Entry.py, admin/Form.py:
If there is no SSL/TLS backend configured, then TLS checkboxes
should be disabled.
2009-02-27 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/Makefile.am, cherokee/rule_bind.c,
cherokee/rule_bind.h, cherokee/bind.c, cherokee/bind.h,
configure.in, admin/ModuleBind.py, admin/consts.py,
admin/Makefile.am: Adds a new rule plug-in. It matches the server
TCP port from which the connection was accepted.
2009-02-26 Alvaro Lopez Ortega <alvaro@octality.com>
* 0.99.1 released
* contrib/Makefile.am, contrib/098to099.py: Adds a tiny script to
convert configuration file from 0.98 to 0.99. There is only one
little change in the format. There will be many users who won't
need to use the script for the update.
* doc/Makefile.am, doc/modules_handlers_streaming.txt,
doc/index.txt: Adds a missing manual page. The new Audio/Video
streaming handler was not being covered by the documentation.
* admin/ModuleStreaming.py: Fixes a typo.
* admin/ModuleFcgi.py, admin/ModuleScgi.py, admin/ModuleCgi.py: By
some reason, the 'Check file' option was not being showed when an
Extension was configured. This patch reverts it. Now it's always
shown.
2009-02-25 Alvaro Lopez Ortega <alvaro@octality.com>
* 0.99.0 released
* admin/CherokeeManagement.py (launch.daemonize): For some reason
(that I haven't still quite figured out) there are some cases when
the PATH environment variable is not defined. I suppose this is a
Linux grsecurity related bug.
* cherokee/source_interpreter.c (check_interpreter_path): Check
whether the PATH environment variable is empty.
* doc/media/images/admin_vserver_errors.png: The error
configuration interface changed slightly. This commit updates the
screenshot.
* doc/cookbook_ssl.txt: Adds a short note about how to enable the
SSL support. By default it's disabled after installing the server.
* cherokee.conf.sample.pre: Removes the 443 port. As long as TLS
is not enabled by default, it should not define it.
2009-02-24 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/main.c (pid_file_save): Removes a PRINT_MSG entry. It
was printing an error whenever the PID file couldn't be created.
The problem is that cherokee/main.c tries to write the PID file
even if the configuration file doesn't require it to do so. The
real problem was showing up when cherokee-admin interpreterd the
printed line as a fatal error, and therefore the server was not
properly launched. The best solution seems to be to stop printing
the error message when cherokee/main.c cannot create the PID file.
In case the file had to be created and it failed, cherokee-worker
would print it later on anyway.
* cherokee/source_interpreter.c
(cherokee_source_interpreter_configure): It was not printing any
error message when the server could not find an interpreter.
2009-02-23 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/source_interpreter.c, admin/PageInfoSource.py: Adds a
new field to allow to spawn interpreters under a different UID.
2009-02-22 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/balancer_round_robin.h, cherokee/balancer_ip_hash.c,
cherokee/balancer_round_robin.c: A few concurency focused fixes.
* qa/200-ErrorRedir2.py, qa/Makefile.am: Adds a new QA test. It
checks whether internal redirections handle REDIRECT_QUERY_STRING,
and PATH_INFO right when a custom document_root is set for the
error handler.
* cherokee/balancer_ip_hash.c, cherokee/balancer_ip_hash.h: Try to
address what seems to be a concurrency issue:
http://code.google.com/p/cherokee/issues/detail?id=371
* cherokee/connection.c (cherokee_connection_setup_error_handler):
Clean the connection before it's (internally) redirected.
* cherokee/thread.c, cherokee/connection.c: Fixes the internal
error redirections. It also adds a new security check in order to
ensure that connections will not get into a loop while hanlding an
internal error redirection.
* admin/validations.py (is_information_source): Fixes an issue
with the Unix Socket validation.
* contrib/cherokee, contrib/Makefile.am, contrib/cherokee.pre:
Tries to make the cherokee init.d script a little more flexible.
* admin/ModuleErrorRedir.py: Updates the error management
interface. There were changes on the server code that have not
been implemented in cherokee-admin yet. It fixes bug #368:
http://code.google.com/p/cherokee/issues/detail?id=368
2009-02-21 Antonio Perez <aperez@skarcha.com>
* admin/server.py, admin/CherokeeManagement.py: Send TERM signal
instead QUIT signal to stop cherokee server from admin.
* admin/consts.py, cherokee/handler_error.c, cherokee/http.c,
cherokee/http.h: Adds support for http 410 (gone) status code.
RFE: http://code.google.com/p/cherokee/issues/detail?id=370
* cherokee/main.c: Removes cherokee-worker pid file, and SIGINT
is supported now.
2009-02-19 Antonio Perez <aperez@skarcha.com>
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/cryptor_libssl.c, admin/PageVServer.py: SSL Certificate
and chained SSL Certificate entries are merged.
2009-02-19 Alvaro Lopez Ortega <alvaro@octality.com>
* spawn-fcgi.1, contrib/spawn-fcgi.c, contrib/Makefile.am,
Makefile.am: spawn-fcgi is an independent project now. There is no
need to ship it with Cherokee any longer.
2009-02-18 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/ModuleDirlist.py, admin/PageAdvanced.py,
admin/ModuleCgi.py, admin/PageVServers.py, admin/ModuleCommon.py,
admin/ModuleStreaming.py, admin/ModuleBalancer.py,
admin/PageMime.py, admin/PageVServer.py, admin/validations.py,
admin/ModuleDirlist.py, admin/ModuleHtdigest.py,
admin/ModuleHtpasswd.py, admin/PageEntry.py: Adds a new entry
validations that were missing.
2009-02-17 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/source_interpreter.c: Adds support for interpreters
executed by using the PATH environment varieble.
* cherokee/handler_scgi.c, cherokee/handler_fcgi.c: These handlers
used to accept only the GET, POST and HEAD methods. REST services
are supposed to support more methods, so it's been a problem for
some people. I'm removing the check, and all methods will be
accepted from now on. Thanks to Jacob Wright <jacwright@gmail.com>
for reporting the problem. It fixes bug #364:
http://code.google.com/p/cherokee/issues/detail?id=364
* cherokee/connection-protected.h, cherokee/handler_error_redir.c,
cherokee/handler_cgi_base.c, cherokee/connection.c: Adds
REDIRECT_QUERY_STRING support.
* qa/195-ServerAddr.py (Test.CustomTest): Replaces the
'expected_one_of_these' property by a CustomTest method. It's a
much cleaner solution.
* qa/base.py: Removes the ancient and no longer used
'expected_content_length' and 'expected_one_of_these' properties.
2009-02-17 Antonio Perez <aperez@skarcha.com>
* cherokee/source_interpreter.c: We need a better check for
interpreter.
* cherokee/cryptor_libssl.c (_vserver_new): SSL options setting
simplification.
2009-02-15 Antonio Perez <aperez@skarcha.com>
* cherokee/handler_streaming.c, cherokee/handler_streaming.h:
Fixes compilation issue when libavformat is not present.
2009-02-14 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/source_interpreter.c: A new sanity check has been added
so an error is raised if a configured interpreter is not found.
* admin/PageGeneral.py: Adds a data validation entry:
server!timeout was not being validated.
* cherokee/connection-protected.h, cherokee/connection.c,
cherokee/handler_error_redir.c, cherokee/handler_cgi_base.c,
cherokee/thread.c: Adds internal redirection capabilities to
error_dir handler.
* qa/199-ErrorRedir.py, qa/Makefile.am: New QA test. It checks
that the REDIRECT_URL variabl is set right.
2009-02-14 Antonio Perez <aperez@skarcha.com>
* cherokee/cryptor_libssl.c, cherokee/virtual_server.c,
cherokee/virtual_server.h, admin/PageVServer.py: Adds support for
chained SSL certificates.
2009-02-12 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/ModuleStreaming.py (ModuleStreaming): Since the Streaming
module depends on the file handler, it has to show the "Static
Content" properties as well.
2009-02-11 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_streaming.h, cherokee/handler_streaming.c: Some
work towards implementing h264 seeking.
2009-02-09 Antonio Perez <aperez@skarcha.com>
* admin/PageVServer.py: Paths to certificate files are full paths
now.
2009-02-09 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/connection.c (cherokee_connection_build_header): Fixes
keep-alive so 3xx replies can let the connection open.
* cherokee/connection.c
(cherokee_connection_set_chunked_encoding): Fixes a encoding bug.
Chunked-Encoding was something being missused. This issue caused
QuickTime/7.6 to drop the connection while reading a data stream
from the server.
* www/favicon.ico, www/Makefile.am (cherokeewwwimages_DATA): Adds
a favicon.ico file to the default www directory.
* cherokee/streaming.deps, cherokee/Makefile.am: Adds the
streaming plug-in inter-handler dependencies file.
2009-02-08 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_streaming.c: Fixes ?start support.
2009-02-07 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/Makefile.am, cherokee/handler_streaming.c,
cherokee/handler_streaming.h, cherokee/connection.c,
cherokee.conf.sample.pre, configure.in, admin/ModuleStreaming.py,
admin/consts.py, admin/Makefile.am: Adds a new Audio/Video
streaming handler. It is working, but not finished yet.
2009-02-06 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/cryptor_libssl.c (openssl_verify_peer): Removing
function. It is no longer needed.
* cherokee.conf.sample.pre, cherokee/handler_dirlist.c: Fixes an
internal path issue. Thanks Antonio and Stefan!
http://code.google.com/p/cherokee/issues/detail?id=342
* cherokee/thread.c, cherokee/connection.h,
cherokee/connection.c (cherokee_connection_create_encoder): Fixes
a compilation issue.
* cherokee/validator_pam.c: Fixes a few minor compilation
issues. Patch by Stefan de Konink <stefan@konink.de>.
* cherokee/source.c (cherokee_source_connect): Adds likelihood.
* cherokee/server.c (cherokee_server_free): Frees the cryptor
object on server::free(). Patch by Stefan de Konink.
* cherokee/cryptor.c (cherokee_cryptor_free_base): Frees the
cryptor structure.
* cherokee/cache.c (cherokee_cache_mrproper): Frees the cached
pages on exit. Patch by Stefan de Konink <stefan@konink.de>:
http://code.google.com/p/cherokee/issues/detail?id=354
* doc/cookbook_django.txt: Fixes a couple of issues reported by
Stephane Raimbault <stephane.raimbault@gmail.com>.
2009-02-05 Antonio Perez <aperez@skarcha.com>
* cherokee/server.c: Ensure there is at least one port to
listen to.
* admin/PageGeneral.py: TLS checkboxes could not be unchecked.
2009-02-04 Antonio Perez <aperez@skarcha.com>
* cherokee/server.c: Cherokee should not listen for TLS/SSL
connections if global TLS/SSL is not enabled.
2009-02-03 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/resolv_cache.c, cherokee/validator.c,
cherokee/rule_geoip.c, cherokee/validator_mysql.c,
cherokee/thread.c, cherokee/server.c: Fixes a number of variable
initialization issues. Patch by Marcus Rueckert <darix@opensu.se>.
* cherokee/main_admin.c (config_server): Spawning Timeout
increased up to 25 seconds. There were times when I got "Gateway
Timeout" because of it. It seems that the cherokee-admin Python
back-end isn't that light these days.
* configure.in: Try to deal with a PHP bug that the PHP folks
don't seem to be willing to fix:
http://bugs.gentoo.org/250627
http://bugs.gentoo.org/216346
2009-02-02 Jonathan Hernandez <ion@suavizado.com>
* admin/static/css/cherokee.css: Remove margin from H2 tag and add
that margin to tableprop_block, rulestable and indent.
* admin/PageVServers.py: Indent Add New and Clone Virtual Server
2009-02-02 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/thread.c (send_hardcoded_error): Improve error
reporting. Now, when a connection is waiting for I/O and it times
out, the user will receive an error. Previously the connection was
just closed and the client got nothing in reply to its request.
* cherokee.conf.sample.pre: The local PHP 'information source' is
now named 'PHP Local' instead of 'php'.
* cherokee/connection.c (cherokee_connection_print): Adds a couple
of new entries to the connection tracing function.
2009-02-01 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_proxy.c (cherokee_handler_proxy_add_headers):
Fixes an (unlikely) segment fault.
* cherokee/socket.c: Fixes bug #353. This patch is based on the
excelent work of Stefan de Konink <stefan@konink.de>:
http://code.google.com/p/cherokee/issues/detail?id=353
* cherokee/socket.h (SOCKET_SIN6_ADDR): New macro.
* cherokee/source.c (cherokee_source_connect): Adapted it to use
the new cherokee_string_is_ipv6() function.
* cherokee/util.h, cherokee/util.c (cherokee_string_is_ipv6):
Added a new function. It detects whether or not a host string
contains a IPv6 address.
* cherokee/source.c (set_host): The function has been rewrittem to
use cherokee_parse_host().
* cherokee/util.h, cherokee/util.c (cherokee_parse_host): New
function. It parses host references. The following formats are
supported: 127.0.0.1, 127.0.0.1:80, localhost, ::1, [::1]:80.
* cherokee/cryptor_libssl.c (_socket_write): Improve error
reporting on failed writes. Fixes bug #317:
http://code.google.com/p/cherokee/issues/detail?id=317
Patch by Stefan de Konink <stefan@konink.de>
2009-01-31 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/admin/flags.py: Fixes a GeoIP module issue. The list was
not being built properly because of trailing comma character.
* admin/PageEntry.py (PageEntry._render_rule): Don't show the
modules that are not available.
* admin/PageEntry.py, admin/validations.py: Adds a new "Traffic
Shaping" tab. Rules can define outgoing traffic limits.
2009-01-30 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_cgi_base.c (parse_header): Fixes bug #344.
CGI-based handlers were not parsing "HTTP/x.y" headers.
http://code.google.com/p/cherokee/issues/detail?id=344
* qa/Makefile.am, qa/198-HTTPresponse.py: Adds a new QA test bug:
http://code.google.com/p/cherokee/issues/detail?id=344
* admin/PageVServers.py: Fixes a Virtual Server reordering issue:
http://code.google.com/p/cherokee/issues/detail?id=352
* cherokee/balancer_ip_hash.c (dispatch): Adds a check to ensure
that the server will not segment fault even if no sources have
been defined (~ misconfiguration). Thanks to Stefan for pointing
the issue: http://code.google.com/p/cherokee/issues/detail?id=348
* admin/ModuleCgi.py: CGI's change_user property is a boolean
value (rather than a integer representing a specific UID).
* cherokee/connection.c (build_response_header_expiration): Fixes
a typo. http://code.google.com/p/cherokee/issues/detail?id=351
2009-01-28 Antonio Perez <aperez@skarcha.com>
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/cryptor_libssl.c, admin/consts.py, admin/PageVServer.py:
Better support for TLS/SSL client certificates.
2009-01-28 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/PageInfoSource.py, admin/validations.py: Adds a couple of
new validation checks. The information sources cannot include the
protocol, nor further details (such as paths). For intance,
"http://host:port/dir" should be read as "host:port".
* admin/PageVServer.py, admin/ModuleErrorRedir.py: Fixes look &
feel. Some of the tabs did not follow the common style.
2009-01-27 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/virtual_server.c, cherokee/connection-protected.h,
cherokee/limiter.c, cherokee/limiter.h, cherokee/config_entry.c,
cherokee/config_entry.h, cherokee/thread.c, cherokee/connection.c,
cherokee/thread.h, cherokee/handler_file.c, cherokee/Makefile.am:
Adds Traffic Shaping functionality. It implements the most basic
functionality (per connection limit).
* admin/PageGeneral.py (PageGeneral._render_ports): Typo
fixed. Thanks Genesis (#cherokee, freenode).
* cherokee/bogotime.c (update_guts): Fixes a silly mistake:
usecs != msecs.
* cherokee/handler_error.c (build_hardcoded_response_page): It
should escape redirecting URLs when repoting a "move".
* cherokee/socket.c (cherokee_socket_sendfile): Fixes a FreeBSD
compilation issue. Reported by Jessica Laurie H.
2009-01-26 Antonio Perez <aperez@skarcha.com>
* cherokee/handler_server_info.c: Fixes wrong behaviour when
request starts with "/info".
* admin/static/js/common.js, admin/Form.py, admin/ModuleRedir.py:
Removed unneeded <div> elements and better use of jQuery in
"options_change" JS function.
* admin/server.py, admin/Page.py: Removed ancient "apply changes"
code.
* configure.in, cherokee/threading.c, cherokee/threading.h:
pthread_mutexattr_setkind_np is deprecated, so we will use
pthread_mutexattr_settype when available.
2009-01-26 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/bogotime.c, cherokee/bogotime.h: Added global variable
cherokee_bogonow_msec to track time in miliseconds.
2009-01-25 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/PageGeneral.py (PageGeneral._render_content): Fixes style.
* admin/Page.py: Removes a space. It was causing the Javascript
execution to fail in some browsers. Patch by marcos.devera.
http://code.google.com/p/cherokee/issues/detail?id=336
2009-01-24 Alvaro Lopez Ortega <alvaro@octality.com>
* contrib/011to098.py (convert): server!listen entries weren't
handled: http://code.google.com/p/cherokee/issues/detail?id=335
* cherokee/threading.c, cherokee/threading.h: Replaces
HAVE_PTHREAD_H by HAVE_PTHREAD. Fix by swanson@ukfsn.org.
* qa/080-Extension2., qa/029-Post+Without-lenght.py,
qa/072-Inherit3.py, qa/102-QueryString.py, qa/035-PHP-simple.py,
qa/138-ChangeUser-cgi.py, qa/131-ChangeUser-phpcgi.py,
qa/079-Extension.py, qa/068-PathInfo2.py, qa/115-Respin.py:
Removes phpcgi references. Even though the module is still being
shipped, it's been deprecated for quite some time now.
* cherokee/rule_extensions.c (match): Fixes PathInfo handling when
matching an extension rule.
* cherokee/init.c, cherokee/threading.c, cherokee/threading.h:
Fixes compilation without pthreads. Bug #334:
http://code.google.com/p/cherokee/issues/detail?id=334
2009-01-23 Alvaro Lopez Ortega <alvaro@octality.com>
* Cherokee 0.98.0 released.
* doc/other_community.txt: Adds links to the bug tracker, the IRC
channel, and Ohloh project page.
* cherokee/cryptor_libssl.c (_socket_init_tls): Do not report so
many errors when a SSL connection cannot be accepted.
2009-01-23 Taher Shihadeh <taher@unixwars.com>
* admin/Form.py: polish the non-persistent tabs fix if issue 311.
2009-01-23 Stefan de Konink <stefan@konink.de>
* cherokee/balancer_ip_hash.c: Fixes a memory management issue.
http://code.google.com/p/cherokee/issues/detail?id=332
2009-01-23 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_error.c (build_hardcoded_response_page): Fixes
a malformed URL reporting. Bug #318:
http://code.google.com/p/cherokee/issues/detail?id=318
2009-01-22 Taher Shihadeh <taher@unixwars.com>
* doc/media/images/admin_handler_cgi.png,
doc/modules_handlers_cgi.txt: Reflect the previous change.
2009-01-22 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/bogotime.c (cherokee_bogotime_try_update): Replaces a
call to CHEROKEE_RWLOCK_TRYREADER() by CHEROKEE_RWLOCK_TRYWRITER()
It must have been a copy&paste issue, actually. Thanks a million
to Shi Yao <shiyao@gmail.com> for discovering the problem (and
sending a great report/analysis about it). Kudos to Shi!!
* cherokee/handler_cgi_base.c: Fixes the client headers forwarding
(HTTP_* headers). From now on, the forwarding mechanism is enabled
by default.
* admin/ModuleCgi.py: Reflect the previous change: client headers
forwarding is enabled by default.
* qa/142-SCGI-ExtraVars.py, qa/util.py: This small change fixes a
wrong postcondition. The test was expecting a raw headers instead
of the HTTP_*-encoded header.
* cherokee/buffer.c (cherokee_buffer_prepend), cherokee/buffer.h:
Fixes a trivial compilation warning.
* qa/197-SOAPAction.py: Adds a new QA test in order to reproduce
(and protect again future regressions) for the bug #325:
http://code.google.com/p/cherokee/issues/detail?id=325
* cherokee/init.h, cherokee/init.c, cherokee/post.c: Removes a
"/tmp" directory hardcoded path. From now on a global
cherokee_tmp_dir buffer is available with the temporal directory
path.
* cherokee/util.c (cherokee_tmp_dir_copy): A new utility function
has been added. It figures the temporal directory that Cherokee
ought to use. The first choice is the directory pointed by the
CHEROKEE_TMPDIR environment variable. In case it were empty it'd
try to read the TMPDIR environment variable (or TEMP on Windows).
Finally, if it failed as well, a hardcoded "/tmp" value would be
used.
2009-01-21 Taher Shihadeh <taher@unixwars.com>
* doc/modules_handlers_cgi.txt: added example as requested in
issue 298.
2009-01-21 Antonio Perez <aperez@skarcha.com>
* admin/Page.py, admin/static/css/cherokee.css: Fixes a CSS
problem: http://code.google.com/p/cherokee/issues/detail?id=324
2009-01-21 Taher Shihadeh <taher@unixwars.com>
* doc/media/images/cookbook_phpbb_rules.png,
doc/media/images/cookbook_maintenance_domain.png,
doc/media/images/cookbook_managing_logs_security.png,
doc/media/images/cookbook_nagios1.png,
doc/media/images/cookbook_nagios3.png,
doc/media/images/cookbook_maintenance_rule.png,
doc/media/images/cookbook_phpmyadmin_denied.png,
doc/media/images/cookbook_redir_domains.png,
doc/media/images/cookbook_nagios2.png,
doc/media/images/cookbook_managing_logs_handler.png: last outdated
screenshots.
* admin/Form.py: fixes problem with non-persistent tabs, issue
http://code.google.com/p/cherokee/issues/detail?id=311
2009-01-20 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/PageStatus.py, admin/status.template.html: Adds
a (cheesy?) notice thanking beta testers.
2009-01-19 Taher Shihadeh <taher@unixwars.com>
* doc/media/images/admin_handler_fastcgi2.png,
doc/media/images/admin_launch.png,
doc/media/images/admin_vserver_loggers.png,
doc/media/images/admin_vserver_errors.png,
doc/media/images/admin_handler_onlylisting.png,
doc/media/images/admin_validators_authlist.png,
doc/media/images/cookbook_django_common.png,
doc/media/images/cookbook_dbslayer4.png,
doc/media/images/admin_validators_ldap.png,
doc/media/images/admin_handler_proxy.png,
doc/media/images/admin_validators_plain.png,
doc/media/images/admin_rule_regex.png,
doc/media/images/admin_general_ports.png,
doc/media/images/admin_handler_file.png,
doc/media/images/admin_notrunning.png,
doc/media/images/cookbook_dbslayer3.png,
doc/media/images/admin_index.png,
doc/media/images/admin_vserver_security.png,
doc/media/images/admin_info_sources.png,
doc/media/images/cookbook_django_infosources.png,
doc/media/images/admin_validators_pam.png,
doc/media/images/admin_vserver_vserver.png: Screenshots were
outdated.
* doc/cookbook_drupal.txt: improved recipe. Thanks to Eric
Drechsel <ericdrex@gmail.com>.
* doc/media/images/cookbook_drupal_example1.png,
doc/media/images/cookbook_drupal_example3.png,
doc/media/images/cookbook_drupal_example5.png,
doc/media/images/cookbook_drupal_default3.png
doc/media/images/cookbook_drupal_rules1.png,
doc/media/images/cookbook_drupal_example2.png
doc/media/images/cookbook_drupal_example4.png,
doc/media/images/cookbook_drupal_rules.png,
doc/media/images/cookbook_drupal_default2.png: Updated
screenshots.
* doc/media/images/cookbook_ror_common.png,
doc/media/images/cookbook_maintenance_advanced_domains.png,
doc/media/images/cookbook_redir_behavior.png,
doc/media/images/cookbook_mysql_validator.png,
doc/media/images/cookbook_wp_example1.png,
doc/media/images/cookbook_wp_example3.png,
doc/media/images/cookbook_maintenance_error.png,
doc/media/images/cookbook_maintenance_advanced_redir.png,
doc/media/images/cookbook_managing_logs_security.png,
doc/media/images/cookbook_maintenance_advanced_rules.png,
doc/media/images/cookbook_trac_rules.png,
doc/media/images/cookbook_mono_handler.png,
doc/media/images/cookbook_wp_default1.png,
doc/media/images/cookbook_moodle_document_root.png,
doc/media/images/cookbook_mailman.png,
doc/media/images/cookbook_managing_logs_rules.png,
doc/media/images/cookbook_redir_handler.png,
doc/media/images/cookbook_wp_example2.png,
doc/media/images/cookbook_trac_scgi.png,
doc/media/images/cookbook_managing_logs_handler.png,
doc/media/images/cookbook_mysql_rule.png,
doc/media/images/cookbook_trac_static.png,
doc/cookbook_managing_logs.txt: Updated screenshots.
2009-01-19 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/PageGeneral.py, admin/validations.py: Fixes port entries
validation. It also changes the look a little bit.
2009-01-19 Taher Shihadeh <taher@unixwars.com>
* doc/media/images/admin_handler_dbslayer.png,
doc/media/images/admin_handler_dirlist.png,
doc/media/images/README.txt, doc/media/images/admin_advanced2.png,
doc/media/images/admin_advanced4.png,
doc/media/images/cookbook_drupal_rules1.png,
doc/media/images/admin_behaviour.png,
doc/media/images/admin_handler_fastcgi1.png,
doc/media/images/admin_handler_admin.png,
doc/media/images/admin_advanced1.png,
doc/media/images/admin_advanced3.png,
doc/media/images/admin_handler_cgi.png,
doc/media/images/cookbook_drupal_rules2.png,
doc/media/images/admin_handler_custom_error.png: Screenshots were
outdated.
2009-01-19 Alvaro Lopez Ortega <alvaro@octality.com>
* qa/196-Mime3.py, qa/Makefile.am: Adds a new QA to cover
changeset: http://svn.cherokee-project.com/changeset/2721
* doc/config_icons.txt, doc/media/images/admin_icons2.png,
doc/media/images/admin_icons1.png,
doc/media/images/admin_icons3.png: Reflects the last change in the
documentation. Screenshots were outdated.
* admin/static/css/cherokee.css, admin/PageIcon.py: Updates the
Icons page to the new page width (1024px).
2009-01-19 Taher Shihadeh <taher@unixwars.com>
* doc/dev_debug.txt, doc/basics_why_cherokee.txt,
doc/config_general.txt, doc/index.txt, doc/config_quickstart.txt,
doc/modules_handlers_file.txt, doc/cookbook_optimizations.txt,
doc/bundle_cherokee-admin.txt, doc/dev_cherokee.conf.txt,
doc/modules.txt, doc/modules_balancers_ip_hash.txt: documentation
updates for the upcomming 0.98
2009-01-19 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/main_admin.c (config_server): Adds a few basic MIME
types. Cherokee-admin should have been returning content-type
information.
* cherokee/handler_file.c (cherokee_handler_file_custom_init):
Improved to support MIME types associated with complex extensions.
Eg, "css.default" (used in Gallery).
2009-01-18 Alvaro Lopez Ortega <alvaro@octality.com>
* admin/PageMime.py, admin/static/css/cherokee.css,
admin/validations.py: Rework the MIME page. Now it fits better in
the new layout. Value validation has been foxed as well.
2009-01-16 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_server_info.c (AJAX_JS): Removes a hard-coded
path.
* admin/PageStatus.py, admin/static/images/web_proud.jpg,
admin/static/images/Makefile.am, admin/status.template.html: Adds
a new image linking to our "Proud Cherokee Users" program.
* doc/modules_balancers.txt, doc/modules_balancers_ip_hash.txt,
doc/Makefile.am: Adds some basic documentation about the IP Hash
load balancer.
* cherokee/handler_server_info.c (AJAX_JS): Fixes a Javascript
parsing error. 'default' is a reserved work, so it cannot be used
as a dict index without quotes.
* cherokee/handler_server_info.c, cherokee/logo.inc: The embedded
Cherokee of the server_info handler have been updated. It is a PNG
now (instead of a GIF file). Even though it's slightly bigger, it
alpha channel improves the L&F quite a lot.
* contrib/bin2buffer.py: Call cherokee_buffer_ensure_size() in
order to avoid memory reallocations.
* cherokee/connection.c (cherokee_connection_build_header),
cherokee/http.h: Rework the 304 issue. It was adding the chunked
connection header in replies with no body.
* cherokee/server.c (cherokee_server_read_config_file),
cherokee/server.h: Fixes a trivial compilation warning.
* cherokee/connection-protected.h, cherokee/util.h, configure.in:
Fixes a compilation problem on OpenBSD current:
http://code.google.com/p/cherokee/issues/detail?id=316
Thanks to bradla8@yahoo.com for the patch.
2009-01-15 Jonathan Hernandez <ion@suavizado.com>
* cherokee/handler_server_info.c: Enhacements to CSS, Use
Javascript DOM to generate the info page instead innerHTML.
2009-01-15 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/balancer_ip_hash.c (dispatch): Fixes a problem with the
IP Hash balancer. The reactivation mechanism (triggered on
exhaustion) was not working properly.
* cherokee/connection.c (cherokee_connection_build_header),
cherokee/http.h: Reimplements the previous patch. 1xx, 204 and 304
don't have a body, and therefore should not use chunked encoding.
* cherokee/handler_error.c (cherokee_handler_error_add_headers),
cherokee/handler_file.c (cherokee_handler_file_add_headers): Fixes
a problem with 304 "Not modified" responses and Keep-Alive
connections.
2009-01-14 Alvaro Lopez Ortega <alvaro@octality.com>
* doc/media/images/admin_general.png,
doc/media/images/admin_general_networking.png,
doc/media/images/admin_general_permissions.png,
doc/media/images/admin_general_ports.png, doc/config_general.txt:
Updated the 'General' configuration page. It reflects the last
changes about port binding.
* cherokee/fdpoll.c, cherokee/fdpoll.h,
cherokee/encoder_deflate.c, cherokee/main_worker.c,
cherokee/handler_ssi.c, cherokee/validator_htpasswd.c,
cherokee/header.c, cherokee/header.h, cherokee/encoder_gzip.c,
cherokee/handler_custom_error., cherokee/source_interpreter.c,
cherokee/rule_method.c, cherokee/admin_client.c,
cherokee/validator_mysql.c, cherokee/cache.c, cherokee/dwriter.c,
cherokee/dwriter.h, cherokee/socket.c, cherokee/logger_w3c.c,
cherokee/handler_server_info.c, cherokee/plugin_loader.c,
cherokee/plugin_loader.h, cherokee/handler_cgi_base.c,
cherokee/handler_cgi_base.h, cherokee/handler_dirlist.c,
cherokee/source.c, cherokee/validator_file.c,
cherokee/main_admin.c, cherokee/buffer.c, cherokee/handler_file.c,
cherokee/buffer.h, cherokee/main.c, cherokee/handler_fcgi.c,
cherokee/util.c, cherokee/handler_fastcgi.c, cherokee/util.h,
cherokee/cryptor_libssl.c, cherokee/handler_scgi.c,
cherokee/logger_ncsa.c, cherokee/post.c, cherokee/handler_error.c,
cherokee/post.h, cherokee/handler_cgi.c, cherokee/handler_cgi.h,
cherokee/main_tweak.c, cherokee/connection.c,
cherokee/connection.h, cherokee/server.c, cherokee/server.h: Fixes
a whole bunch of compilation issues.
2009-01-14 Antonio Perez <aperez@skarcha.com>
* cherokee/handler_server_info.c: Page refresh using Ajax.
2009-01-13 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/util.c (cherokee_ntop): The inet_ntoa() implementation
has been moved to cherokee_ntop().
* cherokee/util.h, cherokee/util.c, cherokee/handler_cgi_base.c,
cherokee/socket.h, cherokee/socket.c: Fixes a ntop issue:
http://code.google.com/p/cherokee/issues/detail?id=309
* cherokee/handler_server_info.c (AJAX_JS): Removes a hardcoded
path: http://code.google.com/p/cherokee/issues/detail?id=312
2009-01-12 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_server_info.c: Adds a notice about how to
access the dwriter interfaces.
* cherokee/handler_server_info.c (server_info_build_info): Now it
requests the server information with Ajax. The server_info handler
will reply to thar request as well, and will send a JSON encoded
reply. This (javascript) code reads it and renders the tables for
the page. This is the very first implementation, this stuff must
be improved before the next release (at least tables are shown).
* cherokee/handler_cgi_base.c: Fixes the SERVER_ADDR variable
generation. It also fixes its relative QA test in order to work
with boht IPv6 and IPv4.
* qa/base.py: Adds a new type of checking: expected_one_of_these.
It allows QA tests to require the match of at least one of the
strings of the list.
2009-01-11 Alvaro Lopez Ortega <alvaro@octality.com>
* qa/195-ServerAddr.py, qa/Makefile.am: Tests wether the
SEVER_ADDR is actually containing the right value.
* qa/015-CGI-simple.py, qa/017-CGI-pathinfo2.py,
qa/016-CGI-pathinfo.py, qa/018-CGI-pathinfo3.py: Reformats CGI
code.
2009-01-10 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/zlib/deflate.c: Fixes a compilation warning.
2009-01-10 Antonio Perez <aperez@skarcha.com>
* cherokee/handler_error.c (build_hardcoded_response_page):
404 Not Found page was returning the final target on redirections
instead the original request.
* cherokee/connection.c (cherokee_connection_log_or_delay):
Every request must be logged in access log.
2009-01-09 Jonathan Hernandez <ion@suavizado.com>
* admin/*: Redesign of Cherokee Admin UI to fit 960px wide,
Fixes bug: http://code.google.com/p/cherokee/issues/detail?id=272
Change accordion ui to tabs Move help links to header
Update jquery to 1.2.6 and UI widgets.
2009-01-08 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/pcre/pcre_compile.c, cherokee/pcre/pcre_internal.h:
Fixes a couple of compilation warnings on the PCRE library.
* cherokee/zlib/defutil.h (bi_reverse, bi_windup, bi_flush):
Removes three duplicated function prototypes.
* admin/status.template.html: Adds a link to the "Proud Cherokee
Users" program:
http://www.cherokee-project.com/cherokee-domain-list.html
2009-01-07 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/Makefile.am (libcherokee_server_la_SOURCES):
cherokee_dwriter_t is now part of libcherokee-server.
2009-01-07 Antonio Perez <aperez@skarcha.com>
* admin/PageInfoSource.py: Links to virtual servers were wrong.
Fixes bug: http://code.google.com/p/cherokee/issues/detail?id=305
Patch by Stefan de Konink <stefan@konink.de>.
2009-01-05 Alvaro Lopez Ortega <alvaro@octality.com>
* cherokee/handler_server_info.c, cherokee/handler_server_info.h:
The Server Info handler has been rewritten. Now it uses the
cherokee_dwriter_t class, so raw data can be obtained from it.
2009-01-05 Antonio Perez <aperez@skarcha.com>
* cherokee/virtual_server.c, cherokee/connection.c: A "/" at the
end of userdir is not needed, and request_original should be
changed only if empty.
2009-01-05 Alvaro Lopez Ortega <alvaro@octality.com>