/
CHANGES
15447 lines (11568 loc) · 671 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-*- coding: utf-8 -*-
Changes with Apache 2.2.5
*) mod_cache: Let Cache-Control max-age set the expiration of the cached
representation if Expires is not set. [Justin Erenkrantz]
*) mod_cache: Allow caching of requests with query arguments when
Cache-Control max-age is explicitly specified. [Justin Erenkrantz]
*) mod_disk_cache: Allow Vary'd responses to be refreshed properly.
[Justin Erenkrantz]
*) mod_proxy: Print the correct error message for erroneous configured
ProxyPass directives. PR 40439. [serai lans-tv.com]
*) mod_so: Provide more helpful LoadModule feedback when an error occurs.
[William Rowe]
*) mod_alias: Accept path components (URL part) in Redirects. PR 35314.
[Nick Kew]
*) mod_headers: Allow % at the end of a Header value. PR 36609.
[Nick Kew, Ruediger Pluem]
*) mod_cache: Use the same cache key throughout the whole request processing
to handle escaped URLs correctly. PR 41475. [Ruediger Pluem]
*) mod_cache: Add CacheIgnoreQueryString directive. PR 41484.
[Fredrik Widlund <fredrik.widlund qbrick.com>]
*) mod_cache: While serving a cached entity ensure that filters that have
been applied to this cached entity before saving it to the cache are not
applied again. PR 40090. [Ruediger Pluem]
*) mod_cache: Correctly cache objects whose URL query string has been
modified by mod_rewrite. PR 40805. [Ruediger Pluem]
*) HTTP proxy ProxyErrorOverride: Leave 1xx and 3xx responses alone. Only
processing of error responses (4xx, 5xx) will be altered. PR 39245.
[Jeff Trawick, Bart van der Schans <schans hippo.nl>]
*) htdbm: Enable crypt support on platforms with crypt() but not
<crypt.h>, such as z/OS. [David Jones <oscaremma gmail.com>]
*) mod_ssl: initialize thread locks before initializing the hardware
acceleration library, so the latter can make use of the former.
PR 20951. [adunn at ncipher.com]
*) ab.c: Correct behavior of HTTP request headers sent by ab
in presence of -H command-line overrides. PR 31268, 26554.
[Arvind Srinivasan <arvind.srinivasan sun.com>]
*) ab.c: The apr_port_t type is unsigned, but ab was using a
signed format code in its reports. PR 42070.
[Takashi Sato <serai lans-tv.com>]
*) mod_ldap: Remove the hardcoded size limit parameter for
ldap_search_ext_s and replace it with an APR_ defined
value that is set according to the LDAP SDK being used.
[David Jones <oscaremma gmail com>]
*) core: Correct a regression since 2.0.x in the handling of AllowOverride
Options. PR 41829. [Torsten Förtsch <torsten.foertsch gmx.net>]
*) mod_proxy_http: Handle request bodies larger than 2 GB by converting
the Content-Length header of the request correctly. PR 40883.
[Ruediger Pluem, toadie <toadie643 gmail.com>]
*) mod_proxy: Fix some proxy setting inheritance problems (eg:
ProxyTimeout). PR 11540. [Stuart Children <stuart terminus.co.uk>]
*) Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory
can work after that terminating signal.
[Eric Covener <covener gmail.com>]
*) Win32: Makefile.win will now build with MS VC 8 (Visual Studio 2005)
including embedding the .manifest information into each binary.
[William Rowe]
Changes with Apache 2.2.4
*) mod_isapi: Correctly present SERVER_PORT_SECURE.
PR: 40573. [Matt Eaton <asf divinehawk.com>]
*) Allow htcacheclean, httxt2dbm, and fcgistarter to link apr/apr-util
statically like the older support programs.
[Eric Covener <covener gmail.com>]
*) core: Fix NONBLOCK status of listening sockets on restart/graceful
PR 37680. [Darius Davis <darius-abz free-range.com.au>]
*) mod_deflate: Rework inflate output and deflate output filter to fix several
issues: Incorrect handling of flush buckets, potential memory leaks,
excessive memory usage in inflate output filter for large compressed
content. PR 39854. [Ruediger Pluem, Nick Kew, Justin Erenkrantz]
*) mod_mem_cache: Memory leak fix: Unconditionally free the buffer.
[Davi Arnaut <davi haxent.com.br>]
*) Allow mod_dumpio to log at other than DEBUG levels via
the new DumpIOLogLevel directive. [Jim Jagielski]
*) rotatelogs: Improve error message for open failures. PR 39487.
[Joe Orton]
*) mod_dbd: share per-request database handles across subrequests
and internal redirects [Chris Darroch]
*) mod_dbd: key connection pools to virtual hosts correctly even when
ServerName is unset/unavailable [Graham Leggett]
*) Better detection and clean up of ldap connection that has been
terminated by the ldap server. PR 40878.
[Rob Baily <rbaily servicebench com>]
*) mod_mem_cache: Convert mod_mem_cache to use APR memory pool functions
by creating a root pool for object persistence across requests. This
also eliminates the need for custom serialization code.
[Davi Arnaut <davi haxent.com.br>]
*) mod_authnz_ldap: Add an AuthLDAPRemoteUserAttribute directive. If
set, REMOTE_USER will be set to this attribute, rather than the
username supplied by the user. Useful for example when you want users
to log in using an email address, but need to supply a userid instead
to the backend. [Graham Leggett]
*) mod_cgi and mod_cgid: Don't use apr_status_t error return
from input filters as HTTP return value from the handler.
PR 31579. [Nick Kew]
*) mod_cache: Eliminate a bogus error in the log when a filter returns
AP_FILTER_ERROR. [Niklas Edmundsson <nikke acc.umu.se>]
*) core: Fix issue which could cause piped loggers to be orphaned and never
terminate after a graceful restart. PR 40651. [Joe Orton, Ruediger Pluem]
*) core: Fix address-in-use startup failure caused by corruption of the list
of listen sockets in some configurations with multiple generic Listen
directives. [Jeff Trawick]
*) mod_headers: Support regexp-based editing of HTTP headers. [Nick Kew]
*) mod_proxy: Add explicit flushing feature. When Servlet container sends AJP
body message with size 0, this means that Servlet container has asked for
an explicit flush. Create flush bucket in that case. This feature has been
added to the recent Tomcat versions without breaking the AJP protocol.
[Mladen Turk]
*) mod_proxy_balancer: Set the new environment variable BALANCER_ROUTE_CHANGED
if a worker with a route different from the one supplied by the client
had been chosen or if the client supplied no routing information for
a balancer with sticky sessions. [Ruediger Pluem]
*) mod_proxy_balancer: Add information about the route, the sticky session
and the worker used during a request as environment variables. PR 39806.
[Brian <brectanu gmail.com>]
*) mod_proxy: Don't try to use dead backend connection. PR 37770.
[Olivier BOEL <ob dorrboel.com>]
*) mod_proxy_balancer: Extract stickysession routing information contained as
parameter in the URL correctly. PR 40400.
[Ruediger Pluem, Tomokazu Harada <harada sysrdc.ns-sol.co.jp>]
*) mod_proxy_ajp: Added cping/cpong support for the AJP protocol.
A new worker directive ping=timeout will cause CPING packet
to be send expecting CPONG packet within defined timeout.
In case the backend is too busy this will fail instead
sending the full header. [Mladen Turk]
*) mod_disk_cache: Make sure that only positive integers are accepted
for the CacheMaxFileSize and CacheMinFileSize parameters in the
config file. PR39380. [Niklas Edmundsson <nikke acc.umu.se>]
*) mod_cache: From RFC3986 (section 6.2.3.) if a URI contains an
authority component and an empty path, the empty path is to be equivalent
to "/". It explicitly cites the following four URIs as equivalents:
http://example.com
http://example.com/
http://example.com:/
http://example.com:80/
[Davi Arnaut <davi haxent.com.br>]
*) mod_cache: Don't cache requests with a expires date in the past;
otherwise mod_cache will always try to cache the URL. This bug
might lead to numerous rename() errors on win32 if the URL was
previously cached. [Davi Arnaut <davi haxent.com.br>]
*) core: Deal with the widespread use of apr_status_t return values
as HTTP status codes, as documented in PR#31759 (a bug shared by
the default handler, mod_cgi, mod_cgid, mod_proxy, and probably
others). PR31759. [Jeff Trawick, Ruediger Pluem, Joe Orton]
*) mod_ext_filter: Handle filter names which include capital letters.
PR 40323. [Jeff Trawick]
*) mod_isapi: Avoid double trailing slashes in HSE_REQ_MAP_URL_TO_PATH
support. Also corrects the slashes for Windows.
PR 15993. [William Rowe]
*) mod_isapi: Handle "HTTP/1.1 200 OK" style status lines correctly, the
token parser worked while the resulting length was misinterpreted.
PR 29098. [Brock Bland <bbland serena.com>]
*) mod_isapi: Return 0 (failure) for more of the various ap_pass_brigade
attempts to stream the response at the client. Log these as well.
PR 30022, 40470. [William Rowe, Matt Eaton <asf divinehawk.com>]
*) mod_isapi: Ensure we walk through all the methods the developer may have
employed to report their HTTP status result code.
PR 16637 30033 28089. [Matt Lewandowsky <matt iamcode.net>, William Rowe]
*) mod_echo: Fix precedence problem in if statement. PR 40658.
[Larry Cipriani <lvc lucent.com>]
*) mod_mime_magic: Fix precedence problem in if statement. PR 40656.
[Larry Cipriani <lvc lucent.com>]
*) The full server version information is now included in the error log at
startup as well as server status reports, irrespective of the setting
of the ServerTokens directive. ap_get_server_version() is now deprecated,
and is replaced by ap_get_server_banner() and ap_get_server_description().
[Jeff Trawick]
*) mod_proxy_balancer: Workers can now be defined as part of
a balancer cluster "set" in which members of a lower-numbered set
are preferred over higher numbered ones. [Jim Jagielski]
*) mod_proxy_balancer: Workers can now be defined as "hot standby" which
will only be used if all other workers are unusable (eg: in
error or disabled). Also, the balancer-manager displays the election
count and I/O counts of all workers. [Jim Jagielski]
*) mod_proxy_ajp: Close connection to backend if reading of request body
fails. PR 40310. [Ian Abel <ianabel mxtelecom.com>]
*) mod_proxy_balancer: Retry worker chosen by route / redirect worker if
it is in error state before sending "Service Temporarily Unavailable".
PR 38962. [Christian Boitel <cboitel lfdj.com>]
Changes with Apache 2.2.3
*) SECURITY: CVE-2006-3747 (cve.mitre.org)
mod_rewrite: Fix an off-by-one security problem in the ldap scheme
handling. For some RewriteRules this could lead to a pointer being
written out of bounds. Reported by Mark Dowd of McAfee.
[Mark Cox]
*) Win32: Minor fixes to build more cleanly under Visual Studio 2005
with command line builds. [William Rowe]
*) mod_authn_alias: Add a check to make sure that the base provider and the
alias names are different and also that the alias has not been registered
before. PR 40051. [Brad Nicholes]
*) mod_authnz_ldap: Fix a problem with invalid auth error detection for LDAP
client SDKs that don't support the LDAP_SECURITY_ERROR macro. PR 39529.
[Ray Price <dohrayme yahoo.com>, Josh Fenlason <jfenlason ptc.com>]
*) mod_cache: Do not overwrite the Content-Type in the cache, for
successfully revalidated cached objects. PR 39647. [Ruediger Pluem]
*) mod_speling: Add directive to deal with case corrections only
and ignore other misspellings [Olivier Thereaux <ot w3.org>]
*) mod_dbd: Fix dependence on virtualhost configuration in
defining prepared statements (possible segfault at startup
in user modules such as mod_authn_dbd). [Nick Kew]
*) Add optional 'scheme://' prefix to ServerName directive,
allowing correct determination of the canonical server URL
for use behind a proxy or offload device handling SSL; fixing
redirect generation in those cases. PR 33398. [Sander Temme]
*) Added server_scheme field to server_rec for above. Minor MMN bump.
[Sander Temme]
*) mod_cache: Make caching of reverse SSL proxies possible again. PR 39593.
[Ruediger Pluem, Joe Orton]
*) Worker MPM: On graceless shutdown or restart, send signals to
each worker thread to wake them up if they're polling on a
Keep-Alive connection. PR 38737. [Chris Darroch]
*) worker and event MPMs: fix excessive forking if fork() or child_init
take a long time. PR 39275.
[Greg Ames, Jeff Trawick, Chris Darroch <chrisd pearsoncmg.com> ]
*) configure: Add "--with-included-apr" flag to force use of the
bundled version of APR at build time. [Joe Orton]
*) Respect GracefulShutdownTimeout in the worker and event MPMs.
[Chris Darroch, Garrett Rooney]
*) mod_mem_cache: Set content type correctly when delivering data from
cache. PR 39266. [Ruediger Pluem]
*) mod_autoindex: Fix filename escaping with FancyIndexing disabled.
PR 38910. [Robby Griffin <rmg terc.edu>]
*) mod_charset_lite: Bypass translation when the source and dest charsets
are the same. [Jeff Trawick]
Changes with Apache 2.2.2
*) mod_deflate: work correctly in an internal redirect
[Brian J. France <list firehawksystems com>]
*) mod_proxy_balancer: Initialize members of a balancer correctly.
PR 38227. [James A. Robinson <jim.robinson stanford.edu>]
*) mod_proxy: Do not release connections from connection pool twice.
PR 38793. [Ruediger Pluem, matthias <mk-asf gigacodes.de>]
*) core: Prevent reading uninitialized memory while reading a line of
protocol input. PR 39282. [Davi Arnaut <davi haxent com br>]
*) mod_dbd: Update defaults, improve error reporting.
[Chris Darroch <chrisd pearsoncmg com>, Nick Kew]
*) mod_dbd: Create own pool and mutex to avoid problem use of
process pool in request processing.
[Chris Darroch <chrisd pearsoncmg com>]
*) HTML-escape the Expect error message. Not classed as security as
an attacker has no way to influence the Expect header a victim will
send to a target site. Reported by Thiago Zaninotti
<thiango nstalker.com>. [Mark Cox]
*) htdbm: Fix crash processing -d option in 64-bit mode on HP-UX.
[Jeff Trawick]
*) htdbm: Warn the user when adding a plaintext password on a platform
where it wouldn't work with the server (i.e., anywhere that has
crypt()). [Jeff Trawick]
*) mod_proxy: don't reuse a connection that may be to the wrong backend
PR 39253 [Ruediger Pluem]
*) Default handler: Don't return output filter apr_status_t values.
PR 31759. [Jeff Trawick, Ruediger Pluem, Joe Orton]
Changes with Apache 2.2.1
*) SECURITY: CVE-2005-3357 (cve.mitre.org)
mod_ssl: Fix a possible crash during access control checks if a
non-SSL request is processed for an SSL vhost (such as the
"HTTP request received on SSL port" error message when an 400
ErrorDocument is configured, or if using "SSLEngine optional").
PR 37791. [Rüdiger Plüm, Joe Orton]
*) SECURITY: CVE-2005-3352 (cve.mitre.org)
mod_imagemap: Escape untrusted referer header before outputting
in HTML to avoid potential cross-site scripting. Change also
made to ap_escape_html so we escape quotes. Reported by JPCERT.
[Mark Cox]
*) mod_proxy_ajp: Flushing of the output after each AJP chunk is now
configurable at runtime via the 'flushpackets' and 'flushwait' worker
params. Minor MMN bump. [Jim Jagielski]
*) mod_proxy: Fix incorrect usage of local and shared worker init.
PR 38403. [Jim Jagielski]
*) mod_isapi: Fix compiler errors on Unix platforms.
[William Rowe]
*) mod_proxy_http: Do send keep-alive header if the client sent
connection: keep-alive and do not close backend connection if the client
sent connection: close. PR 38524. [Ruediger Pluem, Joe Orton]
*) mod_disk_cache: Return the correct error codes from bucket read
failures, instead of APR_EGENERAL.
[Brian Akins <brian.akins turner.com>]
*) Add APR/APR-Util Compiled and Runtime Version numbers to the
output of 'httpd -V'. [William Rowe]
*) http: If a connection is aborted while waiting for a chunked line,
flag the connection as errored out. [Justin Erenkrantz]
*) core: Reject invalid Expect header immediately. PR 38123.
[Ruediger Pluem]
*) Fix mis-shifted 32 bit scope, masked to 64 bits as a method.
[Will Rowe, Joe Orton]
*) mod_proxy: Fix KeepAlives not being allowed and set to
backend servers. PR 38602. [Ruediger Pluem, Jim Jagielski]
*) Fix instdso.sh "sed syntax error" installation issue on some
platforms. PR 38108. [Masaoki Kobayashi <masaoki techfirm.co.jp>]
*) mod_ssl: Fix possible crashes in shmcb with gcc 4 on platforms
requiring word-aligned pointers. PR 38838. [Joe Orton]
*) mod_proxy: If we get an error reading the upstream response,
close the connection. [Justin Erenkrantz, Roy T. Fielding,
Jim Jagielski, Ruediger Pluem]
*) mod_proxy_ajp: Support common headers of the AJP protocol in responses.
PR 38340. [Aleksey Pesternikov <apesternikov yahoo.com>]
*) mod_proxy_balancer: Do not overwrite the status of initialized workers and
respect the configured status of uninitilized workers when creating a new
child process. [Ruediger Pluem]
*) mod_proxy_ajp: Crosscheck the length of the body chunk with the length of
the ajp message to prevent mod_proxy_ajp from reading beyond the buffer
boundaries and thus revealing possibly sensitive memory contents to the
client. [Ruediger Pluem]
*) Ensure that the proper status line is written to the client, fixing
incorrect status lines caused by filters which modify r->status without
resetting r->status_line, such as the built-in byterange filter.
[Jeff Trawick]
*) mod_speling: Stop crashing with certain non-file requests. [Jeff Trawick]
*) mod_cache: Make caching of reverse proxies possible again. PR 38017.
[Ruediger Pluem]
*) Modify apr[util] .h detection to avoid breakage on VPATH builds
using Solaris make (amoung others) and avoid breakage in ./buildconf
when srclib/apr[-util] are symlinks rather than directories proper.
[William Rowe]
*) Avoid Server-driven negotiation when a script has emitted an
explicit Status: header. PR 38070. [Nick Kew]
*) Fix to avoid feeding C99 to C++ compilers. [Joe Orton]
*) Chunk filter: Fix chunk filter to create correct chunks in the case that
a flush bucket is surrounded by data buckets. [Ruediger Pluem]
*) Fix syntax error in httpd.h with strict compilers. PR 37840.
[Per Olausson <pao darkheim.freeserve.co.uk>]
*) Fix recursive ErrorDocument handling. PR 36090.
[Chris Darroch <chrisd pearsoncmg.com>]
*) Don't hang on error return from post_read_request. PR 37790.
[Nick Kew]
*) Fix off-by-one error in proxy_balancer. PR 37753.
[Kazuhiro Osawa <ko yappo ne jp>]
Changes with Apache 2.2.0
*) mod_negotiation: Minor performance tweak by reusing already calculated
strlen.
[Ruediger Pluem, Christophe Jaillet <christophe.jaillet wanadoo.fr>]
*) Remove support for 'On' and 'Off' for AuthBasicProvider and
AuthDigestProvider. [Joshua Slive, Justin Erenkrantz]
*) Add in new UseCanonicalPhysicalPort directive, which controls
whether or not Apache will ever use the actual physical port
when constructing the canonical port number. [Jim Jagielski]
*) mod_dav: Fix a null pointer dereference in an error code path during the
handling of MKCOL.
[Ruediger Pluem, Ghassan Misherghi <ghassanm ucdavis.edu>]
*) mod_proxy_balancer: When finding best worker, use case insensitive
match for scheme and host, but case sensitive for the rest of
the path. [Jim Jagielski, Ruediger Pluem]
*) Require use of APR >= 1.2.0 and APR-util >= 1.2.0 when configured
to use external copies of the libraries. [Joe Orton]
*) Fix DESTDIR=... installation when using bundled copy of APR.
[Torsten Foertsch <torsten.foertsch gmx.net>]
*) mod_dav: Fix handling of unknown state tokens in If: headers.
PR: 37288. [Joe Orton]
*) Strip out Experimental MPMs that have gone nowhere since 2.0
(perchild, threadpool, leader). [Nick Kew]
Changes with Apache 2.1.9
*) Add mod_authn_dbd (SQL-based authentication) [Nick Kew]
*) mod_proxy_ajp: Do not spool the entire response from AJP backend before
sending it up the filter chain. PR 37100. [Ruediger Pluem]
*) mod_cache: Create new filters CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ which
only differ by the type from CACHE_OUT / CACHE_SAVE to ensure that
subrequests to non-local resources work again. [Ruediger Pluem]
*) mod_proxy: Do not lowercase the entire worker name of a BalancerMember
since this breaks case sensitive URI's. PR 36906. [Ruediger Pluem]
*) core: AddOutputFilterByType is ignored for proxied requests. PR 31226.
[Joe Orton, Ruediger Pluem]
*) mod_proxy_http: Prevent data corruption of POST request bodies when
client accesses proxied resources with SSL. PR 37145.
[Ruediger Pluem, William Rowe]
*) mod_ssl: Fix issue which could cause spurious warnings about use
of name-based vhosts. PR 37051. [Joe Orton]
*) ab: Fix to ensure that only the expected number of requests are run.
PR 36966. [Joe Orton]
*) mod_proxy_balancer: BalancerManager and proxies correctly handle
member workers with paths. PR 36816. [Ruediger Pluem, Jim Jagielski]
*) mod_log_config: %{hextid}P will log the thread id in hex with APR
versions 1.2.0 or higher. [Jeff Trawick]
*) httpd.exe/apachectl -V: display the DYNAMIC_MODULE_LIMIT setting, as
in 1.3. [Jeff Trawick]
*) Support dbd connection tied to conn_rec in mod_dbd. [Nick Kew]
*) Fix use of pools in mod_dbd. [Brian J France, Nick Kew]
*) Promote modules from "experimental": mod_dbd, mod_filter,
mod_charset_lite. [Nick Kew]
*) mod_proxy_ajp: mod_proxy_ajp sends empty SSL attributes for non SSL
connections. PR 36883.
[William Barker <william.barker wilshire.com>, Ruediger Pluem]
*) Eliminated the NET_TIME filter, restructuring the timeout logic.
This provides a working mod_echo on all platforms, and ensures any
custom protocol module is at least given an initial timeout value
based on the <VirtualHost > context's Timeout directive.
[William Rowe]
*) mod_proxy: Run the request_status hook also if there are no free workers
or all workers are in error state.
[Ruediger Pluem, Brian Akins <brian.akins turner.com>]
*) mod_proxy_connect: Fix high CPU loop on systems like UnixWare which
trigger POLL_ERR or POLL_HUP on a terminated connection. PR 36951.
[Jeff Trawick, Ruediger Pluem]
*) mod_proxy_balancer: Fix handling of sticky sessions with Tomcat.
PR 36507. [Ruediger Pluem]
*) SECURITY: CVE-2005-2970 (cve.mitre.org)
worker MPM: Fix a memory leak which can occur after an aborted
connection in some limited circumstances. [Greg Ames]
*) Doxygen fixups. [Neale Ranns <neale ranns.org>, Ian Holsman]
*) mod_cache/mod_dir: Correct a subrequest lookup bug which was preventing
mod_dir from serving indexes correctly with mod_cache enabled.
[Colm MacCarthaigh]
Changes with Apache 2.1.8
*) Fix lingering close implementation to match 1.3.x behaviour.
PR 35292. [Joe Orton]
*) mod_ssl: Support limited buffering of request bodies to allow
per-location renegotiation to proceed. PR 12355. [Joe Orton]
*) Fix regression since 2.0.x in AllowOverride Options handling.
PR 35330. [kabe <kabe sra-tohoku.co.jp>]
*) mod_ssl: Fix memory leak in ssl_util_algotypeof().
PR 25659. [David Blake <dblake hp com>, Martin Kraemer]
*) prefork, worker and event MPMs: Support a graceful-stop procedure:
Server will wait until existing requests are finished or until
"GracefulShutdownTimeout" number of seconds before exiting.
[Colm MacCarthaigh, Ken Coar, Bill Stoddard]
*) prefork, worker and event MPMs: Prevent children from holding open
listening ports upon graceful restart or stop. PR 28167.
[Colm MacCarthaigh, Brian Pinkerton <bp thinkpink.com>]
*) SECURITY: CVE-2005-2700 (cve.mitre.org)
mod_ssl: Fix a security issue where "SSLVerifyClient" was not
enforced in per-location context if "SSLVerifyClient optional"
was configured in the vhost configuration. [Joe Orton]
*) mod_ssl: Catch parse errors from misconfigured or malformed
CRLs. PR 36438. [Joe Orton]
*) mod_proxy/mod_proxy_balancer: lbmethods now implemented as
providers. Prevent problems when no Vhost containers were
configured with proxy balancers. [Jim Jagielski]
*) New provider function to list all available provider names in a
specific group and version (ap_list_provider_names). [Jim Jagielski]
*) mod_cache: Enhance CacheEnable/CacheDisable to control caching on a
per-protocol, per-host and per-path basis. Intended for proxy
configurations. [Colm MacCarthaigh]
*) mod_disk_cache: Canonicalise the storage key, for improved hit/miss
ratio. [Colm MacCarthaigh]
*) mod_cgid: Append .PID to the script socket filename and remove the
script socket on exit. [Colm MacCarthaigh, Jim Jagielski]
*) mod_cgid: run the get_suexec_identity hook within the request-handler
instead of within cgid. PR 36410. [Colm MacCarthaigh]
*) Linux 2.0: remove support for threaded MPM's due to linuxthreads use
of SIGUSR1 clashing with graceful restart signal. [Colm MacCarthaigh]
Changes with Apache 2.1.7
*) SECURITY: CVE-2005-2491 (cve.mitre.org):
Fix integer overflows in PCRE in quantifier parsing which could
be triggered by a local user through use of a carefully-crafted
regex in an .htaccess file. [Philip Hazel]
*) mod_proxy/mod_proxy_balancer: Provide a simple, functional
interface to add additional balancer lb selection methods
without requiring code changes to mod_proxy/mod_proxy_balancer;
these can be implemented via sub-modules now. [Jim Jagielski]
*) mod_cache: Fix incorrectly served 304 responses when expired cache
entity is valid, but cache is unwritable and headers cannot be
updated. [Colm MacCarthaigh <colm stdlib.net>]
*) mod_cache: Remove entities from the cache when re-validation
receives a 404 or other content-no-longer-present error.
[Rüdiger Plüm ruediger.pluem vodafone.com]
*) mod_disk_cache: Properly remove files from cache when needed.
[Rüdiger Plüm ruediger.pluem vodafone.com]
*) mod_disk_cache: Support htcacheclean removing directories.
[Andreas Steinmetz]
*) htcacheclean: Add -t option to remove empty directories.
[Colm MacCarthaigh <colm stdlib.net>]
*) Remove the base href tag from mod_proxy_ftp, as it breaks relative
links for clients not using an Authorization header. [Graham Leggett,
Jon Snow <jsnow27 gatesec.net>]
*) mod_cache: Restore the HTTP status of cached responses.
[Hansjoerg Pehofer <hansjoerg.pehofer uibk.ac.at>]
*) mod_cache: Store varied contents all in the same prefix for a varied URI.
[Paul Querna]
*) mod_cache: Run the CACHE_SAVE and CACHE_OUT Filters after other content
filters. [Paul Querna]
*) mod_negotiation: Correctly report 404 instead of 403 for missing files.
[Paul Querna]
*) new hook (request_status) that gets ran in proxy_handler just before
the final return. This gives modules an opportunity to do something
based on the proxy status. (minor MMN bump)
[Brian Akins <bakins turner.com>, Ian Holsman]
*) Add additional SSLSessionCache option, 'nonenotnull', which is
similar to 'none' (disabling any external shared cache) but forces
OpenSSL to provide a non-null session ID. [Jim Jagielski]
*) Add httxt2dbm to support/ for creating RewriteMap DBM Files.
[Paul Querna]
*) Add SSL_COMPRESS_METHOD variable (included in +StdEnvVars) to note
the negotiated compression. [Georg v. Zezschwitz <gvz 2scale.de>]
*) Fixed complaints about unpackaged files within the RPM build
after changes to the config files. [Graham Leggett]
*) Fix shutdown for the Worker MPM when an Accept Filter is used. Instead of
just closing the socket, a HTTP request is made, to make sure the child is
always awakened. [Paul Querna]
Changes with Apache 2.1.6
*) Fix htdbm password validation for records which included comments.
[Eric Covener <covener gmail.com>]
*) mod_cgid: Fix buffer overflow processing ScriptSock directive.
[Steve Kemp <steve steve.org.uk>]
Changes with Apache 2.1.5
*) mod_ssl: Setting the Protocol to 'https' can replace the use of the
'SSLEngine on' command. [Paul Querna]
*) core: Refactor the mapping of Accept Filters to Sockets. Add the
AcceptFilter and Protocol directives to aid in mapping filter types.
Extend the Listen directive to optionally take a protocol name.
[Paul Querna]
*) mod_disk_cache: Support storing multiple variations of one URL. PR 35211.
[Paul Querna]
*) mod_disk_cache: Atomically create the header data file. [Paul Querna]
*) mod_cache: Fix 'Vary: *' behavior to be RFC compliant. PR 16125.
[Paul Querna]
*) mod_cache: Rename 'generate_name' to 'ap_cache_generate_name'.
[Paul Querna]
*) mod_mime_magic: Handle CRLF-format magic files so that it works with
the default installation on Windows. [Jeff Trawick]
*) core: Allow multiple modules to register interest in a single
configuration command. [Paul Querna]
*) authn_provider_alias: Adds the configuration block tag
<AuthnProviderAlias baseProvider Alias>
Authentication directives contained within this block can be
referenced as a new authProvider using the AuthBasicProvider or
AuthDigestProvider directive. These directives will be merged in to
the per_dir configuration just before the base provider is called.
[Brad Nicholes]
*) ap_getword_conf: Fix backslashes at the end of configuration directives.
PR 34834. [Timo Viipuri <viipuri dlc.fi>]
*) mod_dbd: New additions: mod_dbd.c, mod_dbd.h, mod_dbd.xml
Provide module hooks for apr_dbd; optimise for httpd
threaded and non-threaded arch [Nick Kew]
*) ab: SSL support rewritten, improved, and enabled if SSL is enabled
during the build; -f and -Z arguments added to specify SSL protocol
options. [Masaoki Kobayashi <masaoki techfirm.co.jp>]
*) mod_info: Show the Quick Handler [Paul Querna]
*) mod_ldap: Add the directive LDAPVerifyServerCert to specify
whether to force verification of the server certificate when
establishing an SSL connection to the LDAP server.
[Brad Nicholes]
*) mod_proxy: Run mod_rewrite before mod_proxy in the translate_name
hook. [Paul Querna]
*) Add AP_INIT_TAKE_ARGV for configuration commands. (minor MMN bump)
[Paul Querna]
*) ap_get_local_host() rewritten for APR. [Jim Jagielski]
*) Add the ap_vhost_iterate_given_conn function to expose the information
used in Name Based Virtual Hosting. (minor MMN bump)
[Paul Querna]
*) Remove the never working ap_method_list_do and ap_method_list_vdo.
[Paul Querna]
*) Added makefile and doc for building mod_ssl on the NetWare
platform. [Guenter Knauf, Brad Nicholes]
*) mod_deflate: Merge the Vary header, isntead of Setting it. Fixes
applications that send the Vary Header themselves, and also apply
mod_deflate as an output filter. [Paul Querna]
*) Change the default (when not present in the config file) setting
for UseCanonicalName to Off.
[Joshua Slive]
*) mod_userdir: The module no longer does any remapping unless the
UserDir directive is present in the config file.
[Joshua Slive]
*) Massively simplify the distributed httpd.conf by removing
many features and many directives that are at their default
setting. Add a selection of example config excerpts for adding
extra features in the conf/extra/ directory. Install the
distributed config and the extra config examples in the
conf/original/ directory during make install.
[Joshua Slive, Justin Erenkrantz]
*) NetWare: Reposition mod_asis, mod_actions, mod_cgi, mod_imagemap,
mod_userdir and mod_autoindex as shared modules rather than
built-in modules within the NetWare build.
[Brad Nicholes]
*) Rename mod_imap to mod_imagemap.
[Paul Querna]
*) util_ldap: Eliminate the load ordering of mod_ldap and mod_authnz_ldap
by changing the mod_ldap exported functions to optional functions.
[Brad Nicholes]
Changes with Apache 2.1.4
*) Don't let a subrequest inherit headers describing the original request's
body. [Greg Ames]
*) Fix Windows CompContext buff size miscalculation
[Allan Edwards]
*) Add ReceiveBufferSize directive to control the TCP receive buffer.
[Eric Covener <covener gmail.com>]
*) mod_proxy: Add proxy-sendextracrlf option to send an extra CRLF at the
end of the request body to work with really old HTTP servers.
[Justin Erenkrantz]
*) util_ldap: Keep track of the number of attributes retrieved from
LDAP so that all the values can be properly cached even if the
value is NULL. PR 33901 [Brad Nicholes]
*) mod_cache: Fix error where incoming Cache-Control would be ignored.
[Justin Erenkrantz]
*) mod_cache: Correctly handle originally conditional requests.
[Sander Striker]
*) mod_disk_cache: Correctly update cached headers on revalidated responses.
[Sander Striker, Justin Erenkrantz]
*) worker MPM/mod_status: Support per-worker tracking of pid and
generation in the scoreboard so that mod_status can accurately
represent workers in processes which are gracefully terminating.
(major MMN bump)
[Jeff Trawick]
*) Correctly export all mod_dav public functions.
[Branko Čibej <brane xbc.nu>]
Changes with Apache 2.1.3
*) mod_ssl: Add ssl_ext_lookup optional function for accessing
certificate extensions. [David Reid, Joe Orton]
*) Add support for use of an external PCRE library; pass the
--with-pcre flag to configure. PR 27550. [Joe Orton,
Andres Salomon <dilinger voxel.net>]
*) Renamed regex interfaces to be namespace-safe, and moved from
pcreposix.h header to ap_regex.h: regex_t->ap_regex_t,
regmatch_t->ap_regmatch_t; REG_*->AP_REG_*; functions
reg*->ap_reg*. PR 27550. [Andres Salomon <dilinger voxel.net>,
Joe Orton]
*) Only recompile buildmark.c when we have to relink httpd.
[Justin Erenkrantz]
*) mod_cache: Fix up handling of revalidated responses.
[Justin Erenkrantz]
*) mod_disk_cache: Properly load cached ETag from on-disk structures.
[Justin Erenkrantz]
*) mod_authnz_ldap: Added an optional second parameter to AuthLDAPURL
to allow it to override the connection type set in mod_ldap. This
parameter can be set to NONE, SSL or TLS | STARTTLS.
[Brad Nicholes]
*) Fix --with-apr=/usr and/or --with-apr-util=/usr. PR 29740.
[Max Bowsher <maxb ukf.net>]
*) mod_proxy: Fix ProxyRemoteMatch directive. PR 33170.
[Rici Lake <rici ricilake.net>]
*) mod_proxy: Fix ap_proxy_canonenc API.
PR 32459. [Jim Jagielski]
*) mod_cache: Add CacheStorePrivate and CacheStoreNoStore directive.
[Justin Erenkrantz]
*) Add --enable-pie flag to configure, to build httpd as a Position
Independent Executable where supported (GCC/binutils).
[Joe Orton]
*) proxy_balancer: Add in load-balancing via weighted traffic
byte count. [Jim Jagielski]
*) mod_disk_cache: Cache r->err_headers_out headers. This allows CGI
scripts to be properly cached. [Justin Erenkrantz, Sander Striker]
*) mod_ldap: Updated to use the new apr-util v1.1 apr_ldap_*_option()
API for the setting of server and client SSL certificates. Replaced
LDAPTrustedCA directive with LDAPTrustedGlobalCert and
LDAPTrustedClientCert directives to correctly support global certs
(CA certs / Netware client certs) and per connection client certs
as supported by Netware, OpenLDAP and Netscape/Mozilla.
[Graham Leggett]
*) mod_cache: Remove unimplemented CacheForceCompletion directive.
[Justin Erenkrantz]
*) support/check_forensic: Fix temp file usage
[Javier Fernandez-Sanguino Pen~a <jfs computer.org>]
*) mod_ssl: Add SSLCADNRequestFile and SSLCADNRequestPath directives
which can be used to configure a specific list of CA names to send
in a client certificate request. PR 32848.
[Tim Taylor <tim.taylor dfas.mil>]
*) --with-module can now take more than one module to be statically
linked: --with-module=<modtype>:<modfile>,<modtype>:<modfile>,...
If the <modtype>-subdirectory doesn't exist it will be created and
populated with a standard Makefile.in. [Erik Abele]
*) Remove some compiler warnings within the LDAP modules [Graham Leggett]
*) Add a build script to create a solaris package. [Graham Leggett]
*) ap_http_scheme() replaced with ap_http_method() - this function
returns the scheme (http v.s. https).
[William Rowe]
*) mod_proxy: Fix a request corruption problem and a buffering problem
which sometimes prevented proxy-sendchunks from working.
[Jeff Trawick]
*) Fix the RPM spec file so that an RPM build now works. An RPM
build now requires system installations of APR and APR-util.
[Graham Leggett]
*) Significantly simplify the load balancer scheduling algorithm
for the proxy BalancerMember weighting. loadfactors (lbfactors)
are now normalized with respect to each other. [Jim Jagielski]
*) mod_dumpio: Added to the available module suite; it is an
I/O logging/dumping module. Placed in the (new) debug module
subdirectory. mod_bucketeer moved to that directory as well.
[Jim Jagielski]
*) core: Add support for APR_TCP_DEFER_ACCEPT to defer accepting
of a connection until data is available.
[Paul Querna]
Changes with Apache 2.1.2
*) mod_proxy: Respect errors reported by pre_connection hooks.
[Jeff Trawick]
*) core: Error out on sections that are missing an argument instead of
silently consuming the section. PR 25460.
[Geoffrey Young, Paul Querna]
*) mod_cache/mod_mem_cache/mod_disk_cache: Move out of experimental.
*) Upgraded PCRE to version 5.0. [Brian Pane]
*) mod_cgid: Catch configuration problem where two web server instances
share same ServerRoot but admin forgot to use ScriptSock.
[Jeff Trawick]
*) mod_cgi: Ensure that all stderr is logged for a script which returns
a Location header to generate a non-local redirect. PR 20111.
[Joe Orton]
*) Added the Event MPM to more efficiently handle clients during a
Keep Alive request.
[Paul Querna, Greg Ames]
Changes with Apache 2.1.1
*) mod_proxy_http: Stream content better - always flush buffered data to
the client before blocking waiting for new data. PR 19954.
[Joe Orton]
*) mod_ssl: Add support for command-line option "-t -DDUMP_CERTS" which
will dump the filenames of all configured SSL certificates to stdout.
[Joe Orton]
*) mod_disk_cache: Remove a bunch of non-implemented garbage collection
and cache size directives that are now available through htcacheclean.
[Justin Erenkrantz]
*) Add htcacheclean to support/ for assistance with mod_disk_cache.
[Andreas Steinmetz]
*) mod_authnz_ldap: Added the directive "Requires ldap-filter" that
allows the module to authorize a user based on a complex LDAP
search filter. [Brad Nicholes]
*) mod_usertrack: Run the fixups hook before other modules.
PR 29755. [Paul Querna]
*) Allow mod_authnz_ldap authorization functionality to be used
without requiring the user to also be authenticated through
mod_authnz_ldap. This allows other authentication modules to
take advantage of LDAP authorization only [PR 28253]
[Jari Ahonen jah progress.com, Brad Nicholes]
*) Log the client IP address when an error occurs disabling nagle on a
connection, but log at a severity of debug since this error
generally means that the connection was dropped before data was
sent. Log the client IP address when reporting errors in the core
output filter. [Jeff Trawick]
*) core: Add a warning message if the request line read fails.
[Paul Querna]
*) mod_rewrite: Removed the MaxRedirects option in favor of the
core LimitInternalRecursion directive. [André Malo]
*) mod_info: Added listing of the Request Hooks and added more build
information like 'httpd -V' contains. Changed output to XHTML.
[Paul Querna]
*) mod_info: Rewrote config tree walk using a recursive function.
Added ?config option. Added printout of config filename and line numbers.