bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / tomcat-connectors-1.2.32-src / native / CHANGES
1    Apache TomcatApache Logo                                                  
2    ---------------------------------------------------------------------------
3        The Apache Tomcat Connector - Miscellaneous Documentation             
4                                                                              
5    Changelog                                                                 
6                                                                              
7    Preface                                                                   
8      This is the Changelog for Tomcat Connectors. This changelog does not    
9      contain all updates and fixes to the Tomcat connectors (yet). It should 
10      contain fixes made only after November 10th 2004, when the new          
11      documentation project for JK was started.                               
12                                                                              
13    Changes between 1.2.31 and 1.2.32                                         
14      Native                                                                  
15        fix    51417: Fix worker busy detection by querying the worker        
16               endpoint. Abandoned connections can leave a worker in busy     
17               state without decrementing busy counter. (mturk)               
18        fix    50339: Fix whitespace trimming when parsing attribute lists.   
19               (rjung)                                                        
20        fix    41263: Support Servlet API getRemotePort(). Works for Tomcat   
21               5.5.28, 6.0.20 and 7.0.0 and Apache and ISAPI plugins. (rjung) 
22        fix    41923: AJP: Close AJP connection to Tomcat on client write     
23               error when recovery_options 4 is specified, aborting the       
24               response write on the Tomcat side. (timw)                      
25        update AJP: Cap the lingering bytes that will be read when shutting   
26               down an AJP socket at 32k to prevent CPU spikes in the web     
27               server when a client aborts on a large response body. Also     
28               reduce total linger time to 2s. (timw)                         
29        fix    50839: AJP: Fix 30sec CPU spike due to incorrect counting of   
30               lingering bytes causing a busy loop when a client aborts       
31               connection during a response write. Fixes regression in        
32               1.2.31. (timw)                                                 
33        add    LB: Forward worker activation state as request attribute       
34               "JK_LB_ACTIVATION". Possible values are "ACT" (active), "DIS"  
35               (disabled) and "STP" (stopped). (rjung)                        
36        fix    HTTPD: Forward WWW-Authenticate from backend when status is    
37               401 and server generated error pages are used. (rjung)         
38        fix    50363: IIS: Prevent chunk encoding of empty message bodies for 
39               204, 205 and 304 responses. (timw)                             
40        fix    50975: IIS: Fix hanging of Transfer-Encoding: chunked requests 
41               when Content-Length header is present in request as well. Also 
42               addresses situation where IIS appears to create a              
43               Content-Length header for a small chunk encoded request when   
44               none was present in the original request. (timw)               
45        fix    47679: IIS: stop truncation of request headers when ISAPI      
46               redirector used as an extension without the corresponding      
47               filter installed. (timw)                                       
48        fix    NSAPI: Use lower case header names for responses. Otherwise    
49               the web server might add chunked transfer encoding header in   
50               addition to our content length header.                         
51        update Docs: Improve load balancer documentation. (rjung)             
52                                                                              
53    Changes between 1.2.30 and 1.2.31                                         
54      Native                                                                  
55        fix    49413: AJP13: Drop flush packets send by the backend after the 
56               response has been finished. (rjung)                            
57        update AJP: Log the local and remote socket address. (mturk)          
58        update Watchdog: Move the maintain workers outside the critical       
59               section allowing other threads to use the connection pool      
60               during maintenance. (mturk)                                    
61        update Common: Add svn revision to init log message. (rjung)          
62        fix    Common: Don't destroy errno during trace logging. (rjung)      
63        update Apache: Add support for Apache 2.3/2.4. (rjung)                
64        update Apache: Added version number resource for mod_jk.so on         
65               Windows. (timw)                                                
66        update 48501: IIS: Added rotatelogs style log rotation to ISAPI       
67               Redirector. (timw)                                             
68        fix    38895: IIS: Use RAW headers instead of CGI headers by default  
69               to prevent conversion of underscores '_' to hyphens '-' in     
70               header names. Old behaviour can be enabled by defining         
71               USE_CGI_HEADERS. (timw)                                        
72        fix    49511: IIS: Do not override IIS log information when           
73               subsequent requests on a keep-alive connection are not mapped  
74               into the ISAPI Redirector. (timw)                              
75        fix    Docs: Document SSLOptions needed for SSL information           
76               forwarding. (rjung)                                            
77        update Docs: Grammar and style improvements and clarification about   
78               serving static content by IIS. Patch provided by André         
79               Warnier. (rjung)                                               
80        fix    Docs: Update subversion paths used in docs. (rjung)            
81                                                                              
82    Changes between 1.2.28 and 1.2.30                                         
83      Native                                                                  
84        update Apache: Improve compatibility with Apache 2.3. (rjung)         
85        fix    46632: Apache: Do not register child cleanup for our pools.    
86               (mturk)                                                        
87        fix    46893: Apache: Log warning only if JkShmSize was actually set  
88               in the configuration. (mturk)                                  
89        update IIS: Include optional chunking support. Off by default.        
90               (mturk)                                                        
91        fix    48763: IIS: Do not send Content-Length when using chunked      
92               encoding or length larger 4GB. (mturk)                         
93        fix    48223: IIS: Propagate correct backend error code to IIS.       
94               (rjung)                                                        
95        fix    47867: IIS: crash during startup, when compiled with VS2008    
96               and workers.properties contains unsupported properties. Patch  
97               provided by Indrek Juhani (rjung)                              
98        fix    47628: IIS: Fix deadlock when restarting the Application Pool  
99               caused by not releasing the critical section lock. Patch       
100               provided by Bret Prucha. (mturk)                               
101        fix    IIS/NSAPI: Correct log file flushing after each line. (mturk)  
102        add    NSAPI: Add Microsoft Visual C++ Makefile. (mturk)              
103        update AJP: Improve socket shutdown handling. (mturk)                 
104        update AJP: Ensure we never reuse a non reusable socket. (mturk)      
105        update AJP: Tolerate a single excess packet when waiting for cpong.   
106               (mturk)                                                        
107        update AJP: Check protocol correctness more strictly. (mturk)         
108        update 48410: AJP: Use poll instead select so we can work with more   
109               then 1024 sockets. (mturk)                                     
110        fix    46503: AJP/Status: Garbage data in worker domain and route.    
111               (mturk)                                                        
112        fix    48276: AJP: When worker contact cannot be resolved mark the    
113               worker as disabled instead failing to start the server.        
114               (mturk)                                                        
115        fix    48169: AJP: Improve CGI interoperability by closing all        
116               sockets during EXEC. (mturk)                                   
117        add    Status: Add number of open backend connections to status       
118               worker. This feature is experimental, the displayed value      
119               might not be accurate. (mturk)                                 
120        update 47224: Status: When address gets changed invalidate all opened 
121               sockets in the endpoint cache. This will cause new backend     
122               connections to get opened using new address. (mturk)           
123        fix    48305: Status: Do not show "secret" property when doing dump.  
124               (mturk)                                                        
125        fix    45610: Status: Don't accept requests with empty value for sub  
126               worker parameter. (rjung)                                      
127        fix    45610: Status: Fix erroneous unsetting of sticky_session and   
128               sticky_session_force when updating other load balancer         
129               attributes via the status worker. (rjung)                      
130        fix    47222: Status: Add ping_timeout to the shared memory and allow 
131               dynamic configuration. (mturk)                                 
132        fix    Status: Remove duplicate "errors" line in property view of     
133               AJP13 workers that are part of a load balancer. (rjung)        
134        fix    LB: Fix route logging. (rjung)                                 
135        update Logging: Automatically detect size of thread id for logging.   
136               (rjung)                                                        
137        update Logging: Add optional log file locking for Windows when        
138               defining JK_LOG_LOCKING. (mturk)                               
139        update Configuration: Update example configuration. (rjung)           
140        update Docs: Update information about tools needed to create a        
141               release. (rjung)                                               
142        fix    47983: Docs: Fix typo in example config which breaks startup.  
143               (rjung)                                                        
144        update Build: Force copy of automake files. (rjung)                   
145        update Build: Tomcat code repository structure cleanup reflected in   
146               documentation and build script. (rjung, mturk)                 
147                                                                              
148    Changes between 1.2.27 and 1.2.28                                         
149      Native                                                                  
150        add    Apache: Add more environment variables to overwrite request    
151               information. Useful in case a proxy is in front of Apache and  
152               sends us original request information e.g. via custom headers. 
153               (rjung)                                                        
154        update Apache: No longer preallocate entries for JK request log.      
155               (rjung)                                                        
156        fix    46352: Apache: Fix crash when using SetHandler jakarta-servlet 
157               in VHost without any JkMount. Crash due to incorrect           
158               initialization of mount extensions. (rjung)                    
159        fix    Apache: JkWatchdogInterval had wrong interval calculation      
160               causing a 10 times higher watchdog interval then configured.   
161               (mturk)                                                        
162        fix    Apache: Activate forwarding of SSL key size by default.        
163               (rjung)                                                        
164        fix    46169: Apache 1.3: Backport use_server_errors mount extension. 
165               (rjung)                                                        
166        fix    46763: Apache 2.0: Survive the log mutex during graceful       
167               restart. Patch provided by Eiji Takahashi. (mturk)             
168        fix    46416: Apache 2.0 on Windows: Include mstcipip.h even if the   
169               apr doesn't include it. (mturk)                                
170        update IIS: Update uriworkermap.properties file on a regular          
171               interval. This requires both worker_mount_reload and           
172               watchdog_interval to be defined. (mturk)                       
173        update IIS: Remove obsolete entries from registry file. (mturk)       
174        fix    46579: IIS: Use local environment table instead environment    
175               variables for setting the JKISAPI_PATH and JKISAPI_NAME.       
176               (mturk)                                                        
177        update LB: Add new property error_escalation_time to fine tune        
178               escalation of local errors to global errors. (rjung)           
179        update LB: If the sticky session affinity mark contains a dot, treat  
180               the part before the dot as the domain name. This allows to     
181               have full node session affinity with domain failover. (mturk)  
182        fix    LB: make forced recovery work with local error states. (rjung) 
183        fix    LB: Only update error state and error time, if we actually     
184               have a new state. (rjung)                                      
185        fix    LB: Set global worker state to error when we reach             
186               max_reply_timeouts, or fail_on_status triggered hard error.    
187               (rjung)                                                        
188        update AJP: Add a new error type JK_AJP_PROTOCOL_ERROR. (mturk)       
189        update AJP: Allow worker ports lower or equal to 1024. (rjung)        
190        update AJP: Improve some AJP error log messages. (mturk)              
191        update Status: Allow changing worker address and port of AJP workers. 
192               The address is resolved on next request for that worker.       
193               (mturk)                                                        
194        update Status: Allow update actions to show error messages in the     
195               result page. (rjung)                                           
196        update Status: Refactor update actions. (rjung)                       
197        update Status: Do not redirect to the show or list page, if an error  
198               occured during an action. (rjung)                              
199        update Status: Include error time in display. (rjung)                 
200        update Status: Remove redundant port information from worker display. 
201               Rename address column and remove its explanation from the      
202               legend. (rjung)                                                
203        update Status: Optimize forced uriworkermap.properties reload.        
204               (mturk)                                                        
205        fix    Status: Fix crash in text display. (rjung)                     
206        fix    Status: Show - Edit - Show always ends in single lb member     
207               show, even when started from all members lb show. (rjung)      
208        fix    Status: Wildcards in sub worker names were broken for update   
209               actions. (rjung)                                               
210        fix    Status: Add use_server_errors to map display. (rjung)          
211        update SHM: Move locking into the data pull and push methods. (rjung) 
212        update JNI: Deprecate JNI workers. (rjung)                            
213        fix    Netware: Missing define for MAX_PATH. Patch by Guenter Knauf.  
214               (rjung)                                                        
215        update Docs: Add a new HowTo page about reverse proxies. (rjung)      
216        update Docs: Add an explanation of local error states to the timeouts 
217               documentation. (rjung)                                         
218        update Docs: Clarify relation between socket_timeout and              
219               socket_connect_timeout. (rjung)                                
220        update Docs: Clarify IIS URL rewrite feature. (rjung)                 
221        fix    46834,46734: Docs: Fix a couple of missing or broken links.    
222               (markt,rjung)                                                  
223        fix    Docs: Add 2008 news to main page and menues. (mturk, rjung)    
224                                                                              
225    Changes between 1.2.26 and 1.2.27                                         
226      Native                                                                  
227        fix    46109: Decay reply_timeouts even when lb method is busyness.   
228               Also reset reply_timeouts during forced recovery. (rjung)      
229        update AJP13: Recycle connection if previous request didn't complete. 
230               (mturk)                                                        
231        update Maintain should not run multiple times in parallel. (mturk)    
232        fix    Apache: Fix small memory leak during restart. (mturk)          
233        update Improve signal handling during socket shutdown. (mturk)        
234        add    URI Map: Add debug dump function for uri worker map. (rjung)   
235        update Add revision number to version info for non-release builds.    
236               (rjung)                                                        
237        add    IIS: Optionally allow chunked encoding for responses. At the   
238               moment only usable, if build with ISAPI_ALLOW_CHUNKING         
239               defined. Based on patch by Tim Whittington. (rjung)            
240        update IIS: Optionally use raw headers instead of CGI headers. Fixes  
241               problem "underscore=dash" problem in header names. At the      
242               moment only available, if build with USE_RAW_HEADERS defined.  
243               (rjung)                                                        
244        update IIS: Optionally improve IIS 5.1 compatibility. At the moment   
245               only available, if build with AUTOMATIC_AUTH_NOTIFICATION      
246               defined. Based on patch by Tim Whittington. (rjung)            
247        fix    IIS: Fix memory corruption due to parallel initialization by   
248               multiple threads. (rjung)                                      
249        update Windows: Use non-default socket keepalive interval. (mturk)    
250        add    IIS: Add environment variables JKISAPI_PATH and JKISAPI_NAME.  
251               (mturk)                                                        
252        add    Added socket_connect_timeout directive for setting the connect 
253               timeout for the socket. This enables to have low connection    
254               timeout but higher operational timeouts. (mturk)               
255        fix    AJP13: [CVE-2008-5519] Always send initial POST packet even if 
256               the client disconnected after sending request but before       
257               providing POST data. In that case or in case the client broke  
258               the connection in a middle of read send an zero size packet    
259               informing container about broken client connection. (mturk)    
260        add    AJP13: Added connection_acquire_timeout directive for setting  
261               the absolute timeout the worker will wait for a free endpoint. 
262               (mturk)                                                        
263        update Apache: Allow to set path parameter used when doing            
264               JkStripSession. (mturk)                                        
265        update Refactor retries implementation and change semantics of        
266               retries attributes. (mturk)                                    
267        update Status: Allow showing only a single member for a load          
268               balancer. (rjung)                                              
269        update Status: Add display of seconds since last statistics reset and 
270               access and transfer rates. (rjung)                             
271        add    AJP13: Add a configurable retry_interval time. (rjung)         
272        update Documentation: Enhance description of connection_pool_size.    
273               (rjung)                                                        
274        update IIS: Refactor error page generation. (mturk)                   
275        fix    IIS: SERVER_NAME variable can be the same for multiple         
276               different server instances if requests are handled according   
277               to the ip:port combination. Use INSTANCE_ID variable to which  
278               the request belongs instead. (mturk)                           
279        add    Allow forwarding server error pages. This can be done on       
280               per-uri basis using new use_server_errors extension. (mturk)   
281        add    Added session_cookie and session_path for configuring default  
282               session identifiers. (mturk)                                   
283        update Use max_packet_size also as TCP send and receive buffer size.  
284               (mturk)                                                        
285        update Apache: Do not allow Apache to start in multi-threaded mode if 
286               mod_jk was only build for single threaded server (prefork).    
287               (mturk)                                                        
288        fix    45812: Add done() service method that causes sending EOS       
289               bucket for Apache httpd 2.x. This allows filter chain to work  
290               properly. (mturk)                                              
291        add    Added connection_ping_interval, ping_timeout and ping_mode     
292               directives. (mturk)                                            
293        fix    Apache: Use correct ld flags provided by apxs when building    
294               module. Prevents some crashes on AIX for httpd 1.3 module.     
295               (rjung)                                                        
296        fix    Documentation: "val" attribute numbering in status worker      
297               needs to start with 0 instead of 1. (rjung)                    
298        update Documentation: Remove JNI parameters from sample configuration 
299               in the workers generic howto. (rjung)                          
300        fix    45026: For Apache httpd 2.x add "Unknown Reason" as the reason 
301               phrase, if we get an empty one from the backend. Otherwise     
302               httpd 2.x returns status 500. (rjung)                          
303        fix    Build: Fix Cygwin build. (rjung)                               
304        update Documentation: Add info to docs, that variables sent via       
305               JkEnvVar are not listed in request.getAttributeNames().        
306               (rjung)                                                        
307        add    Add watchdog background thread for Apache 2.x and IIS doing    
308               internal maintenance (idle connection checks, backend          
309               probing). See JkWatchdogInternal (Apache) and                  
310               watchdog_interval (IIS). (mturk)                               
311        update Change log level of some messages from error to info. (mturk)  
312        fix    Documentation: Fix docs for worker attribute "secret". (rjung) 
313        update Detect correct plugin name for various web servers via         
314               additional preprocessor defines. (rjung)                       
315        fix    LB: Do not put loadbalancer node in error state if there is    
316               opened channel. This fixes the bug when new connection fails   
317               due to busyness, causing opened connections fail stickyness.   
318               This brings back per-node busy counter and private state array 
319               for each request. We can mark the state as error for failover  
320               to work while still operating and reporting node as OK if      
321               there are opened working connections. (mturk)                  
322        fix    44738: Fix merging of JkOption ForwardURI* between virtual     
323               hosts. Patch contributed by Toshihiro Sasajima. (rjung)        
324        add    URI Map: Add extension attributes to uri worker map. Allowed   
325               are reply_timeout, active/disabled/stopped and fail_on_status. 
326               Usage currently only implemented for httpd and IIS.            
327               (rjung+mturk)                                                  
328        fix    URI Map: Make dynamic reloading atomic and free memory not     
329               needed any longer. (rjung)                                     
330        add    Configure: Don't use post httpd 2.2.0 API functions when       
331               building with new --enable-api-compatibility configure switch. 
332               (rjung)                                                        
333        fix    Apache: JkAutoAlias does not work in combination with          
334               JkMountCopy if there are no JkMount in virtual host. (rjung)   
335        update LB: Optimize state macros to improve performance. (rjung)      
336        add    Apache: Allow dynamic setting of reply timeout using the       
337               environment variable JK_REPLY_TIMEOUT. (rjung)                 
338        add    Status: Add manageability for ajp parameters of ajp workers    
339               and ajp lb members. (rjung)                                    
340        update Status: Change parameter names of update action to make them   
341               more easily distinguishable from other parameters. (rjung)     
342        add    Status: Add ajp worker statistics also for workers, that are   
343               not lb members. (rjung)                                        
344        update AJP: Refactor factories, move ajp13/ajp14 common parts into    
345               ajp_factory. (rjung)                                           
346        update Status: Only sync shm worker config values of the workers for  
347               which we changed values. (rjung)                               
348        fix    Status: Set lb_factor instead of distance. (rjung)             
349        update Status: Minor layout changes, use drop down instead of         
350               multiple text links. (rjung)                                   
351        update SHM: Use local copies of read mostly attributes of lb sub      
352               workers in lb and status worker. (rjung)                       
353        update Status: Add "dump" action to dump our initial configuration.   
354               (rjung)                                                        
355        update Status: Use property table to decide which cmd action uses     
356               which output elements. (rjung)                                 
357        update Common: Include original configuration map in worker_env to    
358               make it available for workers, e.g. the status worker. (rjung) 
359        update LB: Refactor "route" return for httpd note. Don't use a member 
360               of the worker_record, because that's not thread safe. (rjung)  
361        update Common: Refactor "retries", remove from service and jk_worker, 
362               move into ajp worker instead. (rjung)                          
363        update SHM: Use distinct structs for lb and ajp13 in shm. Improves    
364               type safety and saves a few bytes. (rjung)                     
365        update SHM: Remove unused attributes. (rjung)                         
366        update SHM: Automatically determine shm size for all web servers.     
367               (rjung)                                                        
368        update SHM: Make open/attach logging consistent for all web servers.  
369               (rjung)                                                        
370        update Status: Include server local time in output. (rjung)           
371        fix    44116: Fix handling of multiple JSESSIONID cookies. (rjung)    
372        fix    37850: Use thread safe localtime_r where appropriate. (rjung)  
373        fix    Use thread safe strtok_r on more platforms, especially AIX.    
374               (rjung)                                                        
375        update Status: Improve XSS hardening. (rjung)                         
376        update 35303: Move initialization of service members with defaults    
377               from web server specific code to our generic                   
378               jk_init_ws_service() function. (rjung)                         
379        fix    36385: Add missing prepost CPing/CPong directly after connect  
380               in case prepost CPing is used, but no connect CPing. (rjung)   
381        update 37322: Apache: Enhance robustness of message formating in      
382               jk_error_exit(). (rjung)                                       
383        fix    44147: Multiple load balancing workers problem. (rjung)        
384                                                                              
385    Changes between 1.2.25 and 1.2.26                                         
386      Native                                                                  
387        fix    42003: Allocate memory instead using fixed size from the       
388               stack. (mturk)                                                 
389        fix    43229: Load balancer does not do fail over after reply         
390               timeouts. (rjung)                                              
391        fix    JKStatus: Repair detailed Apache httpd version display. This   
392               was broken for httpd version 2.2.4+. (rjung)                   
393        update LB/AJP: Refactoring of jk_connect.c, jk_ajp_common.c,          
394               jk_lb_worker.c (rjung)                                         
395        fix    Configure: Repair broken apxs auto-detection. (rjung)          
396        update Configure: Remove trace logging from compiled code via new     
397               --disable-trace configure switch. (rjung)                      
398        update Common: Maintain idle connections in decreasing (LRU) slot     
399               order. (rjung)                                                 
400        update Apache: Create JK_WORKER_ROUTE and JK_REQUEST_DURATION notes   
401               for access log even if no JkRequestLogFormat is set. (rjung)   
402        update JKStatus: Enhance URI to worker map listing for Apache httpd.  
403               We now list maps for all virtual servers and not only the one, 
404               in which JKStatus itself was called. (rjung)                   
405        update JKStatus: Enhance URI to worker map listing. Update stale      
406               uriworkermap.properties immediately. (rjung)                   
407        fix    43873: Fix small memory leak occuring during httpd restart.    
408               (rjung)                                                        
409        update Common: Allow '*' for the worker name in exclusion rules       
410               (resp. JkUnMount) which will override all workers. (rjung)     
411        fix    42038: Correct overlay of mounts and unmounts for IIS. (rjung) 
412        fix    43684: Replace JkMountFile by JkMountFileReload in             
413               uriworkermap.properties docs. (rjung)                          
414        update Apache: Add new value "All" for JkMountCopy. (rjung)           
415        fix    43516: Memory leak for Apache httpd module of size 8KB for     
416               every virtual host without JK directive after each restart.    
417               (rjung)                                                        
418        update Apache: Cleanup init and destroy of server configuration.      
419               (rjung)                                                        
420        update Apache: Remove global configuration items from per server      
421               configuration. (rjung)                                         
422        update Apache: Remove unused attributes secret_key and                
423               automount/JkAutoMount. (rjung)                                 
424        update Cleanup of jk_uri_worker_map. (rjung)                          
425        update Documentation: Small additions to JkShmFile documentation.     
426               Contributed by Gerhardus Geldenhuis. (rjung)                   
427        fix    AJP13: Ignore flush packets before we received the response    
428               headers. (rjung)                                               
429        fix    Fix crash during startup when using worker configuration       
430               inheritance (attribute "reference") and log level debug.       
431               (rjung)                                                        
432        fix    AJP13: Match header names exactly against pre defined          
433               constants. Avoid possible confusion with custom header names   
434               using a standard header name as a prefix. (rjung)              
435        fix    jkstatus: Fix correct parameter validation at                  
436               JkStatusUpdateTask and JkStatusUpdateLoadbalancerTask ant      
437               tasks. Reported by Christian Mittendorf. (pero)                
438                                                                              
439    Changes between 1.2.24 and 1.2.25                                         
440      Native                                                                  
441        update IIS: Fix shm shutdown behaviour. (rjung)                       
442        update General: fail_on_status used in a load balancer can optionally 
443               do fail over without putting the failed worker in error state. 
444               (rjung)                                                        
445        update NSAPI: Improve build description for Unix. (rjung)             
446        update NSAPI: Add initialization startup message containing JK        
447               version. (rjung)                                               
448        fix    General: Declare static functions as static. (jim)             
449        update Documentation: Clarify fail_on_status behaviour. (rjung)       
450        fix    General: Do fail_on_status before returning the response       
451               headers. (rjung)                                               
452        update NSAPI: Fix shm shutdown behaviour. (rjung)                     
453        update NSAPI: Set return status even if request ended with an error.  
454               (rjung)                                                        
455        update NSAPI: Allow using without shm_file on WIN32 and Netware.      
456               (rjung)                                                        
457        fix    NSAPI: Fix Crash of nsapi for log level debug and unset        
458               refect_unsafe. (rjung)                                         
459        update NSAPI: Improve Solaris and Linux Makefiles for nsapi build.    
460               (rjung)                                                        
461        fix    Build: Improve pid_t type detection during configure on        
462               Solaris. (rjung)                                               
463        update Build: Experimental build support for gcc on WIN32 and         
464               Netware. (fuankg)                                              
465        update Build: Makefile optimizations for Apache httpd 1.3/Netware .   
466               (fuankg)                                                       
467        fix    General: Fix missing flush bug introduced in 1.2.24. (rjung)   
468                                                                              
469    Changes between 1.2.23 and 1.2.24                                         
470      Native                                                                  
471        update Documentation: Improved workers.properties description in the  
472               reference guide. (rjung)                                       
473        update Documentation: Add a HowTo about the various timeouts. rjung)  
474        update Logging: add milliseconds to the default timestamp format, if  
475               we have gettimeofday(). (rjung)                                
476        update Apache: add milliseconds (%Q) and microseconds (%q) as         
477               possible JkLogStampFormat conversion specifiers. This does not 
478               use strftime(), but needs gettimeofday(). (rjung)              
479        update IIS & Sun: Log service failures also, if return code is        
480               negative. (rjung)                                              
481        fix    42849: Abort startup of Apache httpd 1.3 in case mod_jk        
482               initialization failed. We already do the same for Apache httpd 
483               2.x. (rjung)                                                   
484        fix    42849: Refuse to operate with IIS in case the initialization   
485               failed. Instead requesting isapi_redirect.dll 500 will be      
486               returned to the user. This is as closest as it can get to      
487               Apache Httpd where we refuse to start the server in case of    
488               fatal initialization errors. (mturk)                           
489        fix    Load Balancer: Fix a deadlock in lb worker, which was exposed  
490               on Solaris for threaded Apache MPMs. (rjung)                   
491        update Logging: handle LWP IDs as 32 Bit unsigned. Try to make it     
492               work, although pthread IDs are opaque. (rjung)                 
493        update JkStatus: Added manipulation of max_reply_timeouts. (rjung)    
494        update LB, Status: Add feature max_reply_timeouts, to make lb         
495               tolerant against occasional long running requests. (rjung)     
496        update JkStatus: Added OK/IDLE as the successor of N/A. (rjung)       
497        update Status worker: Renamed runtime states. All states have a major 
498               state (OK or ERR) and a substate. Changed the name N/A to      
499               OK/IDLE. Added docs about the meaning of the states to the     
500               status worker page in the reference guide. No new states have  
501               been added to code. (rjung)                                    
502        update Common: Add recovery options for recovering idempotent http    
503               methods HEAD and GET. (rjung)                                  
504        fix    Correct documentation for worker attributes retries and        
505               recovery_options. (rjung)                                      
506        fix    Make writing log lines and line endings more atomic. (rjung)   
507        update Common: Refactored and unified jk_map_read_prop* and           
508               jk_map_load_prop* for all use cases. (rjung)                   
509        update Common/Apache/IIS/Netscape: Add an option to check decoded     
510               URLs for potentially malicious constructions. (rjung)          
511        update IIS: Document auth_complete and uri_select. (rjung)            
512        update Apache/IIS/Netscape: Change the default forwarding encoding to 
513               the new proxy method. (jfclere, rjung)                         
514        update Common: Optionally reencode URIs before forwarding to the      
515               backend. Based on the URI reencoding done bei httpd mod_proxy. 
516               (jfclere, rjung)                                               
517        update Common: auto-detect correct print format for pid_t. This fixes 
518               at least compiler warnings on Solaris. (rjung)                 
519        fix    42608: Handle Content-length as unsigned 64Bit to allow for    
520               huge up- and downloads. (rjung)                                
521        update Apache: Add forwarding uri to debug log. (rjung)               
522        update Docs: Clarify relation between worker names and jvmRoute for   
523               load balancing. (rjung)                                        
524        fix    Use initial zero timeout for jk_is_socket_connected. The       
525               resulting detection is the same but offers a huge performance  
526               increase with mod_jk. In most cases the Operating System does  
527               not favor the 1 microsecond timeout, but it rather rounds that 
528               up to much higher value (frequency of interrupt timer which on 
529               most systems defaults to 100Hz). Patch provided by David       
530               McLaughlin. (mturk)                                            
531        update NSAPI: Check correct log file and shm file configuration       
532               during startup. (rjung)                                        
533        fix    NSAPI: Add support for the general options concerning retries, 
534               flushing and connection persistance. (rjung)                   
535        fix    NSAPI: fix crashes due to use of mount attribute in            
536               workers.properties. Changed initialization order. (rjung)      
537        fix    Improved handling of libtool and discrepancies between CC env  
538               variable and CC used during apache build by configure script.  
539               (rjung)                                                        
540        fix    Always build with thread support, unless flag --enable-prefork 
541               is set during for configure. (rjung)                           
542        update Use snprintf/vsnprintf from ap_snprintf.c for platforms other  
543               than Windows, which might lack snprintf/vsnprintf              
544               implementations when NOT build for Apache httpd 2.x/APR (e.g.  
545               Sub Web Server) or without using configure. (fuankg)           
546        update Imported ap_snprintf() from Apache 1.3. (fuankg)               
547        fix    Fix incorrect log object cleanup during statup, leading to     
548               crashes at least on iSeries. (rjung)                           
549        update Add jk_stat() and jk_file_exists() as wrapper functions. i5/OS 
550               V5R4 expects filename in ASCII for fopen but requires them in  
551               EBCDIC for stat(). (hgomez)                                    
552        update i5/OS (AS/400) V5R4 port where Apache 2.0 modules should now   
553               use UTF8. (hgomez)                                             
554        update Docs: Add comments on i5/OS build for V5R4 and previous        
555               releases. (hgomez)                                             
556                                                                              
557    Changes between 1.2.22 and 1.2.23                                         
558      Native                                                                  
559        update [CVE-2007-0450] and [CVE-2007-1860]: Change the default value  
560               of JkOptions to ForwardURICompatUnparsed. The old default      
561               value was ForwardURICompat. This should make URL               
562               interpretation between Apache httpd and Tomcat consistent      
563               (prevent double decoding problems). (rjung)                    
564                                                                              
565    Changes between 1.2.21 and 1.2.22                                         
566      Native                                                                  
567        fix    Refactor line endings logging to make it correct for all       
568               platforms and webservers. (mturk)                              
569        update Added command line windows make files. (mturk)                 
570        update Allow fail_on_status directive to be multi line. (mturk)       
571        fix    42076: Fix name of new option from ForwardCertChain to         
572               ForwardSSLCertChain as documented. (rjung)                     
573        fix    Docs: Fix a couple of typos, change format of a few tables,    
574               fix links to news pages. (rjung)                               
575        fix    Fix correct URL for TC 6 examples in new IIS                   
576               rewrite.properties configuration example file. (rjung)         
577        fix    Add svn properties to several files. (rjung)                   
578        update Add TC 6 examples to uriworkermap.properties in config         
579               examples. (rjung)                                              
580        update Allow multiple status codes for fail_on_status directive. The  
581               status codes can be delimited by space or comma characters.    
582               (mturk)                                                        
583        update IIS. Added pcre like regular expressions for url rewrite       
584               rules. (mturk)                                                 
585        fix    41922: Apache 1.3. Enable JkEnvVar. (mturk)                    
586        update Apache. Add --enable-flock configure parameter for explicit    
587               compilation of faster flock() system calls for OS supporting   
588               those calls. By default the fcntl system call for locking will 
589               be used that is a little bit slower but it can work on NFS     
590               mounted volumes as well. (mturk)                               
591        fix    41562: Add Debug logging for read from client in ISAPI         
592               Redirector. Contributed by Tim Whittington. (mturk)            
593        update Apache. Add ForwardSSLCertChain JkOption. Contributed by       
594               Patrik Schnellmann. (mturk)                                    
595        fix    IIS. Do not forbid access to web-inf or meta-inf if there is   
596               no mapped worker. This allows to have resource with those      
597               names that are outside mapped contexts. (mturk)                
598        update Apache. Use process id for creating shared memory name and     
599               delete shared memory and shared memory lock files on exit.     
600               (mturk)                                                        
601        fix    IIS. Fix Keep-Alive regression introduced in 1.2.21. (mturk)   
602        update Delete unused check for empty init_map during startup. (rjung) 
603        fix    41770: Fix startup error if no JkWorkersFile is used. (rjung)  
604        update Use JK_TRUE/JK_FALSE instead of OK/!OK as return values in     
605               init_jk(). (rjung)                                             
606        update Minor adjustments to apache startup log messages (when to use  
607               STDERR, remove deprecated NOERRNO flag, shm warning and        
608               warnings for usage of default files). (rjung)                  
609        update Replace APR precompiler directive by httpd mpm_query to detect 
610               MPM threading. Add a debug log message about auto-detected     
611               pool size. (rjung)                                             
612        fix    Make MMN check easier to understand and a little more precise  
613               (for new ap_get_server_banner()/ap_get_server_description()).  
614               We use the new API only for Apache httpd 2.3. This way our     
615               binaries are not tightly coupled to a minor 2.0 version, and   
616               we don't use ap_get_server_banner() any way. (rjung)           
617        fix    Use the full description string ap_get_server_description()    
618               instead of the truncated info from ap_get_server_banner(),     
619               because this info gets used internally (status worker display  
620               and ajp14 backend communication) and is not send back to the   
621               normal user. (rjung)                                           
622        fix    41757: Document the "--enable-prefork" flag of configure.      
623               (rjung)                                                        
624        update Enhance log messages for failures when parsing attribute maps. 
625               (rjung)                                                        
626        fix    Correct log message during worker initialization, in case      
627               remote host could not be resolved. We logged the default host  
628               name "localhost" instead of the configured one. (rjung)        
629        fix    41770: Fix the second part of the bug: local_worker and        
630               local_worker_only is missing from the list of deprecated       
631               attributes (and not supported either), so prevents the web     
632               server from startup. (rjung)                                   
633                                                                              
634    Changes between 1.2.20 and 1.2.21                                         
635      Native                                                                  
636        fix [CVE-2007-0774]: A denial of service and critical remote code     
637            execution vulnerability. Caused by buffer overflow in             
638            map_uri_to_worker() when URL were longer that 4095 bytes.         
639            Reported by ZDI (www.zerodayintiative.com). Please note this      
640            issue only affected versions 1.2.19 and 1.2.20 of the Apache      
641            Tomcat JK Web Server Connector and not previous versions. Tomcat  
642            5.5.20 and Tomcat 4.1.34 included a vulnerable version in their   
643            source packages. Other versions of Tomcat were not affected.      
644        add Check the worker. parameters and don't start if the parameter is  
645            not a valid one. (jfclere)                                        
646        add 41439: Allow session IDs to get stripped off URLs of static       
647            content in Apache by adding JkStripSession directive              
648            (configurable per vhost). (mturk)                                 
649        add Change semantics of empty defaults for JkEnvVar variables. Until  
650            1.2.19: not allowed. In 1.2.20: send variables as empty strings,  
651            if neither set to non empty in config, nor during runtime.        
652            Starting with 1.2.21: If config has no second argument only send  
653            variable if set (even when set to empty string) during runtime.   
654            Allows good combination with condition attribute in tomcat access 
655            log. (rjung)                                                      
656        fix 41610: Fix incorrect detection of missing Content-Length header   
657            leading to duplicate headers. Contributed by Boris Maras. (rjung) 
658        fix Better build support for SunONE (Netscape/iPlanet) webservers.    
659            (jim)                                                             
660        add Add warning if duplicate map keys are read and are not allowed,   
661            e.g. when parsing uriworkermap.properties. (rjung)                
662        fix Don't concat worker names, if uriworkermap.properties has a       
663            duplicate pattern, instead overwrite the worker. (rjung)          
664        fix Log deprecation message even in duplication case. (rjung)         
665        fix uriworkermap.properties: Fix off-by-one problem when deleting URL 
666            mapping during reloading of uriworkermap.properties. (rjung)      
667        add 41439: Allow session IDs to get stripped off URLs of static       
668            content in IIS (configurable). (rjung)                            
669        add 41333: Refactoring isapi_plugin configuration reading. (rjung)    
670        add 41332: Add some more errno logging and unify the format. (rjung)  
671        add JkStatus: Improved logging by adding status worker name to        
672            messages. Added messages to the recover worker action. (rjung)    
673        add JkStatus: Refactoring searching for workers and sub workers.      
674            (rjung)                                                           
675        add 41318: Add configuration to make status worker user name checks   
676            case insensitive. (rjung)                                         
677        add JkStatus: Add estimated time until next global maintenance to     
678            other mime types and adopt jkstatus ant task. (rjung)             
679        add JkStatus: Show estimated time until next global maintenance.      
680            Change displayed time until next recovery to a min/max pair.      
681            (rjung)                                                           
682        add JkStatus: Allow a user of a read/write status worker to switch it 
683            to and from read_only mode temporarily. (rjung)                   
684        fix JkStatus: Do not show read/write commands in a read_only status   
685            worker. (rjung)                                                   
686        add JkStatus: Allow lb sub workers in error state to be marked for    
687            recovery administratively from the status worker. (rjung)         
688        add Load Balancer: Do not try to recover multiple times in parallel.  
689            Use additional runtime states "PROBE" and "FORCED". (rjung)       
690        fix JkStatus: Improve data synchronization between different          
691            processes. (rjung)                                                
692        fix 41381: Fix segfault in feature fail_on_status (wrong order of log 
693            arguments). Patch by Juri Haberland. (rjung)                      
694        fix Use correct windows line endings for log file on WIN32 platform.  
695            (rjung)                                                           
696                                                                              
697    Changes between 1.2.19 and 1.2.20                                         
698      Native                                                                  
699        add    JkStatus Ant Task documentation page. (pero/rjung)             
700        add    JkStatus Ant Tasks: Add new tasks for update and reset. (pero) 
701        update JkStatus Ant Tasks: Update for new xml status format. (pero)   
702        update Allow integer and string values when setting                   
703               enumeration/boolean attributes via status worker update        
704               action. (rjung)                                                
705        add    Docs: New reference guide page for status worker. (rjung)      
706        update Docs: Renaming the config dir to reference and using the title 
707               Reference Guide in the docs. (rjung)                           
708        update Added retry_on_status for workers directive. (mturk)           
709        update Status Worker: Add directive to make property prefix and       
710               good/bad rule configurable. (rjung)                            
711        update Status Worker: Omit lb members when att=nosw. (rjung)          
712        update Status Worker: New command cmd=version for a short version     
713               output. (rjung)                                                
714        update Status Worker: New output stype mime=prop produces property    
715               lists. (rjung)                                                 
716        fix    Apache: Fix incorrect handling of JkEnvVar when Vars are set   
717               multiple times. (rjung)                                        
718        update Renamed jvm_route to route. Deprecated jvm_route, but still    
719               use it as fallback when parsing the worker configuration.      
720               (rjung)                                                        
721        update IIS: Make uriworkermap file reload check interval              
722               configurable. (mturk)                                          
723        update Apache: Make uriworkermap file reload check interval           
724               configurable. (rjung)                                          
725        update Status Worker: Add directives for customizing the XML output   
726               (ns, xmlns, doctype). (mturk)                                  
727        add    Docs: New page with description of uriworkermap. (rjung)       
728        update Docs: Added short description of max_packet_size to worker     
729               reference. (rjung)                                             
730        update Status Worker: All functions accessible also for xml and txt   
731               mime types (list, show, update, reset). (rjung)                
732        update Status Worker: New global health indicators for load balancers 
733               named bad (error, recovering or stopped), degraded (busy or    
734               disabled) and good (the rest, active and OK or N/A). (rjung)   
735        update Status Worker: New edit page, to change one attribute for all  
736               members of a load balancer. (rjung)                            
737        update Status Worker: Standard logging for status worker. (rjung)     
738        update Status Worker: code refactoring. (rjung)                       
739        update Status Worker: New attribute user (list) denies access, if the 
740               request user in the sense of remote_user is not in this list.  
741               Empty list = no deny (rjung)                                   
742        update Status Worker: New attribute read_only disables the parts of   
743               the status worker, that change states and configurations.      
744               (rjung)                                                        
745        fix    36121: Don't change main uri when mod_jk serves included uri.  
746               (markt)                                                        
747        update Apache VHosts: Merge JkOptions +base - -base + +vhost -        
748               -vhost. (rjung)                                                
749        update Apache Docs: Adding requirements, context information, default 
750               values and inheritance rules to the Apache config              
751               documentation. (rjung)                                         
752        update Status Worker: Add source type to status worker, remove the    
753               redundant "context" column in the map listing (context=uri).   
754               (rjung)                                                        
755        update uriworkermap: On reload of the file, all old entries from the  
756               previous file version get deleted, before the new ones are     
757               being read. (rjung)                                            
758        fix    Keep normal maps and exclusion maps internally separate. Don't 
759               treat them as the same when adding a rule. (rjung)             
760        update Status Worker: Display mapping rules also for non-lb workers   
761               and in global view. (rjung)                                    
762        update Apache VHosts: Use the vhost log files instead of the main     
763               log. (rjung)                                                   
764        update Apache VHosts: Allow individual timestamp formats by           
765               refactoring the formatting method. (rjung)                     
766        update Apache VHosts: Adding all missing config items to the virtual  
767               host level. Don't overwrite the settings from the global       
768               server, but inherit them in case they are not set in the       
769               virtual host. (rjung)                                          
770        update Apache: remove unnecessary function names from log messages.   
771               (rjung)                                                        
772        update Apache: add a default log file location and a message, if the  
773               default gets used. (rjung)                                     
774        update Apache: add missing JK_IS_DEBUG_LEVEL() (rjung)                
775        update Apache VHosts: Allow JkWorkersFile, JKWorkerProperty,          
776               JkShmFile and JkShmFileSize only in global virtual server.     
777               (rjung)                                                        
778        update Add some more jk_close_socket() and reduce log level for some  
779               info messages. (rjung)                                         
780        update Load Balancer: Added the Sessions strategy. Contributed by     
781               Takayuki Kaneko. (rjung)                                       
782        update Docs: Minor enhancements and syncing with more recent          
783               versions. (rjung)                                              
784        fix    40997: Separate uri mappings from their '!' counterpart when   
785               checking for duplicates in uriworkermap reloading. (rjung)     
786        fix    40877: Make sure the shared memory is reset on attach for      
787               multiple web server child processes. (mturk)                   
788        update IIS: Added shm_size property to be able to deal with over 64   
789               workers configurations. (mturk)                                
790        update IIS: Increase default thread count to 250, so its the same as  
791               Apache Httpd default configuration. (mturk)                    
792        fix    40966: Fix socket descriptor checks on windows. (mturk)        
793        fix    40965: Initialize missing service parameters. (mturk)          
794        fix    40938: Fix releasing of rewrite map. Thanks to Chris Adams for 
795               spotting that. (mturk)                                         
796        update Apache: Added +FlushHeader JkOptions. (mturk)                  
797        update Added explicit flush when AJP body packet size is zero.        
798               (mturk)                                                        
799        fix    40856: Fixing case sensitivity bug in URL mapping. (rjung)     
800        fix    40793: Documentation: Improvements to Apache HowTo provided by 
801               Paul Charles Leddy. (markt)                                    
802        fix    40774: Fixing wrong recursion termination. This one restricted 
803               the "reference" feature unintentionally to 20 workers. (rjung) 
804        fix    40716: Adding "reference" feature to IIS and Netscape. (rjung) 
805        fix    Documentation: Corrected SetEnvIf syntax in JK_WORKER_NAME     
806               example. (rjung)                                               
807        fix    Documentation: Added forgotten STATE and ACTIVATION notes for  
808               load balancer logging in Apache. (rjung)                       
809        update Apache: Use instdso.sh instead libtool: libtool does not work  
810               on HP-UX for example. (jfclere)                                
811                                                                              
812    Changes between 1.2.18 and 1.2.19                                         
813      Native                                                                  
814        update Docs: Add SetHandler and new env var to Apache config docs.    
815               (rjung)                                                        
816        update Apache 1.3: Backport "no-jk" feature. (rjung)                  
817        update Apache: Add an environment variable to make SetHandler         
818               "jakarta-servlet" more useful. The variable is JK_WORKER_NAME, 
819               but can be changed by the new directive JkWorkerIndicator.     
820               (rjung)                                                        
821        fix    LB: Don't use single worker shortcut, if the single worker is  
822               being diabled. (rjung)                                         
823        fix    Status worker: Add short explanation of activation and error   
824               states to legend. (rjung)                                      
825        fix    Docs: Add meaning of zero timeout values for various timeouts  
826               in workers.properties. (rjung)                                 
827        fix    LB: Cleanup of Mladens forced recovery. (rjung)                
828        fix    LB: Do not change lb_value for recovering workers to max, if   
829               we are using BUSYNESS method. (rjung)                          
830        fix    Apache: Since 1.2.14 mod_jk failed to detect client abort.     
831               (rjung)                                                        
832        fix    Docs: Corrected description of JkEnvVar. (rjung)               
833        fix    Solaris: Detect filio.h in configure to make the new           
834               connection detection build on solaris (r432825). (rjung)       
835        update Add feature to force the recovery of workers that are member   
836               of loadbalancer if all the members are in error state. This    
837               fixes the time gap where 503 was returned caused by            
838               recovery_timeout although the backend was ready to handle the  
839               requests. (mturk)                                              
840        update Docs: Seperate deprecated directives in their own table.       
841               (rjung)                                                        
842        update Docs: Allow "-" and "_" in worker names. (rjung)               
843        update Allow multiple lines with attributes "balance_workers" and     
844               "mount". (rjung)                                               
845        fix    Make jk_is_some_property match more precisely. (rjung)         
846        update JkStatus: Make refresh interval changeable. (rjung)            
847        fix    JkStatus: Adjust display of recover time wrt. global           
848               maintenance. (rjung)                                           
849        update LB: Resetting worker state from OK to NA, if worker has been   
850               idle too long. (rjung)                                         
851        fix    Avoid compiler warnings concerning the use of lb_*_type        
852               arrays. Use functions instead. (rjung)                         
853        update Added %R JkRequestLogFormat option for Apache 1 and Apache 2.  
854               (mturk)                                                        
855        update Allow changing jvm Route from status manager. (mturk)          
856        fix    Do not retun 400 if Tomcat fails in the midle of the post      
857               request. Return 500 insted. (mturk)                            
858        update LB: Combine ok/error/recovering/busy runtime states into a     
859               single scalar. (rjung)                                         
860        update LB: Combine active/disabled/stopped configuration states into  
861               a single scalar. (rjung)                                       
862        update LB: Add several Apache notes to enable standard logging for    
863               load balancer results. (rjung)                                 
864        update LB: Reorganisation of the main load balancer service loop.     
865               (rjung)                                                        
866        update Implement hierarchical worker configuration via attribute      
867               "reference". (rjung)                                           
868        update Log deprecated properties. (rjung)                             
869        fix    IIS: Fix simple_rewrite for the cases where the rewritten url  
870               is larger then the original one. (mturk)                       
871        update New JkOption "DisableReuse" to disable connection persistence. 
872               (jim)                                                          
873        update LB: Move sessionid retrieval out of get_most_suitable_worker   
874               into service. (rjung)                                          
875        update Code cleanup for all service methods (use TRACE,               
876               JK_LOG_NULL_PARAMS, null pointer checks). (rjung)              
877        update JKSTATUS: add refresh link. No refresh for updates. Redirect   
878               to list view after update. (rjung)                             
879        update Add new hook add_log_items into servers. (rjung)               
880        update APACHE httpd: Rename apache logging notes. (rjung)             
881        update LB: Rename lock and method constants. Add constants for        
882               defaults. (rjung)                                              
883        fix    Default log level should be INFO and not DEBUG. Default log    
884               level should be the same for all server types. (rjung)         
885        fix    Make rewrite_rule_map and log_level as non mandatory           
886               directives for isapi_redirect. (mturk)                         
887        fix    40107: Rewrite is_socket_connected function. Non blocking      
888               socket is not used any more. (mturk)                           
889        update Allow building with VS2005 without too many warnings. (mturk)  
890        fix    Decide by MMN, which piped log API we should use. mod_jk       
891               1.2.18 broke compilation with Apache 1.3 pre 1.3.28. (rjung)   
892                                                                              
893    Changes between 1.2.17 and 1.2.18                                         
894      Native                                                                  
895        fix    Using socklen_t in getsockopt. Also introducing jk_sock_t.     
896               (mturk)                                                        
897        update Allow recovery wait time below 60 seconds (new minimum is 1    
898               second). (mturk)                                               
899                                                                              
900    Changes between 1.2.16 and JK 1.2.17                                      
901      Native                                                                  
902        fix    Fix hanging jk status worker when certain attributes are being 
903               updated due to double locking. (rjung)                         
904        update Allow JkMount to behave like uriworkermap.properties by        
905               parsing pipe symbol as two directive marker. (mturk)           
906                                                                              
907    Changes between 1.2.15 and JK 1.2.16                                      
908      Native                                                                  
909        update Added simple rewrite capability for IIS. Although simple it    
910               will fulfill most needs. (mturk)                               
911        update Added RECOVER_ABORT_IF_CLIENTERROR recovery_option that closes 
912               the connection if client connection is broken during the       
913               request. (mturk)                                               
914        update Renamed cache_timeout directive to connection_pool_timeout.    
915               (mturk)                                                        
916        update Added connection_pool_minsize directive. (mturk)               
917        update Deprecate recycle_timeout directive. (mturk)                   
918        update Corrected some HTML syntax bugs in output of status worker.    
919               (rjung)                                                        
920        update Added the refresh=n parameter to the status worker. It will    
921               update the display every n seconds. (rjung)                    
922        update Balancer: Add attribute distance to balanced workers to        
923               express preferences between workers. (rjung)                   
924        update Balancer: Add attribute jvm_route to balanced workers to be    
925               able to use the same target in different balancers. (rjung)    
926        update Status: Add lb_mult to status. (rjung)                         
927        update Balancer: Make different balancing strategies work in a        
928               similar way (use lb_value, use decay during global             
929               maintenance, use integer factors for weights. (rjung)          
930        update Balancer: Improve locking. (rjung)                             
931        update Balancer: Workers start slower after recovering. (rjung)       
932        update Balancer: Make different balancing strategies work in a        
933               similar way (use lb_value, use decay during global             
934               maintenance, use integer factors lb_mult for weights). (rjung) 
935        update Balancer: Move recovery check to global maintenance. (rjung)   
936        update Balancer: Add global maintenance method, that is called in     
937               only one process. (rjung)                                      
938        update Extend our use of autoconf to find a 32Bit and a 64Bit         
939               unsigned type and their printf formats. (rjung)                
940        update Logging: piped loggers for JkLogFile and Apache 1.3. (rjung)   
941        update Logging: Add PID to log lines for each log level apart from    
942               REQUEST. (rjung)                                               
943        update Logging: flush buffered logs to keep lines in correct order.   
944               Output final newline together with log message. (rjung)        
945        update Reducing shm size. (rjung)                                     
946        update Only log removing of old worker, when we actually do it.       
947               (rjung)                                                        
948        fix    37469: Fix shared memory close for forked childs. The shared   
949               memory will be closed by the parent process. (mturk)           
950        fix    37332: Fix potential misuse of buffer length with snprintf     
951               functions. (mturk)                                             
952        fix    38859: [CVE-2006-7197] Protect mod_jk against buggy or         
953               malicious AJP servers in the backend. Patch provided by        
954               Ruediger Pluem. (mturk)                                        
955        fix    38889: Use worker map sorting depending on the path elements,  
956               to comply with Servlet spec. Patch provided by Steve Revilak.  
957               (mturk)                                                        
958        update 36138: Added Busyness lb method. Patch provided by Chris       
959               Lamprecht. (mturk)                                             
960        fix    Fix pessimistic locking mode. The patch correctly handles the  
961               burst load, by syncing the access to the shared memory data.   
962               (mturk)                                                        
963        fix    38806: Reclycle worker even if it is disabled. This fixes      
964               hot-standby workers in error state. (mturk)                    
965        fix    37167: Allow building with BSD-ish like make. (mturk)          
966        fix    ISAPI plugin (isapi_redirect.dll) did not provide correct      
967               request data for IIS to include in the IIS log. (markt)        
968                                                                              
969    Changes between 1.2.14 and 1.2.15                                         
970      Native                                                                  
971        fix Fix AJP13 Cookie2 parsing. Cookie2 was always send as Cookie.     
972            Patch provided by Andre Gebers. (mturk)                           
973        fix 35862: NSAPI plugin attempts to read freed memory and attempts to 
974            dereference a null pointer. Patch provided by Brian Kavanagh.     
975            (markt)                                                           
976                                                                              
977    Changes between 1.2.13 and 1.2.14                                         
978      Native                                                                  
979        fix Fix lb for worker mpm's with cachesize set to lower number then   
980            ThreadsPerChild is. If retries is set to value larger then 3      
981            sleep for 100 ms on each attempt. This enables to tune the        
982            connection cache, and serialize incoming connections instead      
983            returning busy if connection count is larger then cachesize.      
984            (mturk)                                                           
985        fix 36525: Solaris core dump. (mturk)                                 
986        fix 36102: Worker actions do not persist. (mturk)                     
987        fix 35864: Status worker doesn't list workers. Patch provided by      
988            Martin Goldhahn. (mturk)                                          
989        fix 35809: JkMountCopy don't work for Apache 2.0 Patch provided by    
990            Christophe Dubach. (mturk)                                        
991        fix 35298: Multiple JK/ISAPI redirectors on a single IIS site are not 
992            supported Patch provided by Tim Whittington. (mturk)              
993                                                                              
994    Changes between 1.2.12 and 1.2.13                                         
995      Native                                                                  
996        fix    34397: Emergency was handled as Error. (jfclere)               
997        fix    34474: // in URL were not handled correctly with Apache-1.3.   
998               (jfclere)                                                      
999        fix    Use 64 bits int for transferred/read bytes.                    
1000        update Added JkOptions +FlushPackets used to optimize memory usage    
1001               when sending large data. (mturk)                               
1002        update Added lock directive for load balancer that allows more        
1003               acurate load balancing in case of burst load. (mturk)          
1004        update Added worker.maintain directive to allow customizing default   
1005               10 second timeout. On busy servers this value needs to be set  
1006               on higher value. (mturk)                                       
1007        fix    Fix for NetWare compiler to deal with different types between  
1008               AP13 and AP2 SDKs. (fuankg)                                    
1009        update Emit much more legible user.dmp crash analysis output for      
1010               WIN32. (wrowe)                                                 
1011        fix    34558: Fix first failover request. (mturk)                     
1012                                                                              
1013    Changes between 1.2.11 and 1.2.12                                         
1014      Native                                                                  
1015        update Added ForwardLocallAddres JkOptions flag for passing local     
1016               instead remote address. Useful for remote addr valve. (mturk)  
1017        fix    Fix that worker not used, when stopped flag is true. (pero)    
1018        update Add loadbalance default worker secret attribute to the         
1019               documentation (pero)                                           
1020                                                                              
1021    Changes between 1.2.10 and 1.2.11                                         
1022      Native                                                                  
1023        fix    Backport SC_M_JK_STORED from JK2 for passing arbitrary methods 
1024               instead failing the request. (mturk)                           
1025        fix    Added missing SEARCH and ACL http methods. (mturk)             
1026        update Add worker secret attribute to the documentation (pero)        
1027        update Add a stopped flag to worker configuration. Set flag True and  
1028               complete traffic to worker is stopped. Also update the Ant     
1029               JkStatusUpdateTask at Tomcat 5.5.10 release. Only usefull in a 
1030               replicated session cluster.(pero)                              
1031        update Added worker maintain function that will maintain all the      
1032               workers instead just the current one. This enables to recycle  
1033               the connections on all workers. (mturk)                        
1034        update Use shutdown when recycling connections instead hard breaking  
1035               the socket. (mturk)                                            
1036        update Add unique directives checking. The directives if unique are   
1037               now overwritten instead concatenated. (mturk)                  
1038        update Allow multiple worker.list directives. (mturk)                 
1039        fix    34577: For IIS log original request instead loging the request 
1040               for ISAPI extension. (mturk)                                   
1041        fix    34558: Make sure the returned status codes are the same for    
1042               ajp and lb workers. (mturk)                                    
1043        fix    34423: Use APR_USE_FLOCK_SERIALIZE for setting log lock on     
1044               platforms like FreeBSD. Patch provided by Allan Saddi. (mturk) 
1045        fix    33843: Fix obtaining LDFLAGS that were used for building       
1046               Apache HTTPD. Patch provided by Beat Kneubuehl. (mturk)        
1047        fix    34358: Enable load balancer method configuration. (glenn)      
1048        fix    34357: In some situations Apache 2 mod_jk could segfault when  
1049               the JkAutoAlias directive is used. (glenn)                     
1050        update Add --enable-prefork to the documentation (pero)               
1051                                                                              
1052    Changes between 1.2.9 and 1.2.10                                          
1053      Native                                                                  
1054        update Set default shared memory to 64K instead 1M. (mturk)           
1055        fix    Do not mark the worker in error state if headers are larger    
1056               then AJP13 limit. (mturk)                                      
1057        update On Series you should use the latest PTF for Apache 2.0 (which  
1058               is now 2.0.52) and ad minima SI17402/SI17061 or cumulative     
1059               including them. (hgomez)                                       
1060        update Change the xml status format to xml attribute syntax (pero)    
1061        fix    33248: Fix builds where apxs defines multiple directories for  
1062               APR includes. (mturk)                                          
1063        fix    32696: Return 404 instead 403 when WEB-INF is requested to     
1064               comply with Servlet spec. (mturk)                              
1065        update Added ANT task for managing jkstatus. (pero)                   
1066        update If socket_timeout is set, check if socket is alive before      
1067               sending any request to Tomcat. (mturk)                         
1068        update Added JkMountFile for Apache web servers. This file can        
1069               contain uri mappings in the form (/url=worker), and is checked 
1070               for updates at regular 60 second interval. (mturk)             
1071        update Added status worker for managing worker runtime data using web 
1072               page. (mturk)                                                  
1073        update Added load balancer method directive that is used for setting  
1074               the algorithm used for balancing workers. Method can be either 
1075               Request (default) or Traffic. (mturk)                          
1076        update Added shared memory to allow dynamic configuration. Shared     
1077               memory is needed only for unix platform and web servers having 
1078               multiple child processes. For Apache web server two new        
1079               directives has been added (JkShmFile and JkShmSize). (mturk)   
1080        update Added textupdate mode to status worker to handle remote        
1081               updates from ant tasks.(pero)                                  
1082        fix    33562: Fix Reply_timeout when recovery_options is larger than  
1083               1. Patch provided by Takashi Satou. (mturk)                    
1084        fix    33308: Fix segfaults when ForwardDirectories is enabled with   
1085               Apache 1.3                                                     
1086                                                                              
1087    Changes between 1.2.7 and 1.2.8                                           
1088      Native                                                                  
1089        update Allow anyone to debug and diagnose stack dumps using windbg or 
1090               any other debugging tool, and (if they add the .pdb files to   
1091               their installation) to make sense of dr watson logs. Patch     
1092               provided by William A. Rowe (wrowe)                            
1093        fix    Fix in_addr_t usage by using the real struct ignoring typedef. 
1094               Patch provided by William A. Rowe (wrowe)                      
1095        fix    Fix url rewriting by restoring the in place uri from which the 
1096               jsessionid was removed. (mturk)                                
1097        update Make load balancer algorithm thread safe by introducing mutex  
1098               to the load balancer worker. (mturk)                           
1099        fix    Fix sending error pages for IIS to client by adding            
1100               Content-Type header using correct api function call. (mturk)   
1101        fix    32696: Prevent IIS from crushing when web-inf url was          
1102               requested. (mturk)                                             
1103        update Use default cachesize for servers that support discovering the 
1104               number of threads per child process. (mturk).                  
1105        fix    Fix Apache content-length header parsing using case            
1106               insensitive compare. (billbarker)                              
1107        fix    Fix parsing AJP headers using case insensitive compare.        
1108               (mturk)                                                        
1109        fix    Use infinite socket timeout if socket_timeout is set to zero   
1110               or less then zero. (mturk)                                     
1111        update Change balanced_workers to balance_workers but keep backward   
1112               compatibility preserving the old directive. (mturk).           
1113        fix    Fix ajp initialization for workers with cache_size set to      
1114               zero. (mturk)                                                  
1115        update 32317: Making mod_jk replication aware (Clustering Support).   
1116               Patch provided by Rainer Jung. (mturk).                        
1117        fix    31132: Core dump when JkLogFile is missing from conf. (mturk)  
1118                                                                              
1119    Changes between 1.2.6 and 1.2.7                                           
1120      Native                                                                  
1121        update Added new property named recover_time that can be used to      
1122               change the default 60 second recover time. (mturk)             
1123        update Added custom retries for worker, so we don't depend on default 
1124               setting. If set to a number grater then 3, it will sleep for   
1125               100ms on retry greater then 3 and then try again. (mturk)      
1126        update Added JkWorkerProperty directive that enables omiting          
1127               workers.properties file. For example: JkWorkerProperty         
1128               worker.ajp13a.port=8009. (mturk)                               
1129        fix    Check all JSESSIONID cookies for a valid jvmRoute. If you have 
1130               multiple Tomcats with overlapping domains, then you can get    
1131               multiple cookies without a defined order. This will route      
1132               correctly as long as the different domains don't have any      
1133               Tomcats in common. (billbarker)                                
1134        update Added JkUnMount directive for negative mappings that works as  
1135               opposite to JkMount directives. It is used for blocking of     
1136               particular URL or content type. (mturk)                        
1137        update Added wildchar match uri mappings. One can now use JkMount to  
1138               map /app/*/servlet/* or /app?/*/*.jsp. (mturk)                 
1139        update Rewrite the logging by adding Trace options. (mturk)           
1140        update Added socket_timeout property that sets the timeout for the    
1141               socket itself. (mturk)                                         
1142        fix    Changed socket_timeout property to recycle_timeout. This       
1143               better explains what the directive actually does. (mturk)      
1144        fix    Changed the load balancer algorithm. The idea behind this new  
1145               scheduler is the following: lbfactor is how much we expect     
1146               this worker to work, or the worker's work quota. lbstatus is   
1147               how urgent this worker has to work to fulfill its quota of     
1148               work. We distribute each worker's work quota to the worker,    
1149               and then look which of them needs to work most urgently        
1150               (biggest lbstatus). This worker is then selected for work, and 
1151               its lbstatus reduced by the total work quota we distributed to 
1152               all workers. Thus the sum of all lbstatus does not change.(*)  
1153               If some workers are disabled, the others will still be         
1154               scheduled correctly. (mturk)                                   
1155                                                                              
1156    JK 2                                                                      
1157      JK2 has been put in maintainer mode and no further development will     
1158      take place. The reason for shutting down JK2 development was the lack   
1159      of developers interest. Other reason was lack of users interest in      
1160      adopting JK2, caused by configuration complexity when compared to JK.   
1161    ---------------------------------------------------------------------------
1162                Copyright © 1999-2011, Apache Software Foundation