-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
CHANGES
11612 lines (8769 loc) · 512 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
Changes with Apache 2.0.37
Changes with Apache 2.0.36
*) Close sockets on worker MPM when doing a graceless restart.
[Aaron Bannert]
*) Reverted a minor optimization in mod_ssl.c that used the vhost ID
as the session id context rather that a MD5 hash of that vhost ID,
because it caused very long vhost id's to be unusable with mod_ssl.
PR 8572. [Cliff Woolley]
*) Fix the link to the description of the CoredumpDirectory
directive in the server-wide document. PR 8643. [Jeff Trawick]
*) Fixed SHMCB session caching. [Aaron Bannert, Cliff Woolley]
*) Synced with remaining changes from mod_ssl 2.8.8-1.3.24:
- Avoid SIGBUS on sparc machines with SHMCB session caches
- Allow whitespace between the pipe and the name of the
program in SSLLog "| /path/to/program". [Cliff Woolley]
*) Introduce mod_ext_filter and mod_deflate experimental modules
to the Win32 build (zlib sources must be in srclib\zlib.)
[William Rowe]
*) Changes to the worker MPM's queue management and thread
synchronization code to reduce mutex contention [Brian Pane]
*) Don't install *.in configuration files since we already install
*-std.conf files. [Aaron Bannert]
*) Many improvements to the threadpool MPM. [Aaron Bannert]
*) Fix subreqs that are promoted via fast_redirect from having invalid
frec->r structures. This would cause subtle errors later on in
request processing such as seen in PR 7966. [Justin Erenkrantz]
*) More efficient pool recycling logic for the worker MPM [Brian Pane]
*) Modify the worker MPM to not accept() new connections until
there is an available worker thread. This prevents queued
connections from starving for processing time while long-running
connections were hogging all the available threads. [Aaron Bannert]
*) Convert the worker MPM's fdqueue from a LIFO back into a FIFO.
[Aaron Bannert]
*) Get basic HTTP proxy working on EBCDIC machines. [Jeff Trawick]
*) Allow mod_unique_id to work on systems with no IPv4 address
corresponding to their host name. [Jeff Trawick]
*) Fix suexec behavior with user directories. PR 7810.
[Colm <colmmacc@redbrick.dcu.ie>]
*) Reject a blank UserDir directive since it is ambiguous. PR 8472.
[Justin Erenkrantz]
*) Make mod_mime use case-insensitive matching when examining
extensions on all platforms. PR 8223. [Justin Erenkrantz]
*) Add an intelligent error message should no proxy submodules be
valid to handle a request. PR 8407 [Graham Leggett]
*) Major improvements in concurrent processing for AB by enabling
non-blocking connect()s and preventing APR from doing blocking
read()s. Also implement fatal error checking for apr_recv().
[Aaron Bannert]
*) Fix Win32 NTFS Junctions (symlinks). PR 8014 [William Rowe]
*) Fix Win32 'short name' aliases in httpd.conf directives.
PR 8009 [William Rowe]
*) Fix generation of default httpd.conf when the layout paths are
disjoint. PR 7979, 8227. [Justin Erenkrantz]
*) Swap downgrade-1.0 and force-response-1.0 conditional checks so
that downgraded responses can have force-response. PR 8357.
[Justin Erenkrantz]
*) Fix perchild MPM so that it can be configured with the move to the
experimental directory. [Scott Lamb <slamb@slamb.org>]
*) Fix perchild MPM so that it uses ap_gname2id for groups instead of
ap_uname2id. [Scott Lamb <slamb@slamb.org>]
*) Fix AcceptPathInfo. PR 8234 [Cliff Woolley]
*) [Security] Added the APLOG_TOCLIENT flag to ap_log_rerror() to
explicitly tell the server that warning messages should be sent
to the client in addition to being recorded in the error log.
Prior to this change, ap_log_rerror() always sent warning
messages to the client. In one case, a faulty CGI script caused
the server to send a warning message to the client that contained
the full path to the CGI script. This could be considered a
minor security exposure. [Bill Stoddard]
*) mod_autoindex output when SuppressRules was specified would
omit the first carriage return so the first item in the list
would appear to the right of the column headings instead of
underneath them. PR 8016 [David Shane Holden <dpejesh@yahoo.com>]
*) Moved the call to apr_mmap_dup outside the error branch so
that it would actually get called. This fixes a core dump
at init everytime you use the MMapFile directive. PR 8314
[Paul J. Reder]
*) Trigger an error when a LoadModule directive attempts to
load a module which is built-in. This is a common error when
switching from a DSO build to a static build. [Jeff Trawick]
*) Change instdso.sh to use libtool --install everywhere and then
clean up some stray files and symlinks that libtool leaves around
on some platforms. This gets subversion building properly since
it needed a re-link to be performed by libtool at install time,
and the old instdso.sh logic to simply cp the DSO didn't handle
that requirement. [Sander Striker]
*) Allow VPATH builds to succeed when configured from an empty
directory. [Thom May <thom@planetarytramp.net>]
*) Fix 'control reaches end of non-void function' warning in
server/log.c. [Ben Collins-Sussman <sussman@collab.net>]
*) Perchild MPM is now correctly deemed as experimental and is now
located in server/mpm/experimental. [Justin Erenkrantz]
*) Fix segfault in mod_mem_cache when garabge collecting an expired
cache entry. [Bill Stoddard]
*) Introduced -E startup_logfile_name option to httpd to allow admins
to begin logging errors immediately. This provides Win32 users
an alternative to sending startup errors to the event viewer, and
allows other daemon tool authors an alternative to logging to stderr.
[William Rowe]
*) Fix subreqs with non-defined Content-Types being served improperly.
[Justin Erenkrantz]
*) Merge in latest GNU config.guess and config.sub files. PR 7818.
[Justin Erenkrantz]
*) Move 100 - Continue support to the HTTP_IN filter so that filters
are guaranteed to support 100 - Continue logic without any
intervention. [Justin Erenkrantz]
*) Add HTTP chunked input trailer support. [Justin Erenkrantz]
*) Rename and export get_mime_headers as ap_get_mime_headers.
[Justin Erenkrantz]
*) Allow empty Host: header arguments. PR 7441. [Justin Erenkrantz]
*) Properly substitute sbindir as httpd's location in apachectl. PR 7840.
[Andreas Hasenack <andreas@netbank.com.br>]
*) Allow Win32 shebang scripts to follow the path (or omit the .exe
suffix from the shebang command), and allow ScriptInterpreterSource
Registry or RegistryStrict to override shebang lines, as 1.3 did.
PR 8004 [William Rowe]
*) worker MPM: Fix a situation where a child exited without releasing
the accept mutex. Depending on the OS and mutex mechanism this
could result in a hang. [Jeff Trawick]
*) Update the instructions for how to get started with mod_example.
[Stas Bekman]
*) Fix PidFile to default to rel_runtimedir instead of
rel_logfiledir. PR 7841. [Andreas Hasenack <andreas@netbank.com.br>]
*) Win32: Fix problem that caused rapid performance degradation
when number of connecting clients exceeded ThreadsPerChild.
[Bill Stoddard]
*) Fixed a segfault parsing large SSIs on non-mmap systems.
[Brian Havard]
*) Proxy was bombing out every second keepalive request, caused by a
stray CRLF before the second response's status line. Proxy now
tries to read one more line if it encounters a CRLF where it
expected a status. PR 10010 [Graham Leggett]
*) Deprecated the apr_lock.h API. Please see the following files
for the improved thread and process locking and signaling:
apr_proc_mutex.h, apr_thread_mutex.h, apr_thread_rwlock.h,
apr_thread_cond.h, and apr_global_mutex.h. [Aaron Bannert]
*) Change mod_status to use scoreboard accessor functions so it can
be used in any MPM without having to be recompiled.
[Ryan Morgan <rmorgan@covalent.net>]
*) Fix parsing of some AP_DECLARE_DATA declarations so that the filter
handle declarations are recognized. This fixes problems loading
mod_autoindex on some platforms. [Brian Havard]
*) add optional fixup hook to proxy [Daniel Lopez <daniel@covalent.net>]
*) Remind the admin about the User and Group directives when we are
unable to set permissions on a semaphore. PR 7812 [Jeff Trawick]
*) fix possible compilation problem in ssl_engine_kernel.c. PR 7802
[Doug MacEachern]
*) fix possible infinite loop in mod_ssl triggered by certain
netscape clients [Doug MacEachern]
*) fix ProxyPass when frontend is https and backend is http
[Doug MacEachern]
*) Add DASL support to mod_dav
[Sung Kim <hunkim@cse.ucsc.edu>]
Changes with Apache 2.0.35
*) mod_rewrite: updated to use the new APR global mutex type.
[Aaron Bannert]
*) Fixes for mod_include errors on boundary conditions in which
"<!--#" occurs at the very end of a bucket
[Paul Reder, Brian Pane]
*) worker, prefork, perchild, beos MPMs: Add -DFOREGROUND switch to
cause the Apache parent process to run in the foreground (similar to
-DNO_DETACH except that it doesn't switch session ids).
[Jeff Trawick]
*) Added support for Posix semaphore mutex locking (AcceptMutex posixsem)
for those platforms that support it. If using the default
implementation, this is between pthread and sysvsem in priority.
This implies it's the new default for Darwin. [Jim Jagielski]
*) AIX: Fix the syntax for setting the LDR_CNTRL and AIXTHREAD_SCOPE
environment variables in the envvars file. [Jeff Trawick]
*) worker MPM: Don't create a listener thread until we have a worker
thread. Otherwise, in situations where we'll have to wait a while
to take over scoreboard slots from a previous generation, we'll be
accepting connections we can't process yet. [Jeff Trawick]
*) Allow worker MPM to build on systems without pthread_kill().
[Pier Fumagalli, Jeff Trawick]
*) Prevent ap_add_output_filters_by_type from being called in
ap_set_content_type if the content-type hasn't changed.
[Justin Erenkrantz]
*) Performance: implemented the bucket allocator made possible by the
API change in 2.0.34. [Cliff Woolley]
*) Don't allow initialization to succeed if we can't get a socket
corresponding to one of the Listen statements. [Jeff Trawick]
Changes with Apache 2.0.34
*) Allow all Perchild directives to accept either numerical UID/GID
or logical user/group names. [Scott Lamb <slamb@slamb.org>]
*) Make Perchild compile cleanly and serve pages again. [Ryan Bloom]
*) implement ssl proxy to support ProxyPass / https:// and the
SSLProxy* directives [Doug MacEachern]
*) Update mod_cgid to not do single-byte socket reads for CGI headers
[Brian Pane]
*) Made AB's use of the Host: header rfc2616 compliant
by Taisuke Yamada <tai@iij.ad.jp> [Dirk-Willem van Gulik].
*) The old, legacy (and unused) code in which the scoreboard was totally
and completely contained in a file (SCOREBOARD_FILE) has been
removed. This does not affect scoreboards which are *mapped* to
files using named-shared-memory. [Jim Jagielski]
*) Change bucket brigades API to allow a "bucket allocator" to be
passed in at certain points. This allows us to implement freelists
so that we can stop using malloc/free so frequently.
[Cliff Woolley, Brian Pane]
*) Add support for macro expansion within the variable names in
<!--#echo--> and <!--#set--> directives [Brian Pane]
*) Fix some mod_include segfaults [Cliff Woolley, Brian Pane, Brad Nicholes]
*) Update the "RedHat" Layout to match Red Hat Linux version 7. PR BZ-7422
[Joe Orton]
*) add compat layer to support RSA SSLC 1.x and 2.x in mod_ssl
[Jon Travis, John Barbee, William Rowe, Ryan Bloom, Doug MacEachern]
*) Add a new parameter to the quick_handler hook to instruct
quick handlers to optionally do a lookup rather than actually
serve content. This is the first of several changes required fix
several problems with how quick handlers work with subrequests.
[Bill Stoddard]
*) worker MPM: Get MaxRequestsPerChild to work again. [Jeff Trawick]
*) [APR-related] The ordering of the default accept mutex method has
been changed to better match what's done in Apache 1.3. The ordering
is now (highest to lowest): pthread -> sysvsem -> fcntl -> flock.
[Jim Jagielski]
*) Ensure that the build/ directory is created when using VPATH.
[Justin Erenkrantz]
*) Add some popular types to the mime magic file. PR 7730.
[Linus Walleij <triad@df.lth.se>, Justin Erenkrantz]
*) Remove the single-byte socket reads for CGI headers [Brian Pane]
*) When a proxied site was being served, Apache was replacing
the original site Server header with it's own, which is not
allowed by RFC2616. Fixed. [Graham Leggett]
*) Fix a mod_cgid problem that left daemon processes stranded
in some server restart scenarios. [Jeff Trawick]
*) Added exp_foo and rel_foo variables to config_vars.mk for
all Apache and Autoconf path variables (like --sysconfdir,
--sbindir, etc). exp_foo is the "expanded" version, which means
that all internal variable references have been interpolated.
rel_foo is the same as $exp_foo, only relative to $prefix if they
share a common path. [Aaron Bannert]
*) Fix some restart/terminate problems in the worker MPM. Don't
drop connections during graceful restart. [Jeff Trawick]
*) Change the header merging behaviour in proxy, as some headers
(like Set-Cookie) cannot be unmerged due to stray commas in
dates. [Graham Leggett]
*) Be more vocal about what AcceptMutex values we allow, to make
us closer to how 1.3 does it. [Jim Jagielski]
*) Get nph- CGI scripts working again. PRs 8902, 8907, 9983
[Jeff Trawick]
*) Upgraded PCRE library to latest version 3.9 [Brian Pane]
*) Add accessor function to set r->content_type. From now on,
ap_rset_content_type() should be used to set r->content_type.
This change is required to properly implement the
AddOutputFilterByType configuration directive.
[Bill Stoddard, Sander Striker, Ryan Bloom]
*) Add new M_FOO symbols for the WebDAV/DeltaV methods specified by
RFC 3253. Improved the method name/number mapping functions.
[Greg Stein]
*) remove sock_enable_linger from connection.c [Ian Holsman]
*) Fix for virtual host processing where the requested hostname
has a '.' at the end (PR 9187) [Ryan Cruse <ryan@estara.com>]
*) mod_dav's APIs for REPORT response handling was changed so that
providers can generate the content directly into the output filter
stack, rather than buffering the response into memory. [Greg Stein]
*) Fix a hang condition with graceful restart and prefork MPM
in the situation where MaxClients is very high but
much fewer servers are actually started at the time of the
restart. [Jeff Trawick]
*) Small performance fixes for mod_include [Brian Pane]
*) Performance improvement for the error logger [Brian Pane]
*) Change configure so that Solaris 8 and above have
SINGLE_LISTEN_UNSERIALIZED_ACCEPT defined by default.
according to sun people solaris 8+ doesn't have a thundering
herd problem [Ian Holsman]
*) Allow URIs specifying CGI scripts to include '/' at the end
(e.g., /cgi-bin/printenv/) on AIX and Solaris (and other OSs
which ignore '/' at the end of the names of non-directories).
PR 10138 [Jeff Trawick]
*) implement SSLSessionCache shmht and shmcb based on apr_rmm and
apr_shm. [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
*) Fix apxs -g handling. Move config_vars.mk from the top build
directory to the build directory. PR 10163 [Jeff Trawick]
*) Fix some mod_include problems which broke evaluation of some
expressions. PR 10108 [Jeff Trawick]
*) Fix the calculation of request time in mod_status. [Stas Bekman]
*) Fix the calculation of thread_num in the worker score structure.
[Stas Bekman]
*) Use apr_atomic operations in managing the mod_mem_cache
cache_objects for SMP scalability. (see USE_ATOMICS
preprocessor directive in mod_file_cache)
[Bill Stoddard]
*) Add filehandle caching to mod_mem_cache. (see CACHE_FD
preprocessor directive in mod_file_cache)
[Bill Stoddard]
*) Implement prototype mod_disk_cache for use with mod_cache.
[Bill Stoddard]
*) Add a missing manualdir entry in the Debian config.layout.
[Thom May <thom@planetarytramp.net>]
*) Stop installing libtool for APR and tell APR where it should place
its copy of libtool (via our installbuildpath layout variable).
[Justin Erenkrantz]
*) New directive ProxyIOBufferSize. Sets the size of the buffer used
when reading from a remote HTTP server in proxy. [Graham Leggett]
*) Modify receive/send loop in proxy_http and proxy_ftp so that
should it be necessary, the remote server socket is closed before
transmitting the last buffer (set by ProxyIOBufferSize) to the
client. This prevents the backend server from being forced to hang
around while the last few bytes are transmitted to a slow client.
Fix the case where no error checking was performed on the final
brigade in the loop. [Graham Leggett]
*) Scrap CacheMaxExpireMin and CacheDefaultExpireMin. Change
CacheMaxExpire and CacheDefaultExpire to use seconds rather than
hours. [Graham Leggett, Bill Stoddard]
*) New Directive SSIUndefinedEcho. to change the '(none)' echoed
for a undefined variable. [Ian Holsman]
*) Proxy HTTP and CONNECT: Keep trying other addresses from the DNS
when we can't get a socket in the specified address family. We may
have gotten back an IPv6 address first and yet our system is not
configured to allow IPv6 sockets. [Jeff Trawick]
*) Be more careful about recursively removing CVS directories. Make
sure that we aren't cd'ing to their home directory first. PR: 9993
[Aaron Bannert, James LewisMoss <dres@lewismoss.net>]
*) Add a missing errordir entry in the Debian config.layout. PR: 10067
[Dirk-Jan Faber <dirk-jan@selwerd.nl>, Aaron Bannert,
Thom May <thom@planetarytramp.net>]
*) Rename the filter ordering priorities. The recent filtering fixes
have showcased problems with their usage. Therefore, we need to
rename them to increase the clarity. (CONTENT->RESOURCE,
HTTP_HEADER->CONTENT_SET/PROTOCOL) [Justin Erenkrantz]
Changes with Apache 2.0.33
*) Fix a problem in the new --enable-layout functionality where
it wouldn't allow overrides from variables like --prefix,
--bindir, etc. [Thom May <thom@planetarytramp.net>]
*) Fix a bug in the core input filter for AP_MODE_EXHAUSTIVE. It
no longer hangs around waiting for the socket to close before
returning exhaustive data. [Aaron Bannert]
*) rename apr_exploded_time_t to apr_time_exp_t (as per renames pending)
[Thom May <thom@planetarytramp.net>]
*) Change mod_ssl to always do a full startup/teardown on restarts.
this allows mod_ssl to be added to a server that is already
running and makes it possible to add/change certs/keys after the
server has been started. [Doug MacEachern]
*) Introduce PassPhraseDialog "|/path/to/pipe" mechanism to mod_ssl.
This pipe must be a bidirectional 'console' style relay, which
mod_ssl prints all prompts to the pipe's stdin, and reads the
passphrases from the pipe's stdout. [William Rowe]
*) Fix bug where --sysconfdir and --localstatedir were being
ignored. [Thom May <thom@planetarytramp.net>, Aaron Bannert]
PR 9888
*) Fix --enable-layout to work again. Caution: When specifying
--enable-layout, common arguments like --prefix, --exec-prefix,
etc. will be ignored and the settings from the layout will be
used instead. [Thom May <thom@planetarytramp.net>, Aaron Bannert]
PR 9124, 9873, 9885
*) New Directive for mod_proxy: ProxyRemoteMatch. This provides
regex pattern matching for the determination of which requests
to use the remote proxy for. [Jim Jagielski]
*) Fix CustomLog bytes-sent with HTTP 0.9. [Justin Erenkrantz]
*) Prevent Apache from ignoring SIGHUP due to some lingering 1.3
cruft in piped logs and rewritemap child processes.
[William Rowe]
*) All instances of apr_lock_t have been removed and converted
to one of the following new lock APIs: apr_thread_mutex.h,
apr_proc_mutex.h, or apr_global_mutex.h. No new code should
use the apr_lock.h API, as the old API will soon be deprecated.
[Aaron Bannert]
*) Merged in changes to mod_ssl up through 2.8.7-1.3.23.
[Ralf S. Engelschall, Cliff Woolley]
*) mod-include: make it handle flush'es and fix the 'false-alarm'
[Justin Erenkrantz, Brian Pane, Ian Holsman]
*) ap_get_*_filter_handle() functions to allow 3rd party modules
to lookup filter handles so they can bypass the filter name
lookup when adding filters to a request (via ap_add_*_filter_handle())
[Ryan Morgan <rmorgan@covalent.net>]
*) Fix for multiple file buckets on Win32, where the first file
bucket would cause the immediate closure of the socket on any
non-keepalive requests. [Ryan Morgan <rmorgan@covalent.net>]
*) Correct Win32 failure of mmap of a segment beyond start of the
file; fixes large SSL and similar transfers. [William Rowe]
PR 9898
*) Implement apr_proc_detach changes and allow -DNO_DETACH in the
multi-process mode to not "daemonize" while detaching from the
controlling terminal. This is necessary for Apache to work with
process-management tools like AIX's "System Resource Controller"
as well as Dan Bernstein's "daemontools".
[Jos Backus <josb@cncdsl.com>, Aaron Bannert]
*) Convert mod_auth_digest to use the new apr_global_mutex_t
type. [Aaron Bannert]
*) fix bug in mod-include where it wouldn't send a unmatched
part if it was at the end of a bucket [Ian Holsman]
*) worker MPM: Improve logging of errors with the interface between
the listener thread and worker threads. [Jeff Trawick]
*) Some browsers ignore cookies that have been merged into a
single Set-Cookie header. Set-Cookie and Set-Cookie2 headers
are now unmerged in the http proxy before being sent to the
client. [Graham Leggett]
*) Fix a problem with proxy where each entry of a duplicated
header such as Set-Cookie would overwrite and obliterate the
previous value of the header, resulting in multiple header
values (like cookies) going missing.
[Graham Leggett, Joshua Slive]
*) Add the server-limit and thread-limit values to the scoreboard
for the sake of third-party applications.
[Adam Sussman <myddryn@vishnu.vidya.com>]
*) Fix segfault when proxy recieves an invalid HTTP response [Ian Holsman]
*) OS/390: Get make install to properly copy DSO modules.
[Jeff Trawick]
*) Win32: Fix bug in mod_status with displaying "Restart Time"
and "Server uptime".
[Bill Stoddard]
*) Fix IPv6 name-based virtual hosts. [Jeff Trawick]
*) Introduce AddOutputFilterByType directive. [Justin Erenkrantz]
*) Fix DEBUG_CGI support in mod_cgi. PR 9670, 9671.
[David MacKenzie <djm@pix.net>]
*) Fix incorrect check for script_in in mod_cgi. PR 9669.
[David MacKenzie <djm@pix.net>]
*) Fix segfault and display error when SSLMutex file can not be
created. [Adam Sussman <myddryn@vishnu.vidya.com>]
*) Add reference counting to mod_mem_cache cache objects to
better manage removing objects from the cache.
[Bill Stoddard]
*) Change the verbage on the ScoreBoardFile in our default configs.
Also change the default to be commented out (unspecified) so we
get anonymous shared memory by default. [Aaron Bannert]
*) Implement new ScoreBoardFile directive logic. This affects how
we create the scoreboard's shared memory segment. If the directive
is present, a name-based segment is created. If the directive is
not present, first an anonymous segment is created, and if that
fails, a name-based segment is created from a file of the name
DEFAULT_SCOREBOARD. This gives third-party applications the
ability to access our scoreboard. [Aaron Bannert]
*) Allow mod_deflate to work with non-GET requests and properly send
Content-Lengths. [Sander Striker <striker@apache.org>]
*) Fix ap_directory_merge() to correctly merge configs when there is
no <Directory /> block. [Justin Erenkrantz, William Rowe]
*) Remove spurious debug messsages that are normal under HTTP
keep-alive logic. [Jeff Trawick, Justin Erenkrantz]
*) Fix a bug in mod_cgid that would prevent proper shutdown death
of the cgid process. [Aaron Bannert]
*) Add signal handling back in to the worker MPM for the one_process
(-X, -DDEBUG, -DONE_PROCESS) case. [Aaron Bannert]
*) Performance: Reuse per-connection transaction pools in the
worker MPM, rather than destroying and recreating them. [Brian Pane]
*) Remove all signals from the worker MPM's child process. Instead,
the parent uses the Pipe of Death for all communication with the
child processes. [Ryan Bloom]
Changes with Apache 2.0.32
*) mod_negotiation: ForceLanguagePriority now uses 'Prefer' as the
default if the directive is not specified. This mirrors older
behavior without changes to the httpd.conf. [William Rowe]
*) Win32: solve the win32 service problems in 2.0.31-alpha, by fixing
the service, mpm and logging code, and bugs in apr_file_open_stderr
and apr_file_dup2 functions. Win2K/XP services have no handles
associated for stdin/out/err, which caused unpredictable behavior
in the prior release. [William Rowe, Bill Stoddard]
*) Win32: simplify the Application Event Log messages, since there isn't
likely to be 'more information in the error log' before an error log
has been opened. [William Rowe]
*) Win32: substantial cleanup to the mpm_winnt code for legibility and
to follow the program flow of other MPMs. [Ryan Bloom, William Rowe]
*) Win32: apache -k shutdown now behaves like apache -k stop.
[Bill Stoddard]
*) Fix prefork to not kill the parent if a child hits a resource shortage
on accept(). [Greg Ames]
*) Fix seg faults that occur when what should be the httpd request line
starts with \r\n followed by garbage. [Greg Ames]
*) Allow statically linked support binaries with the new
--enable-static-support flag, and enable this behavior in
the binbuild script. Also add a new --enable-static-htdbm
flag. [Aaron Bannert]
*) Allow mod_autoindex to serve symlinks if permitted and attempt to
do only one stat() call when generating the directory listings.
[Justin Erenkrantz]
*) Fix resolve_symlink to save the original symlink name if known.
[Justin Erenkrantz]
*) Be a bit more sane with regard to CanonicalNames. If the user has
specified they want to use the CanonicalName, but they have not
configured a port with the ServerName, then use the same port that
the original request used. [Ryan Bloom and Ken Coar]
*) In core_input_filter, check for an empty brigade after
APR_BRIGADE_NORMALIZE(). Otherwise, we can get segfaults if a
client says it will post some data but we get FIN before any
data arrives. [Jeff Trawick]
*) Not being able to bind to the socket is a fatal error. We should
print an error to the console, and return a non-zero status code.
With these changes, all of the Unix MPMs do that correctly.
[Ryan Bloom]
*) suexec: Allow HTTPS and SSL_* environment variables to be passed
through to CGI scripts. PR 9163
[Brian Reid <breid@customlogic.com>,
Zvi Har'El <rl@math.technion.ac.il>]
*) binbuild.sh: Make sure that we use the expat from our source
tree so that there aren't any surprises on the target machine.
[Jeff Trawick]
*) mod_cgid: Add retry logic for when the daemon can't fork fast
enough to keep up with new requests. Start using
HTTP_SERVER_UNAVAILABLE instead of HTTP_INTERNAL_SERVER_ERROR
when we can't talk to the daemon. [Jeff Trawick]
*) apxs: LTFLAGS envvar can override default libtool options. Try
"LTFLAGS=' ' apxs -c mod_foo.c" to see what libtool does under
the covers. [Jeff Trawick]
*) The Location: response header field, used for external
redirect, *must* be an absoluteURI. The Redirect directive
tested for that, but RedirectMatch didn't -- it would allow
almost anything through. Now it will try to turn an abs_path
into an absoluteURI, but it will correctly varf like Redirect
if the final redirection target isn't an absoluteURI. [Ken Coar]
Changes with Apache 2.0.31
*) Create the scoreboard (in the parent) in a global pool context,
so it survives graceful restarts. This fixes a SEGV during
graceful restarts. [Aaron Bannert]
*) Add a timeout option to the proxy code 'ProxyTimeout'
[Ian Holsman]
*) FTP directory listings are now always retrieved in ASCII mode.
The FTP proxy properly escapes URI's and HTML in the generated
listing, and escapes the path components when talking to the FTP
server. It is now possible to browse the root directory by using
a url like: ftp://user@host/%2f/ (ported from apache_1.3.24)
Also, the last path component may contain wildcard characters
'*' and '?', and if they do, a directory listing is created instead
of a file retrieval. Example: ftp://user@host/httpd/server/*.c
[Martin Kraemer]
*) Added single-listener unserialized accept support to the
worker MPM [Brian Pane]
*) New Directive for mod_proxy: 'ProxyPreserveHost'. This passes
the incoming host header through to the proxied server
[Geoff <g.russell@ieee.org>]
*) New Directive Option for ProxyPass. It now can block a location
from being proxied [Jukka Pihl <jukka.pihl@entirem.com>]
*) Don't let the default handler try to serve a raw directory. At
best you get gibberish. Much worse things can happen depending
on the OS. [Jeff Trawick]
*) Change the pre_config hook to return a value. Modules can now emit
an error message and then cause the server to quit gracefully during
startup. This required a bump to the MMN. [Aaron Bannert]
*) Fix some unix socket descriptor leaks in the handler side of
mod_cgid (the part that runs in the server process). Whack a
silly "close(-1)" in the handler too. [Jeff Trawick]
*) Change the pre_mpm hook to return a value, so that scoreboard
init errors percolate up to code that knows how to exit
cleanly. This required a bump to the MMN. [Jeff Trawick]
*) Add the socket back to the conn_rec and remove the create_connection
hook. The create_connection hook had a design flaw that did not
allow creating connections based on vhost info. [Bill Stoddard]
*) Fixed PATH_INFO and QUERY_STRING from mod_negotiation results.
Resolves the common case of using negotation to resolve the request
/script/foo for /script.cgi/foo. [William Rowe]
*) Added new functions ap_add_(input|output)_filter_handle to
allow modules to bypass the usual filter name lookup when
adding hard-coded filters to a request [Brian Pane]
*) caching should now work on subrequests (still very experimental)
[Ian Holsman]
*) The Win32 mpm_winnt now has a shared scoreboard. [William Rowe]
*) Change ap_get_brigade prototype to use apr_off_t instead of apr_off_t*.
[Justin Erenkrantz]
*) Refactor ap_rgetline so that it does not use an internal brigade.
Change ap_rgetline's prototype to return errors. [Justin Erenkrantz]
*) Remove mod_auth_db. [Justin Erenkrantz]
*) Do not install unnecessary pcre headers like config.h and internal.h.
[Joe Orton <joe@manyfish.co.uk>]
*) Change in quick_hanlder behavior for subrequests. it now passes DONE
(as it does for a normal request). quick_handled sub-requests now work
in mod-include [Ian Holsman]
*) Change SUBREQ_CORE so that it is a 'HTTP_HEADER' filter instead of
'CONTENT' one, as it needs to run AFTER all content headers
*) Rename BeOS MPM directive RequestsPerThread to MaxRequestsPerThread.
[Lars Eilebrecht]
*) Split out blocking from the mode in the input filters.
[Justin Erenkrantz]
*) Fix a segfault in mod_include. [Justin Erenkrantz, Jeff Trawick]
*) Cause Win32 to capture all child-worker process errors in
Apache to the main server error log, until the child can
open its own error logs. [William Rowe]
*) HPUX 11.*: Do not kill the child process when accept()
returns ENOBUFS on HPUX 11.*. (ported from a 1.3 patch
by [madhusudan_mathihalli@hp.com])
[Bill Stoddard]
*) Fix a problem in the parsing of the <Proxy foo> directive.
[Jeff Trawick]
*) rewrite of mod_ssl input filter for better performance and less
memory usage [Doug MacEachern]
*) allow quick_handler to be run on subrequests. [Ian Holsman]
*) mod_dav now asks its provider to place content directly into the
filter stack when handling a GET request. The mod_dav/provider
API has changed, so providers need to be updated. [Greg Stein]
*) Clear the output socket descriptor in unixd_accept() to make sure
we don't supply a bogus socket to the caller if the accept fails.
This caused problems with the worker MPM, which tried to process
the returned socket if it was non-NULL. [Brian Pane]
*) Move a check for an empty brigade to the start of core input filter
to avoid segfaults. [Justin Erenkrantz, Jeff Trawick]
*) Add FileETag directive to allow configurable control of what
data are used to form ETag values for file-based URIs. MMN
bumped to 20020111 because of fields added to the end of
the core_dir_config structure. [Ken Coar]
*) Fix a segfault in mod_rewrite's logging code caused by passing the
wrong config to ap_get_remote_host(). [Jeff Trawick]
*) Allow mod_cgid to work from a binary distribution install by
using 755 for the permissions on the log directory instead of
750. [Jeff Trawick]
*) Fixed a segfault that happened during graceful shutdown (or when
the httpd ran out of file descriptors) with the worker MPM [Brian Pane]
*) Split all Win32 modules [excluding the core components mod_core,
mod_so, mod_win32 and the winnt mpm] into individual loadable
modules, so the administrator may individually disable the former
compiled-in modules by simply commenting out their LoadModule
directives. [William Rowe]
*) Saved Win32 module authors and porters many future headaches, by
duplicating the appropriate .h files such as os.h into the include
directory, including in the build tree. [William Rowe]
*) mod_ssl adjustments to help with using toolkits other than OpenSSL:
Use SSL functions/macros instead of directly dereferencing SSL
structures wherever possible.
Add type-casts for the cases where functions return a generic pointer.
Add $SSL/include to configure search path.
[Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
*) Moved several pointers out of the shared Scoreboard so it is
more portable, and will present the vhost name across server
generation restarts. [William Rowe]
*) Fix SSLPassPhraseDialog exec: and SSLRandomSeed exec:
[Doug MacEachern]
Changes with Apache 2.0.30
*) Fix the main bug for FreeBSD and threaded MPM's. There are
still issues (see STATUS) but at least the server will now
run without crashing the machine.
[David Reid, Aaron Bannert, Justin Erenkrantz]
*) Fix a typo in mod_deflate's m4 config section.
[albert chin (china@thewrittenword.com)]
*) Fix a couple of mod_proxy problems forwarding HTTP connections
and handling CONNECT:
(1) PR #9190 Proxy failed to connect to IPv6 hosts.
(2) Proxy failed to connect when the first IP address returned by
the resolver was unreachable but a secondary IP address was.
[Jeff Trawick]
*) Fix the module identifer as shown in the docs for various core
modules (e.g., the identifer for mod_log_config was previously
listed as config_log_module). PR #9338
[James Watson <ap2bug@sowega.org>]
*) Fix LimitRequestBody directive by placing it in the HTTP
filter. [Justin Erenkrantz]
*) Fix mod_proxy seg fault when the proxied server returns
an HTTP/0.9 response or a bogus status line.
[Adam Sussman]
*) Prevent mod_proxy from truncating one character off the
end of the status line returned from the proxied server.
[Adam Sussman, Bill Stoddard]
*) Eliminate loop in ap_proxy_string_read().
[Adam Sussman, Bill Stoddard]
*) Provide $0..$9 results from mod_include regex parsing.
[William Rowe]
*) Allow mod-include to look for alternate start & end tags [Ian Holsman]
*) Introduced the ForceLanguagePriority directive, to prevent
returning MULTIPLE_CHOICES or NONE_ACCEPTABLE in some cases,
when using Multiviews. [William Rowe]
*) Fix a problem which prevented mod_cgid and suexec from working
together reliably [Greg Ames]
*) Remove the call to exit() from within mod_auth_digest's post_config
phase. [Aaron Bannert]
*) Fix a problem in mod_auth_digest that could potentially cause
problems with initialized static data on a system that uses DSOs.
[Aaron Bannert]
*) Fix a segfault in the worker MPM that could happen during
child process exits. [Brian Pane, Aaron Bannert]
*) Allow mod_auth_dbm to handle multiple DBM types [Ian Holsman]
*) Fix matching of vhosts by ip address so we find IPv4
vhost address when target address is v4-mapped form of
that address. [Jeff Trawick]
*) More performance tweaks to the BNDM string-search algorithm
used to find "<!--#" tokens in mod_include [Brian Pane]
*) Miscellaneous small performance fixes: optimized away various
string copy operations and removed large temp buffers from
the stack [Brian Pane]
*) Fixed startup segfault that occurred when a VirtualHost
directive had a port but no address [Brian Pane]
*) Allow htdbm to work with multiple DBM types [Ian Holsman]
*) Win32: Made change to apr_sendfile() to return APR_ENOTIMPL
if oslevel < WINNT. This should fix several problems reported
Against 2.0.28 on Windows 98 [Bill Stoddard]
*) Win32: Fix bug that could cause CGI scripts with QUERY_STRINGS
to fail. [Bill Stoddard]
*) Change core code to allow an MPM to set hard thread/server
limits at startup. prefork, worker, and perchild MPMs now have
directives to set these limits. [Jeff Trawick]
*) Win32: The async AcceptEx() event should be autoreset upon
successful completion of a wait (WaitForSingleObject). This
eliminates a number of spurious
setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed." messages.
[Bill Stoddard]
*) Move any load library path environment variables out of
apachectl and into a separate environment variable file which
can be more easily tailored by the admin. The environment
variable file as built by Apache may have additional system-
specific settings. For example, on OS/390 we tailor the heap
settings to allow lots of threads. [Jeff Trawick]
*) Use the new APR pool code to reduce pool-related lock
contention in the worker MPM. [Sander Striker]
*) The POD no longer assumes the child is listening on 127.0.0.1
and now pulls the first hostname in the list of listeners to
perform the dummy connect on. This fixes a bug when the user
had configured the Listen directive for an IP other than
127.0.0.1. This would result in undead children and error
messages such as "Connection refused: connect to listener".
[Aaron Bannert]
*) The worker MPM now respects the LockFile setting, needed to
avoid locking problems with NFS. [Jeff Trawick]
*) Fix segfault when worker MPM receives SIGHUP.
[Ian Holsman, Aaron Bannert, Justin Erenkrantz]
*) Fix bug that could potentially prevent the perchild MPM from
working with more than one vhost/uid. [Aaron Bannert]
*) Change make install and apxs -i processing of DSO modules to
perform special handling on platforms where libtool doesn't install
mod_foo.so. This fixes some wonkiness on HP-UX, Tru64, and AIX
which prevented standard LoadModule statements from working.
[Jeff Trawick]
*) Whenever mod_so is enabled (not just when there are DSOs for
our modules), do whatever special magic is required for compiling/
loading third-party modules. This allows third-party DSOs to
be used on an AIX build when there were no built-in modules
built as DSOs. (This should help on OS/390 and BeOS as well.)
[Jeff Trawick]
*) Allow apxs to be used to build DSOs on AIX without requiring the
user to hard-code the list of import files. (This should help
on OS/390 and BeOS as well.) [Jeff Trawick]
*) Resolved segfault in mod_isapi when configuring with ISAPICacheFile.
PR 8563, 8919 [William Rowe]
*) Get binary builds working when libapr and libaprutil are built
shared [Greg Ames]
*) Get shared builds of libapr and libaprutil, as well as Apache DSOs,
working on AIX. [Aaron Bannert, Dick Dunbar <RLDunbar@pacbell.net>,
Gary Hook <ghook@us.ibm.com>, Victor Orlikowski, Jeff Trawick]
*) Fix the handling of SSI directives in which the ">" of the
terminating "-->" is the last byte in a file [Brian Pane]
*) Add back in the "suEXEC mechanism enabled (wrapper: /path/to/suexec)"
message that we had back in apache-1.3 and still have scattered
throughout our docs. [Aaron Bannert]
*) Prevent the Win32 port from continuing after encountering an
error in the command line args to apache. [William Rowe]