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
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
|
Apache TomcatApache Logo
---------------------------------------------------------------------------
The Apache Tomcat Connector - Miscellaneous Documentation
Changelog
Preface
This is the Changelog for Tomcat Connectors. This changelog does not
contain all updates and fixes to the Tomcat connectors (yet). It should
contain fixes made only after November 10th 2004, when the new
documentation project for JK was started.
Changes between 1.2.31 and 1.2.32
Native
fix 51417: Fix worker busy detection by querying the worker
endpoint. Abandoned connections can leave a worker in busy
state without decrementing busy counter. (mturk)
fix 50339: Fix whitespace trimming when parsing attribute lists.
(rjung)
fix 41263: Support Servlet API getRemotePort(). Works for Tomcat
5.5.28, 6.0.20 and 7.0.0 and Apache and ISAPI plugins. (rjung)
fix 41923: AJP: Close AJP connection to Tomcat on client write
error when recovery_options 4 is specified, aborting the
response write on the Tomcat side. (timw)
update AJP: Cap the lingering bytes that will be read when shutting
down an AJP socket at 32k to prevent CPU spikes in the web
server when a client aborts on a large response body. Also
reduce total linger time to 2s. (timw)
fix 50839: AJP: Fix 30sec CPU spike due to incorrect counting of
lingering bytes causing a busy loop when a client aborts
connection during a response write. Fixes regression in
1.2.31. (timw)
add LB: Forward worker activation state as request attribute
"JK_LB_ACTIVATION". Possible values are "ACT" (active), "DIS"
(disabled) and "STP" (stopped). (rjung)
fix HTTPD: Forward WWW-Authenticate from backend when status is
401 and server generated error pages are used. (rjung)
fix 50363: IIS: Prevent chunk encoding of empty message bodies for
204, 205 and 304 responses. (timw)
fix 50975: IIS: Fix hanging of Transfer-Encoding: chunked requests
when Content-Length header is present in request as well. Also
addresses situation where IIS appears to create a
Content-Length header for a small chunk encoded request when
none was present in the original request. (timw)
fix 47679: IIS: stop truncation of request headers when ISAPI
redirector used as an extension without the corresponding
filter installed. (timw)
fix NSAPI: Use lower case header names for responses. Otherwise
the web server might add chunked transfer encoding header in
addition to our content length header.
update Docs: Improve load balancer documentation. (rjung)
Changes between 1.2.30 and 1.2.31
Native
fix 49413: AJP13: Drop flush packets send by the backend after the
response has been finished. (rjung)
update AJP: Log the local and remote socket address. (mturk)
update Watchdog: Move the maintain workers outside the critical
section allowing other threads to use the connection pool
during maintenance. (mturk)
update Common: Add svn revision to init log message. (rjung)
fix Common: Don't destroy errno during trace logging. (rjung)
update Apache: Add support for Apache 2.3/2.4. (rjung)
update Apache: Added version number resource for mod_jk.so on
Windows. (timw)
update 48501: IIS: Added rotatelogs style log rotation to ISAPI
Redirector. (timw)
fix 38895: IIS: Use RAW headers instead of CGI headers by default
to prevent conversion of underscores '_' to hyphens '-' in
header names. Old behaviour can be enabled by defining
USE_CGI_HEADERS. (timw)
fix 49511: IIS: Do not override IIS log information when
subsequent requests on a keep-alive connection are not mapped
into the ISAPI Redirector. (timw)
fix Docs: Document SSLOptions needed for SSL information
forwarding. (rjung)
update Docs: Grammar and style improvements and clarification about
serving static content by IIS. Patch provided by Andr�
Warnier. (rjung)
fix Docs: Update subversion paths used in docs. (rjung)
Changes between 1.2.28 and 1.2.30
Native
update Apache: Improve compatibility with Apache 2.3. (rjung)
fix 46632: Apache: Do not register child cleanup for our pools.
(mturk)
fix 46893: Apache: Log warning only if JkShmSize was actually set
in the configuration. (mturk)
update IIS: Include optional chunking support. Off by default.
(mturk)
fix 48763: IIS: Do not send Content-Length when using chunked
encoding or length larger 4GB. (mturk)
fix 48223: IIS: Propagate correct backend error code to IIS.
(rjung)
fix 47867: IIS: crash during startup, when compiled with VS2008
and workers.properties contains unsupported properties. Patch
provided by Indrek Juhani (rjung)
fix 47628: IIS: Fix deadlock when restarting the Application Pool
caused by not releasing the critical section lock. Patch
provided by Bret Prucha. (mturk)
fix IIS/NSAPI: Correct log file flushing after each line. (mturk)
add NSAPI: Add Microsoft Visual C++ Makefile. (mturk)
update AJP: Improve socket shutdown handling. (mturk)
update AJP: Ensure we never reuse a non reusable socket. (mturk)
update AJP: Tolerate a single excess packet when waiting for cpong.
(mturk)
update AJP: Check protocol correctness more strictly. (mturk)
update 48410: AJP: Use poll instead select so we can work with more
then 1024 sockets. (mturk)
fix 46503: AJP/Status: Garbage data in worker domain and route.
(mturk)
fix 48276: AJP: When worker contact cannot be resolved mark the
worker as disabled instead failing to start the server.
(mturk)
fix 48169: AJP: Improve CGI interoperability by closing all
sockets during EXEC. (mturk)
add Status: Add number of open backend connections to status
worker. This feature is experimental, the displayed value
might not be accurate. (mturk)
update 47224: Status: When address gets changed invalidate all opened
sockets in the endpoint cache. This will cause new backend
connections to get opened using new address. (mturk)
fix 48305: Status: Do not show "secret" property when doing dump.
(mturk)
fix 45610: Status: Don't accept requests with empty value for sub
worker parameter. (rjung)
fix 45610: Status: Fix erroneous unsetting of sticky_session and
sticky_session_force when updating other load balancer
attributes via the status worker. (rjung)
fix 47222: Status: Add ping_timeout to the shared memory and allow
dynamic configuration. (mturk)
fix Status: Remove duplicate "errors" line in property view of
AJP13 workers that are part of a load balancer. (rjung)
fix LB: Fix route logging. (rjung)
update Logging: Automatically detect size of thread id for logging.
(rjung)
update Logging: Add optional log file locking for Windows when
defining JK_LOG_LOCKING. (mturk)
update Configuration: Update example configuration. (rjung)
update Docs: Update information about tools needed to create a
release. (rjung)
fix 47983: Docs: Fix typo in example config which breaks startup.
(rjung)
update Build: Force copy of automake files. (rjung)
update Build: Tomcat code repository structure cleanup reflected in
documentation and build script. (rjung, mturk)
Changes between 1.2.27 and 1.2.28
Native
add Apache: Add more environment variables to overwrite request
information. Useful in case a proxy is in front of Apache and
sends us original request information e.g. via custom headers.
(rjung)
update Apache: No longer preallocate entries for JK request log.
(rjung)
fix 46352: Apache: Fix crash when using SetHandler jakarta-servlet
in VHost without any JkMount. Crash due to incorrect
initialization of mount extensions. (rjung)
fix Apache: JkWatchdogInterval had wrong interval calculation
causing a 10 times higher watchdog interval then configured.
(mturk)
fix Apache: Activate forwarding of SSL key size by default.
(rjung)
fix 46169: Apache 1.3: Backport use_server_errors mount extension.
(rjung)
fix 46763: Apache 2.0: Survive the log mutex during graceful
restart. Patch provided by Eiji Takahashi. (mturk)
fix 46416: Apache 2.0 on Windows: Include mstcipip.h even if the
apr doesn't include it. (mturk)
update IIS: Update uriworkermap.properties file on a regular
interval. This requires both worker_mount_reload and
watchdog_interval to be defined. (mturk)
update IIS: Remove obsolete entries from registry file. (mturk)
fix 46579: IIS: Use local environment table instead environment
variables for setting the JKISAPI_PATH and JKISAPI_NAME.
(mturk)
update LB: Add new property error_escalation_time to fine tune
escalation of local errors to global errors. (rjung)
update LB: If the sticky session affinity mark contains a dot, treat
the part before the dot as the domain name. This allows to
have full node session affinity with domain failover. (mturk)
fix LB: make forced recovery work with local error states. (rjung)
fix LB: Only update error state and error time, if we actually
have a new state. (rjung)
fix LB: Set global worker state to error when we reach
max_reply_timeouts, or fail_on_status triggered hard error.
(rjung)
update AJP: Add a new error type JK_AJP_PROTOCOL_ERROR. (mturk)
update AJP: Allow worker ports lower or equal to 1024. (rjung)
update AJP: Improve some AJP error log messages. (mturk)
update Status: Allow changing worker address and port of AJP workers.
The address is resolved on next request for that worker.
(mturk)
update Status: Allow update actions to show error messages in the
result page. (rjung)
update Status: Refactor update actions. (rjung)
update Status: Do not redirect to the show or list page, if an error
occured during an action. (rjung)
update Status: Include error time in display. (rjung)
update Status: Remove redundant port information from worker display.
Rename address column and remove its explanation from the
legend. (rjung)
update Status: Optimize forced uriworkermap.properties reload.
(mturk)
fix Status: Fix crash in text display. (rjung)
fix Status: Show - Edit - Show always ends in single lb member
show, even when started from all members lb show. (rjung)
fix Status: Wildcards in sub worker names were broken for update
actions. (rjung)
fix Status: Add use_server_errors to map display. (rjung)
update SHM: Move locking into the data pull and push methods. (rjung)
update JNI: Deprecate JNI workers. (rjung)
fix Netware: Missing define for MAX_PATH. Patch by Guenter Knauf.
(rjung)
update Docs: Add a new HowTo page about reverse proxies. (rjung)
update Docs: Add an explanation of local error states to the timeouts
documentation. (rjung)
update Docs: Clarify relation between socket_timeout and
socket_connect_timeout. (rjung)
update Docs: Clarify IIS URL rewrite feature. (rjung)
fix 46834,46734: Docs: Fix a couple of missing or broken links.
(markt,rjung)
fix Docs: Add 2008 news to main page and menues. (mturk, rjung)
Changes between 1.2.26 and 1.2.27
Native
fix 46109: Decay reply_timeouts even when lb method is busyness.
Also reset reply_timeouts during forced recovery. (rjung)
update AJP13: Recycle connection if previous request didn't complete.
(mturk)
update Maintain should not run multiple times in parallel. (mturk)
fix Apache: Fix small memory leak during restart. (mturk)
update Improve signal handling during socket shutdown. (mturk)
add URI Map: Add debug dump function for uri worker map. (rjung)
update Add revision number to version info for non-release builds.
(rjung)
add IIS: Optionally allow chunked encoding for responses. At the
moment only usable, if build with ISAPI_ALLOW_CHUNKING
defined. Based on patch by Tim Whittington. (rjung)
update IIS: Optionally use raw headers instead of CGI headers. Fixes
problem "underscore=dash" problem in header names. At the
moment only available, if build with USE_RAW_HEADERS defined.
(rjung)
update IIS: Optionally improve IIS 5.1 compatibility. At the moment
only available, if build with AUTOMATIC_AUTH_NOTIFICATION
defined. Based on patch by Tim Whittington. (rjung)
fix IIS: Fix memory corruption due to parallel initialization by
multiple threads. (rjung)
update Windows: Use non-default socket keepalive interval. (mturk)
add IIS: Add environment variables JKISAPI_PATH and JKISAPI_NAME.
(mturk)
add Added socket_connect_timeout directive for setting the connect
timeout for the socket. This enables to have low connection
timeout but higher operational timeouts. (mturk)
fix AJP13: [CVE-2008-5519] Always send initial POST packet even if
the client disconnected after sending request but before
providing POST data. In that case or in case the client broke
the connection in a middle of read send an zero size packet
informing container about broken client connection. (mturk)
add AJP13: Added connection_acquire_timeout directive for setting
the absolute timeout the worker will wait for a free endpoint.
(mturk)
update Apache: Allow to set path parameter used when doing
JkStripSession. (mturk)
update Refactor retries implementation and change semantics of
retries attributes. (mturk)
update Status: Allow showing only a single member for a load
balancer. (rjung)
update Status: Add display of seconds since last statistics reset and
access and transfer rates. (rjung)
add AJP13: Add a configurable retry_interval time. (rjung)
update Documentation: Enhance description of connection_pool_size.
(rjung)
update IIS: Refactor error page generation. (mturk)
fix IIS: SERVER_NAME variable can be the same for multiple
different server instances if requests are handled according
to the ip:port combination. Use INSTANCE_ID variable to which
the request belongs instead. (mturk)
add Allow forwarding server error pages. This can be done on
per-uri basis using new use_server_errors extension. (mturk)
add Added session_cookie and session_path for configuring default
session identifiers. (mturk)
update Use max_packet_size also as TCP send and receive buffer size.
(mturk)
update Apache: Do not allow Apache to start in multi-threaded mode if
mod_jk was only build for single threaded server (prefork).
(mturk)
fix 45812: Add done() service method that causes sending EOS
bucket for Apache httpd 2.x. This allows filter chain to work
properly. (mturk)
add Added connection_ping_interval, ping_timeout and ping_mode
directives. (mturk)
fix Apache: Use correct ld flags provided by apxs when building
module. Prevents some crashes on AIX for httpd 1.3 module.
(rjung)
fix Documentation: "val" attribute numbering in status worker
needs to start with 0 instead of 1. (rjung)
update Documentation: Remove JNI parameters from sample configuration
in the workers generic howto. (rjung)
fix 45026: For Apache httpd 2.x add "Unknown Reason" as the reason
phrase, if we get an empty one from the backend. Otherwise
httpd 2.x returns status 500. (rjung)
fix Build: Fix Cygwin build. (rjung)
update Documentation: Add info to docs, that variables sent via
JkEnvVar are not listed in request.getAttributeNames().
(rjung)
add Add watchdog background thread for Apache 2.x and IIS doing
internal maintenance (idle connection checks, backend
probing). See JkWatchdogInternal (Apache) and
watchdog_interval (IIS). (mturk)
update Change log level of some messages from error to info. (mturk)
fix Documentation: Fix docs for worker attribute "secret". (rjung)
update Detect correct plugin name for various web servers via
additional preprocessor defines. (rjung)
fix LB: Do not put loadbalancer node in error state if there is
opened channel. This fixes the bug when new connection fails
due to busyness, causing opened connections fail stickyness.
This brings back per-node busy counter and private state array
for each request. We can mark the state as error for failover
to work while still operating and reporting node as OK if
there are opened working connections. (mturk)
fix 44738: Fix merging of JkOption ForwardURI* between virtual
hosts. Patch contributed by Toshihiro Sasajima. (rjung)
add URI Map: Add extension attributes to uri worker map. Allowed
are reply_timeout, active/disabled/stopped and fail_on_status.
Usage currently only implemented for httpd and IIS.
(rjung+mturk)
fix URI Map: Make dynamic reloading atomic and free memory not
needed any longer. (rjung)
add Configure: Don't use post httpd 2.2.0 API functions when
building with new --enable-api-compatibility configure switch.
(rjung)
fix Apache: JkAutoAlias does not work in combination with
JkMountCopy if there are no JkMount in virtual host. (rjung)
update LB: Optimize state macros to improve performance. (rjung)
add Apache: Allow dynamic setting of reply timeout using the
environment variable JK_REPLY_TIMEOUT. (rjung)
add Status: Add manageability for ajp parameters of ajp workers
and ajp lb members. (rjung)
update Status: Change parameter names of update action to make them
more easily distinguishable from other parameters. (rjung)
add Status: Add ajp worker statistics also for workers, that are
not lb members. (rjung)
update AJP: Refactor factories, move ajp13/ajp14 common parts into
ajp_factory. (rjung)
update Status: Only sync shm worker config values of the workers for
which we changed values. (rjung)
fix Status: Set lb_factor instead of distance. (rjung)
update Status: Minor layout changes, use drop down instead of
multiple text links. (rjung)
update SHM: Use local copies of read mostly attributes of lb sub
workers in lb and status worker. (rjung)
update Status: Add "dump" action to dump our initial configuration.
(rjung)
update Status: Use property table to decide which cmd action uses
which output elements. (rjung)
update Common: Include original configuration map in worker_env to
make it available for workers, e.g. the status worker. (rjung)
update LB: Refactor "route" return for httpd note. Don't use a member
of the worker_record, because that's not thread safe. (rjung)
update Common: Refactor "retries", remove from service and jk_worker,
move into ajp worker instead. (rjung)
update SHM: Use distinct structs for lb and ajp13 in shm. Improves
type safety and saves a few bytes. (rjung)
update SHM: Remove unused attributes. (rjung)
update SHM: Automatically determine shm size for all web servers.
(rjung)
update SHM: Make open/attach logging consistent for all web servers.
(rjung)
update Status: Include server local time in output. (rjung)
fix 44116: Fix handling of multiple JSESSIONID cookies. (rjung)
fix 37850: Use thread safe localtime_r where appropriate. (rjung)
fix Use thread safe strtok_r on more platforms, especially AIX.
(rjung)
update Status: Improve XSS hardening. (rjung)
update 35303: Move initialization of service members with defaults
from web server specific code to our generic
jk_init_ws_service() function. (rjung)
fix 36385: Add missing prepost CPing/CPong directly after connect
in case prepost CPing is used, but no connect CPing. (rjung)
update 37322: Apache: Enhance robustness of message formating in
jk_error_exit(). (rjung)
fix 44147: Multiple load balancing workers problem. (rjung)
Changes between 1.2.25 and 1.2.26
Native
fix 42003: Allocate memory instead using fixed size from the
stack. (mturk)
fix 43229: Load balancer does not do fail over after reply
timeouts. (rjung)
fix JKStatus: Repair detailed Apache httpd version display. This
was broken for httpd version 2.2.4+. (rjung)
update LB/AJP: Refactoring of jk_connect.c, jk_ajp_common.c,
jk_lb_worker.c (rjung)
fix Configure: Repair broken apxs auto-detection. (rjung)
update Configure: Remove trace logging from compiled code via new
--disable-trace configure switch. (rjung)
update Common: Maintain idle connections in decreasing (LRU) slot
order. (rjung)
update Apache: Create JK_WORKER_ROUTE and JK_REQUEST_DURATION notes
for access log even if no JkRequestLogFormat is set. (rjung)
update JKStatus: Enhance URI to worker map listing for Apache httpd.
We now list maps for all virtual servers and not only the one,
in which JKStatus itself was called. (rjung)
update JKStatus: Enhance URI to worker map listing. Update stale
uriworkermap.properties immediately. (rjung)
fix 43873: Fix small memory leak occuring during httpd restart.
(rjung)
update Common: Allow '*' for the worker name in exclusion rules
(resp. JkUnMount) which will override all workers. (rjung)
fix 42038: Correct overlay of mounts and unmounts for IIS. (rjung)
fix 43684: Replace JkMountFile by JkMountFileReload in
uriworkermap.properties docs. (rjung)
update Apache: Add new value "All" for JkMountCopy. (rjung)
fix 43516: Memory leak for Apache httpd module of size 8KB for
every virtual host without JK directive after each restart.
(rjung)
update Apache: Cleanup init and destroy of server configuration.
(rjung)
update Apache: Remove global configuration items from per server
configuration. (rjung)
update Apache: Remove unused attributes secret_key and
automount/JkAutoMount. (rjung)
update Cleanup of jk_uri_worker_map. (rjung)
update Documentation: Small additions to JkShmFile documentation.
Contributed by Gerhardus Geldenhuis. (rjung)
fix AJP13: Ignore flush packets before we received the response
headers. (rjung)
fix Fix crash during startup when using worker configuration
inheritance (attribute "reference") and log level debug.
(rjung)
fix AJP13: Match header names exactly against pre defined
constants. Avoid possible confusion with custom header names
using a standard header name as a prefix. (rjung)
fix jkstatus: Fix correct parameter validation at
JkStatusUpdateTask and JkStatusUpdateLoadbalancerTask ant
tasks. Reported by Christian Mittendorf. (pero)
Changes between 1.2.24 and 1.2.25
Native
update IIS: Fix shm shutdown behaviour. (rjung)
update General: fail_on_status used in a load balancer can optionally
do fail over without putting the failed worker in error state.
(rjung)
update NSAPI: Improve build description for Unix. (rjung)
update NSAPI: Add initialization startup message containing JK
version. (rjung)
fix General: Declare static functions as static. (jim)
update Documentation: Clarify fail_on_status behaviour. (rjung)
fix General: Do fail_on_status before returning the response
headers. (rjung)
update NSAPI: Fix shm shutdown behaviour. (rjung)
update NSAPI: Set return status even if request ended with an error.
(rjung)
update NSAPI: Allow using without shm_file on WIN32 and Netware.
(rjung)
fix NSAPI: Fix Crash of nsapi for log level debug and unset
refect_unsafe. (rjung)
update NSAPI: Improve Solaris and Linux Makefiles for nsapi build.
(rjung)
fix Build: Improve pid_t type detection during configure on
Solaris. (rjung)
update Build: Experimental build support for gcc on WIN32 and
Netware. (fuankg)
update Build: Makefile optimizations for Apache httpd 1.3/Netware .
(fuankg)
fix General: Fix missing flush bug introduced in 1.2.24. (rjung)
Changes between 1.2.23 and 1.2.24
Native
update Documentation: Improved workers.properties description in the
reference guide. (rjung)
update Documentation: Add a HowTo about the various timeouts. rjung)
update Logging: add milliseconds to the default timestamp format, if
we have gettimeofday(). (rjung)
update Apache: add milliseconds (%Q) and microseconds (%q) as
possible JkLogStampFormat conversion specifiers. This does not
use strftime(), but needs gettimeofday(). (rjung)
update IIS & Sun: Log service failures also, if return code is
negative. (rjung)
fix 42849: Abort startup of Apache httpd 1.3 in case mod_jk
initialization failed. We already do the same for Apache httpd
2.x. (rjung)
fix 42849: Refuse to operate with IIS in case the initialization
failed. Instead requesting isapi_redirect.dll 500 will be
returned to the user. This is as closest as it can get to
Apache Httpd where we refuse to start the server in case of
fatal initialization errors. (mturk)
fix Load Balancer: Fix a deadlock in lb worker, which was exposed
on Solaris for threaded Apache MPMs. (rjung)
update Logging: handle LWP IDs as 32 Bit unsigned. Try to make it
work, although pthread IDs are opaque. (rjung)
update JkStatus: Added manipulation of max_reply_timeouts. (rjung)
update LB, Status: Add feature max_reply_timeouts, to make lb
tolerant against occasional long running requests. (rjung)
update JkStatus: Added OK/IDLE as the successor of N/A. (rjung)
update Status worker: Renamed runtime states. All states have a major
state (OK or ERR) and a substate. Changed the name N/A to
OK/IDLE. Added docs about the meaning of the states to the
status worker page in the reference guide. No new states have
been added to code. (rjung)
update Common: Add recovery options for recovering idempotent http
methods HEAD and GET. (rjung)
fix Correct documentation for worker attributes retries and
recovery_options. (rjung)
fix Make writing log lines and line endings more atomic. (rjung)
update Common: Refactored and unified jk_map_read_prop* and
jk_map_load_prop* for all use cases. (rjung)
update Common/Apache/IIS/Netscape: Add an option to check decoded
URLs for potentially malicious constructions. (rjung)
update IIS: Document auth_complete and uri_select. (rjung)
update Apache/IIS/Netscape: Change the default forwarding encoding to
the new proxy method. (jfclere, rjung)
update Common: Optionally reencode URIs before forwarding to the
backend. Based on the URI reencoding done bei httpd mod_proxy.
(jfclere, rjung)
update Common: auto-detect correct print format for pid_t. This fixes
at least compiler warnings on Solaris. (rjung)
fix 42608: Handle Content-length as unsigned 64Bit to allow for
huge up- and downloads. (rjung)
update Apache: Add forwarding uri to debug log. (rjung)
update Docs: Clarify relation between worker names and jvmRoute for
load balancing. (rjung)
fix Use initial zero timeout for jk_is_socket_connected. The
resulting detection is the same but offers a huge performance
increase with mod_jk. In most cases the Operating System does
not favor the 1 microsecond timeout, but it rather rounds that
up to much higher value (frequency of interrupt timer which on
most systems defaults to 100Hz). Patch provided by David
McLaughlin. (mturk)
update NSAPI: Check correct log file and shm file configuration
during startup. (rjung)
fix NSAPI: Add support for the general options concerning retries,
flushing and connection persistance. (rjung)
fix NSAPI: fix crashes due to use of mount attribute in
workers.properties. Changed initialization order. (rjung)
fix Improved handling of libtool and discrepancies between CC env
variable and CC used during apache build by configure script.
(rjung)
fix Always build with thread support, unless flag --enable-prefork
is set during for configure. (rjung)
update Use snprintf/vsnprintf from ap_snprintf.c for platforms other
than Windows, which might lack snprintf/vsnprintf
implementations when NOT build for Apache httpd 2.x/APR (e.g.
Sub Web Server) or without using configure. (fuankg)
update Imported ap_snprintf() from Apache 1.3. (fuankg)
fix Fix incorrect log object cleanup during statup, leading to
crashes at least on iSeries. (rjung)
update Add jk_stat() and jk_file_exists() as wrapper functions. i5/OS
V5R4 expects filename in ASCII for fopen but requires them in
EBCDIC for stat(). (hgomez)
update i5/OS (AS/400) V5R4 port where Apache 2.0 modules should now
use UTF8. (hgomez)
update Docs: Add comments on i5/OS build for V5R4 and previous
releases. (hgomez)
Changes between 1.2.22 and 1.2.23
Native
update [CVE-2007-0450] and [CVE-2007-1860]: Change the default value
of JkOptions to ForwardURICompatUnparsed. The old default
value was ForwardURICompat. This should make URL
interpretation between Apache httpd and Tomcat consistent
(prevent double decoding problems). (rjung)
Changes between 1.2.21 and 1.2.22
Native
fix Refactor line endings logging to make it correct for all
platforms and webservers. (mturk)
update Added command line windows make files. (mturk)
update Allow fail_on_status directive to be multi line. (mturk)
fix 42076: Fix name of new option from ForwardCertChain to
ForwardSSLCertChain as documented. (rjung)
fix Docs: Fix a couple of typos, change format of a few tables,
fix links to news pages. (rjung)
fix Fix correct URL for TC 6 examples in new IIS
rewrite.properties configuration example file. (rjung)
fix Add svn properties to several files. (rjung)
update Add TC 6 examples to uriworkermap.properties in config
examples. (rjung)
update Allow multiple status codes for fail_on_status directive. The
status codes can be delimited by space or comma characters.
(mturk)
update IIS. Added pcre like regular expressions for url rewrite
rules. (mturk)
fix 41922: Apache 1.3. Enable JkEnvVar. (mturk)
update Apache. Add --enable-flock configure parameter for explicit
compilation of faster flock() system calls for OS supporting
those calls. By default the fcntl system call for locking will
be used that is a little bit slower but it can work on NFS
mounted volumes as well. (mturk)
fix 41562: Add Debug logging for read from client in ISAPI
Redirector. Contributed by Tim Whittington. (mturk)
update Apache. Add ForwardSSLCertChain JkOption. Contributed by
Patrik Schnellmann. (mturk)
fix IIS. Do not forbid access to web-inf or meta-inf if there is
no mapped worker. This allows to have resource with those
names that are outside mapped contexts. (mturk)
update Apache. Use process id for creating shared memory name and
delete shared memory and shared memory lock files on exit.
(mturk)
fix IIS. Fix Keep-Alive regression introduced in 1.2.21. (mturk)
update Delete unused check for empty init_map during startup. (rjung)
fix 41770: Fix startup error if no JkWorkersFile is used. (rjung)
update Use JK_TRUE/JK_FALSE instead of OK/!OK as return values in
init_jk(). (rjung)
update Minor adjustments to apache startup log messages (when to use
STDERR, remove deprecated NOERRNO flag, shm warning and
warnings for usage of default files). (rjung)
update Replace APR precompiler directive by httpd mpm_query to detect
MPM threading. Add a debug log message about auto-detected
pool size. (rjung)
fix Make MMN check easier to understand and a little more precise
(for new ap_get_server_banner()/ap_get_server_description()).
We use the new API only for Apache httpd 2.3. This way our
binaries are not tightly coupled to a minor 2.0 version, and
we don't use ap_get_server_banner() any way. (rjung)
fix Use the full description string ap_get_server_description()
instead of the truncated info from ap_get_server_banner(),
because this info gets used internally (status worker display
and ajp14 backend communication) and is not send back to the
normal user. (rjung)
fix 41757: Document the "--enable-prefork" flag of configure.
(rjung)
update Enhance log messages for failures when parsing attribute maps.
(rjung)
fix Correct log message during worker initialization, in case
remote host could not be resolved. We logged the default host
name "localhost" instead of the configured one. (rjung)
fix 41770: Fix the second part of the bug: local_worker and
local_worker_only is missing from the list of deprecated
attributes (and not supported either), so prevents the web
server from startup. (rjung)
Changes between 1.2.20 and 1.2.21
Native
fix [CVE-2007-0774]: A denial of service and critical remote code
execution vulnerability. Caused by buffer overflow in
map_uri_to_worker() when URL were longer that 4095 bytes.
Reported by ZDI (www.zerodayintiative.com). Please note this
issue only affected versions 1.2.19 and 1.2.20 of the Apache
Tomcat JK Web Server Connector and not previous versions. Tomcat
5.5.20 and Tomcat 4.1.34 included a vulnerable version in their
source packages. Other versions of Tomcat were not affected.
add Check the worker. parameters and don't start if the parameter is
not a valid one. (jfclere)
add 41439: Allow session IDs to get stripped off URLs of static
content in Apache by adding JkStripSession directive
(configurable per vhost). (mturk)
add Change semantics of empty defaults for JkEnvVar variables. Until
1.2.19: not allowed. In 1.2.20: send variables as empty strings,
if neither set to non empty in config, nor during runtime.
Starting with 1.2.21: If config has no second argument only send
variable if set (even when set to empty string) during runtime.
Allows good combination with condition attribute in tomcat access
log. (rjung)
fix 41610: Fix incorrect detection of missing Content-Length header
leading to duplicate headers. Contributed by Boris Maras. (rjung)
fix Better build support for SunONE (Netscape/iPlanet) webservers.
(jim)
add Add warning if duplicate map keys are read and are not allowed,
e.g. when parsing uriworkermap.properties. (rjung)
fix Don't concat worker names, if uriworkermap.properties has a
duplicate pattern, instead overwrite the worker. (rjung)
fix Log deprecation message even in duplication case. (rjung)
fix uriworkermap.properties: Fix off-by-one problem when deleting URL
mapping during reloading of uriworkermap.properties. (rjung)
add 41439: Allow session IDs to get stripped off URLs of static
content in IIS (configurable). (rjung)
add 41333: Refactoring isapi_plugin configuration reading. (rjung)
add 41332: Add some more errno logging and unify the format. (rjung)
add JkStatus: Improved logging by adding status worker name to
messages. Added messages to the recover worker action. (rjung)
add JkStatus: Refactoring searching for workers and sub workers.
(rjung)
add 41318: Add configuration to make status worker user name checks
case insensitive. (rjung)
add JkStatus: Add estimated time until next global maintenance to
other mime types and adopt jkstatus ant task. (rjung)
add JkStatus: Show estimated time until next global maintenance.
Change displayed time until next recovery to a min/max pair.
(rjung)
add JkStatus: Allow a user of a read/write status worker to switch it
to and from read_only mode temporarily. (rjung)
fix JkStatus: Do not show read/write commands in a read_only status
worker. (rjung)
add JkStatus: Allow lb sub workers in error state to be marked for
recovery administratively from the status worker. (rjung)
add Load Balancer: Do not try to recover multiple times in parallel.
Use additional runtime states "PROBE" and "FORCED". (rjung)
fix JkStatus: Improve data synchronization between different
processes. (rjung)
fix 41381: Fix segfault in feature fail_on_status (wrong order of log
arguments). Patch by Juri Haberland. (rjung)
fix Use correct windows line endings for log file on WIN32 platform.
(rjung)
Changes between 1.2.19 and 1.2.20
Native
add JkStatus Ant Task documentation page. (pero/rjung)
add JkStatus Ant Tasks: Add new tasks for update and reset. (pero)
update JkStatus Ant Tasks: Update for new xml status format. (pero)
update Allow integer and string values when setting
enumeration/boolean attributes via status worker update
action. (rjung)
add Docs: New reference guide page for status worker. (rjung)
update Docs: Renaming the config dir to reference and using the title
Reference Guide in the docs. (rjung)
update Added retry_on_status for workers directive. (mturk)
update Status Worker: Add directive to make property prefix and
good/bad rule configurable. (rjung)
update Status Worker: Omit lb members when att=nosw. (rjung)
update Status Worker: New command cmd=version for a short version
output. (rjung)
update Status Worker: New output stype mime=prop produces property
lists. (rjung)
fix Apache: Fix incorrect handling of JkEnvVar when Vars are set
multiple times. (rjung)
update Renamed jvm_route to route. Deprecated jvm_route, but still
use it as fallback when parsing the worker configuration.
(rjung)
update IIS: Make uriworkermap file reload check interval
configurable. (mturk)
update Apache: Make uriworkermap file reload check interval
configurable. (rjung)
update Status Worker: Add directives for customizing the XML output
(ns, xmlns, doctype). (mturk)
add Docs: New page with description of uriworkermap. (rjung)
update Docs: Added short description of max_packet_size to worker
reference. (rjung)
update Status Worker: All functions accessible also for xml and txt
mime types (list, show, update, reset). (rjung)
update Status Worker: New global health indicators for load balancers
named bad (error, recovering or stopped), degraded (busy or
disabled) and good (the rest, active and OK or N/A). (rjung)
update Status Worker: New edit page, to change one attribute for all
members of a load balancer. (rjung)
update Status Worker: Standard logging for status worker. (rjung)
update Status Worker: code refactoring. (rjung)
update Status Worker: New attribute user (list) denies access, if the
request user in the sense of remote_user is not in this list.
Empty list = no deny (rjung)
update Status Worker: New attribute read_only disables the parts of
the status worker, that change states and configurations.
(rjung)
fix 36121: Don't change main uri when mod_jk serves included uri.
(markt)
update Apache VHosts: Merge JkOptions +base - -base + +vhost -
-vhost. (rjung)
update Apache Docs: Adding requirements, context information, default
values and inheritance rules to the Apache config
documentation. (rjung)
update Status Worker: Add source type to status worker, remove the
redundant "context" column in the map listing (context=uri).
(rjung)
update uriworkermap: On reload of the file, all old entries from the
previous file version get deleted, before the new ones are
being read. (rjung)
fix Keep normal maps and exclusion maps internally separate. Don't
treat them as the same when adding a rule. (rjung)
update Status Worker: Display mapping rules also for non-lb workers
and in global view. (rjung)
update Apache VHosts: Use the vhost log files instead of the main
log. (rjung)
update Apache VHosts: Allow individual timestamp formats by
refactoring the formatting method. (rjung)
update Apache VHosts: Adding all missing config items to the virtual
host level. Don't overwrite the settings from the global
server, but inherit them in case they are not set in the
virtual host. (rjung)
update Apache: remove unnecessary function names from log messages.
(rjung)
update Apache: add a default log file location and a message, if the
default gets used. (rjung)
update Apache: add missing JK_IS_DEBUG_LEVEL() (rjung)
update Apache VHosts: Allow JkWorkersFile, JKWorkerProperty,
JkShmFile and JkShmFileSize only in global virtual server.
(rjung)
update Add some more jk_close_socket() and reduce log level for some
info messages. (rjung)
update Load Balancer: Added the Sessions strategy. Contributed by
Takayuki Kaneko. (rjung)
update Docs: Minor enhancements and syncing with more recent
versions. (rjung)
fix 40997: Separate uri mappings from their '!' counterpart when
checking for duplicates in uriworkermap reloading. (rjung)
fix 40877: Make sure the shared memory is reset on attach for
multiple web server child processes. (mturk)
update IIS: Added shm_size property to be able to deal with over 64
workers configurations. (mturk)
update IIS: Increase default thread count to 250, so its the same as
Apache Httpd default configuration. (mturk)
fix 40966: Fix socket descriptor checks on windows. (mturk)
fix 40965: Initialize missing service parameters. (mturk)
fix 40938: Fix releasing of rewrite map. Thanks to Chris Adams for
spotting that. (mturk)
update Apache: Added +FlushHeader JkOptions. (mturk)
update Added explicit flush when AJP body packet size is zero.
(mturk)
fix 40856: Fixing case sensitivity bug in URL mapping. (rjung)
fix 40793: Documentation: Improvements to Apache HowTo provided by
Paul Charles Leddy. (markt)
fix 40774: Fixing wrong recursion termination. This one restricted
the "reference" feature unintentionally to 20 workers. (rjung)
fix 40716: Adding "reference" feature to IIS and Netscape. (rjung)
fix Documentation: Corrected SetEnvIf syntax in JK_WORKER_NAME
example. (rjung)
fix Documentation: Added forgotten STATE and ACTIVATION notes for
load balancer logging in Apache. (rjung)
update Apache: Use instdso.sh instead libtool: libtool does not work
on HP-UX for example. (jfclere)
Changes between 1.2.18 and 1.2.19
Native
update Docs: Add SetHandler and new env var to Apache config docs.
(rjung)
update Apache 1.3: Backport "no-jk" feature. (rjung)
update Apache: Add an environment variable to make SetHandler
"jakarta-servlet" more useful. The variable is JK_WORKER_NAME,
but can be changed by the new directive JkWorkerIndicator.
(rjung)
fix LB: Don't use single worker shortcut, if the single worker is
being diabled. (rjung)
fix Status worker: Add short explanation of activation and error
states to legend. (rjung)
fix Docs: Add meaning of zero timeout values for various timeouts
in workers.properties. (rjung)
fix LB: Cleanup of Mladens forced recovery. (rjung)
fix LB: Do not change lb_value for recovering workers to max, if
we are using BUSYNESS method. (rjung)
fix Apache: Since 1.2.14 mod_jk failed to detect client abort.
(rjung)
fix Docs: Corrected description of JkEnvVar. (rjung)
fix Solaris: Detect filio.h in configure to make the new
connection detection build on solaris (r432825). (rjung)
update Add feature to force the recovery of workers that are member
of loadbalancer if all the members are in error state. This
fixes the time gap where 503 was returned caused by
recovery_timeout although the backend was ready to handle the
requests. (mturk)
update Docs: Seperate deprecated directives in their own table.
(rjung)
update Docs: Allow "-" and "_" in worker names. (rjung)
update Allow multiple lines with attributes "balance_workers" and
"mount". (rjung)
fix Make jk_is_some_property match more precisely. (rjung)
update JkStatus: Make refresh interval changeable. (rjung)
fix JkStatus: Adjust display of recover time wrt. global
maintenance. (rjung)
update LB: Resetting worker state from OK to NA, if worker has been
idle too long. (rjung)
fix Avoid compiler warnings concerning the use of lb_*_type
arrays. Use functions instead. (rjung)
update Added %R JkRequestLogFormat option for Apache 1 and Apache 2.
(mturk)
update Allow changing jvm Route from status manager. (mturk)
fix Do not retun 400 if Tomcat fails in the midle of the post
request. Return 500 insted. (mturk)
update LB: Combine ok/error/recovering/busy runtime states into a
single scalar. (rjung)
update LB: Combine active/disabled/stopped configuration states into
a single scalar. (rjung)
update LB: Add several Apache notes to enable standard logging for
load balancer results. (rjung)
update LB: Reorganisation of the main load balancer service loop.
(rjung)
update Implement hierarchical worker configuration via attribute
"reference". (rjung)
update Log deprecated properties. (rjung)
fix IIS: Fix simple_rewrite for the cases where the rewritten url
is larger then the original one. (mturk)
update New JkOption "DisableReuse" to disable connection persistence.
(jim)
update LB: Move sessionid retrieval out of get_most_suitable_worker
into service. (rjung)
update Code cleanup for all service methods (use TRACE,
JK_LOG_NULL_PARAMS, null pointer checks). (rjung)
update JKSTATUS: add refresh link. No refresh for updates. Redirect
to list view after update. (rjung)
update Add new hook add_log_items into servers. (rjung)
update APACHE httpd: Rename apache logging notes. (rjung)
update LB: Rename lock and method constants. Add constants for
defaults. (rjung)
fix Default log level should be INFO and not DEBUG. Default log
level should be the same for all server types. (rjung)
fix Make rewrite_rule_map and log_level as non mandatory
directives for isapi_redirect. (mturk)
fix 40107: Rewrite is_socket_connected function. Non blocking
socket is not used any more. (mturk)
update Allow building with VS2005 without too many warnings. (mturk)
fix Decide by MMN, which piped log API we should use. mod_jk
1.2.18 broke compilation with Apache 1.3 pre 1.3.28. (rjung)
Changes between 1.2.17 and 1.2.18
Native
fix Using socklen_t in getsockopt. Also introducing jk_sock_t.
(mturk)
update Allow recovery wait time below 60 seconds (new minimum is 1
second). (mturk)
Changes between 1.2.16 and JK 1.2.17
Native
fix Fix hanging jk status worker when certain attributes are being
updated due to double locking. (rjung)
update Allow JkMount to behave like uriworkermap.properties by
parsing pipe symbol as two directive marker. (mturk)
Changes between 1.2.15 and JK 1.2.16
Native
update Added simple rewrite capability for IIS. Although simple it
will fulfill most needs. (mturk)
update Added RECOVER_ABORT_IF_CLIENTERROR recovery_option that closes
the connection if client connection is broken during the
request. (mturk)
update Renamed cache_timeout directive to connection_pool_timeout.
(mturk)
update Added connection_pool_minsize directive. (mturk)
update Deprecate recycle_timeout directive. (mturk)
update Corrected some HTML syntax bugs in output of status worker.
(rjung)
update Added the refresh=n parameter to the status worker. It will
update the display every n seconds. (rjung)
update Balancer: Add attribute distance to balanced workers to
express preferences between workers. (rjung)
update Balancer: Add attribute jvm_route to balanced workers to be
able to use the same target in different balancers. (rjung)
update Status: Add lb_mult to status. (rjung)
update Balancer: Make different balancing strategies work in a
similar way (use lb_value, use decay during global
maintenance, use integer factors for weights. (rjung)
update Balancer: Improve locking. (rjung)
update Balancer: Workers start slower after recovering. (rjung)
update Balancer: Make different balancing strategies work in a
similar way (use lb_value, use decay during global
maintenance, use integer factors lb_mult for weights). (rjung)
update Balancer: Move recovery check to global maintenance. (rjung)
update Balancer: Add global maintenance method, that is called in
only one process. (rjung)
update Extend our use of autoconf to find a 32Bit and a 64Bit
unsigned type and their printf formats. (rjung)
update Logging: piped loggers for JkLogFile and Apache 1.3. (rjung)
update Logging: Add PID to log lines for each log level apart from
REQUEST. (rjung)
update Logging: flush buffered logs to keep lines in correct order.
Output final newline together with log message. (rjung)
update Reducing shm size. (rjung)
update Only log removing of old worker, when we actually do it.
(rjung)
fix 37469: Fix shared memory close for forked childs. The shared
memory will be closed by the parent process. (mturk)
fix 37332: Fix potential misuse of buffer length with snprintf
functions. (mturk)
fix 38859: [CVE-2006-7197] Protect mod_jk against buggy or
malicious AJP servers in the backend. Patch provided by
Ruediger Pluem. (mturk)
fix 38889: Use worker map sorting depending on the path elements,
to comply with Servlet spec. Patch provided by Steve Revilak.
(mturk)
update 36138: Added Busyness lb method. Patch provided by Chris
Lamprecht. (mturk)
fix Fix pessimistic locking mode. The patch correctly handles the
burst load, by syncing the access to the shared memory data.
(mturk)
fix 38806: Reclycle worker even if it is disabled. This fixes
hot-standby workers in error state. (mturk)
fix 37167: Allow building with BSD-ish like make. (mturk)
fix ISAPI plugin (isapi_redirect.dll) did not provide correct
request data for IIS to include in the IIS log. (markt)
Changes between 1.2.14 and 1.2.15
Native
fix Fix AJP13 Cookie2 parsing. Cookie2 was always send as Cookie.
Patch provided by Andre Gebers. (mturk)
fix 35862: NSAPI plugin attempts to read freed memory and attempts to
dereference a null pointer. Patch provided by Brian Kavanagh.
(markt)
Changes between 1.2.13 and 1.2.14
Native
fix Fix lb for worker mpm's with cachesize set to lower number then
ThreadsPerChild is. If retries is set to value larger then 3
sleep for 100 ms on each attempt. This enables to tune the
connection cache, and serialize incoming connections instead
returning busy if connection count is larger then cachesize.
(mturk)
fix 36525: Solaris core dump. (mturk)
fix 36102: Worker actions do not persist. (mturk)
fix 35864: Status worker doesn't list workers. Patch provided by
Martin Goldhahn. (mturk)
fix 35809: JkMountCopy don't work for Apache 2.0 Patch provided by
Christophe Dubach. (mturk)
fix 35298: Multiple JK/ISAPI redirectors on a single IIS site are not
supported Patch provided by Tim Whittington. (mturk)
Changes between 1.2.12 and 1.2.13
Native
fix 34397: Emergency was handled as Error. (jfclere)
fix 34474: // in URL were not handled correctly with Apache-1.3.
(jfclere)
fix Use 64 bits int for transferred/read bytes.
update Added JkOptions +FlushPackets used to optimize memory usage
when sending large data. (mturk)
update Added lock directive for load balancer that allows more
acurate load balancing in case of burst load. (mturk)
update Added worker.maintain directive to allow customizing default
10 second timeout. On busy servers this value needs to be set
on higher value. (mturk)
fix Fix for NetWare compiler to deal with different types between
AP13 and AP2 SDKs. (fuankg)
update Emit much more legible user.dmp crash analysis output for
WIN32. (wrowe)
fix 34558: Fix first failover request. (mturk)
Changes between 1.2.11 and 1.2.12
Native
update Added ForwardLocallAddres JkOptions flag for passing local
instead remote address. Useful for remote addr valve. (mturk)
fix Fix that worker not used, when stopped flag is true. (pero)
update Add loadbalance default worker secret attribute to the
documentation (pero)
Changes between 1.2.10 and 1.2.11
Native
fix Backport SC_M_JK_STORED from JK2 for passing arbitrary methods
instead failing the request. (mturk)
fix Added missing SEARCH and ACL http methods. (mturk)
update Add worker secret attribute to the documentation (pero)
update Add a stopped flag to worker configuration. Set flag True and
complete traffic to worker is stopped. Also update the Ant
JkStatusUpdateTask at Tomcat 5.5.10 release. Only usefull in a
replicated session cluster.(pero)
update Added worker maintain function that will maintain all the
workers instead just the current one. This enables to recycle
the connections on all workers. (mturk)
update Use shutdown when recycling connections instead hard breaking
the socket. (mturk)
update Add unique directives checking. The directives if unique are
now overwritten instead concatenated. (mturk)
update Allow multiple worker.list directives. (mturk)
fix 34577: For IIS log original request instead loging the request
for ISAPI extension. (mturk)
fix 34558: Make sure the returned status codes are the same for
ajp and lb workers. (mturk)
fix 34423: Use APR_USE_FLOCK_SERIALIZE for setting log lock on
platforms like FreeBSD. Patch provided by Allan Saddi. (mturk)
fix 33843: Fix obtaining LDFLAGS that were used for building
Apache HTTPD. Patch provided by Beat Kneubuehl. (mturk)
fix 34358: Enable load balancer method configuration. (glenn)
fix 34357: In some situations Apache 2 mod_jk could segfault when
the JkAutoAlias directive is used. (glenn)
update Add --enable-prefork to the documentation (pero)
Changes between 1.2.9 and 1.2.10
Native
update Set default shared memory to 64K instead 1M. (mturk)
fix Do not mark the worker in error state if headers are larger
then AJP13 limit. (mturk)
update On Series you should use the latest PTF for Apache 2.0 (which
is now 2.0.52) and ad minima SI17402/SI17061 or cumulative
including them. (hgomez)
update Change the xml status format to xml attribute syntax (pero)
fix 33248: Fix builds where apxs defines multiple directories for
APR includes. (mturk)
fix 32696: Return 404 instead 403 when WEB-INF is requested to
comply with Servlet spec. (mturk)
update Added ANT task for managing jkstatus. (pero)
update If socket_timeout is set, check if socket is alive before
sending any request to Tomcat. (mturk)
update Added JkMountFile for Apache web servers. This file can
contain uri mappings in the form (/url=worker), and is checked
for updates at regular 60 second interval. (mturk)
update Added status worker for managing worker runtime data using web
page. (mturk)
update Added load balancer method directive that is used for setting
the algorithm used for balancing workers. Method can be either
Request (default) or Traffic. (mturk)
update Added shared memory to allow dynamic configuration. Shared
memory is needed only for unix platform and web servers having
multiple child processes. For Apache web server two new
directives has been added (JkShmFile and JkShmSize). (mturk)
update Added textupdate mode to status worker to handle remote
updates from ant tasks.(pero)
fix 33562: Fix Reply_timeout when recovery_options is larger than
1. Patch provided by Takashi Satou. (mturk)
fix 33308: Fix segfaults when ForwardDirectories is enabled with
Apache 1.3
Changes between 1.2.7 and 1.2.8
Native
update Allow anyone to debug and diagnose stack dumps using windbg or
any other debugging tool, and (if they add the .pdb files to
their installation) to make sense of dr watson logs. Patch
provided by William A. Rowe (wrowe)
fix Fix in_addr_t usage by using the real struct ignoring typedef.
Patch provided by William A. Rowe (wrowe)
fix Fix url rewriting by restoring the in place uri from which the
jsessionid was removed. (mturk)
update Make load balancer algorithm thread safe by introducing mutex
to the load balancer worker. (mturk)
fix Fix sending error pages for IIS to client by adding
Content-Type header using correct api function call. (mturk)
fix 32696: Prevent IIS from crushing when web-inf url was
requested. (mturk)
update Use default cachesize for servers that support discovering the
number of threads per child process. (mturk).
fix Fix Apache content-length header parsing using case
insensitive compare. (billbarker)
fix Fix parsing AJP headers using case insensitive compare.
(mturk)
fix Use infinite socket timeout if socket_timeout is set to zero
or less then zero. (mturk)
update Change balanced_workers to balance_workers but keep backward
compatibility preserving the old directive. (mturk).
fix Fix ajp initialization for workers with cache_size set to
zero. (mturk)
update 32317: Making mod_jk replication aware (Clustering Support).
Patch provided by Rainer Jung. (mturk).
fix 31132: Core dump when JkLogFile is missing from conf. (mturk)
Changes between 1.2.6 and 1.2.7
Native
update Added new property named recover_time that can be used to
change the default 60 second recover time. (mturk)
update Added custom retries for worker, so we don't depend on default
setting. If set to a number grater then 3, it will sleep for
100ms on retry greater then 3 and then try again. (mturk)
update Added JkWorkerProperty directive that enables omiting
workers.properties file. For example: JkWorkerProperty
worker.ajp13a.port=8009. (mturk)
fix Check all JSESSIONID cookies for a valid jvmRoute. If you have
multiple Tomcats with overlapping domains, then you can get
multiple cookies without a defined order. This will route
correctly as long as the different domains don't have any
Tomcats in common. (billbarker)
update Added JkUnMount directive for negative mappings that works as
opposite to JkMount directives. It is used for blocking of
particular URL or content type. (mturk)
update Added wildchar match uri mappings. One can now use JkMount to
map /app/*/servlet/* or /app?/*/*.jsp. (mturk)
update Rewrite the logging by adding Trace options. (mturk)
update Added socket_timeout property that sets the timeout for the
socket itself. (mturk)
fix Changed socket_timeout property to recycle_timeout. This
better explains what the directive actually does. (mturk)
fix Changed the load balancer algorithm. The idea behind this new
scheduler is the following: lbfactor is how much we expect
this worker to work, or the worker's work quota. lbstatus is
how urgent this worker has to work to fulfill its quota of
work. We distribute each worker's work quota to the worker,
and then look which of them needs to work most urgently
(biggest lbstatus). This worker is then selected for work, and
its lbstatus reduced by the total work quota we distributed to
all workers. Thus the sum of all lbstatus does not change.(*)
If some workers are disabled, the others will still be
scheduled correctly. (mturk)
JK 2
JK2 has been put in maintainer mode and no further development will
take place. The reason for shutting down JK2 development was the lack
of developers interest. Other reason was lack of users interest in
adopting JK2, caused by configuration complexity when compared to JK.
---------------------------------------------------------------------------
Copyright � 1999-2011, Apache Software Foundation
|