]> granicus.if.org Git - apache/blob - STATUS
add FallbackResource / PR58292 fix
[apache] / STATUS
1 APACHE 2.4 STATUS:                        -*- mode: text; coding: utf-8 -*-
2 Last modified at [$Date$]
3
4 The current version of this file can be found at:
5
6   * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/STATUS
7
8 Documentation status is maintained separately and can be found at:
9
10   * docs/STATUS in this source tree, or
11   * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/docs/STATUS
12
13 The current development branch of this software can be found at:
14
15   * http://svn.apache.org/repos/asf/httpd/httpd/trunk
16
17 Consult the following STATUS files for information on related projects:
18
19   * http://svn.apache.org/repos/asf/apr/apr/trunk/STATUS
20   * http://svn.apache.org/repos/asf/apr/apr/branches/1.4.x/STATUS
21   * http://svn.apache.org/repos/asf/apr/apr-util/branches/1.4.x/STATUS
22   * http://svn.apache.org/repos/asf/apr/apr/branches/1.5.x/STATUS
23   * http://svn.apache.org/repos/asf/apr/apr-util/branches/1.5.x/STATUS
24
25 Patches considered for backport are noted in their branches' STATUS:
26
27   * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/STATUS
28   * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/STATUS
29   * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/STATUS
30
31
32
33 Release history:
34     [NOTE that x.{odd}.z versions are strictly Alpha/Beta releases,
35           while x.{even}.z versions are Stable/GA releases.]
36
37     2.4.17  : In development.
38     2.4.16  : Tagged on July 9, 2015. Released July 15, 2015
39     2.4.15  : Tagged on June 19, 2015. Not released.
40     2.4.14  : Tagged on June 11, 2015. Not released.
41     2.4.13  : Tagged on June 4, 2015. Not released.
42     2.4.12  : Tagged on January 22, 2015. Released Jan 29, 2015
43     2.4.11  : Tagged on January 15, 2015. Not released.
44     2.4.10  : Tagged on July 15, 2014. Released July 21, 2014
45     2.4.9   : Tagged on March 13, 2014. Released on March 17, 2014
46     2.4.8   : Tagged on March 11, 2014. Not released.
47     2.4.7   : Tagged on November 19, 2013. Released on Nov 25, 2013
48     2.4.6   : Tagged on July 15, 2013. Released July, 22, 2013
49     2.4.5   : Tagged on July 11, 2013, not released.
50     2.4.4   : Tagged on February 18, 2013. Released Feb 25, 2013
51     2.4.3   : Tagged on August 17, 2012. Released Aug 18, 2012
52     2.4.2   : Tagged on April 5, 2012. Released Apr 17, 2012.
53     2.4.1   : Tagged on February 13, 2012. Released Feb 21, 2012.
54     2.4.0   : Tagged on January 16, 2012, not released.
55     2.3.16  : Tagged on December 15, 2011.
56     2.3.15  : Tagged on November 8, 2011. Released Nov. 15, 2011.
57     2.3.14  : Tagged on August 1, 2011. Released Aug. 9, 2011.
58     2.3.13  : Tagged on June 28, 2011, not released.
59     2.3.12  : Tagged on May 11, 2011. Released May 23, 2011.
60     2.3.11  : Released as Beta on March 7, 2011.
61     2.3.10  : Tagged on December 13, 2010. Released Dec 21, 2010.
62     2.3.9   : Tagged on November 23, 2010, not released.
63     2.3.8   : Tagged on August 24, 2010.
64     2.3.7   : Tagged on August 19, 2010, not released.
65     2.3.6   : Released on June 21, 2010.
66     2.3.5   : Released on January 26, 2010.
67     2.3.4   : Released on December 8, 2009.
68     2.3.3   : Tagged on November 11, 2009, not released.
69     2.3.2   : Tagged on March 23, 2009, not released.
70     2.3.1   : Tagged on January 2, 2009, not released.
71     2.3.0   : Tagged on December 6, 2008, not released.
72
73 Contributors looking for a mission:
74
75   * Just do an egrep on "TODO" or "XXX" in the source.
76
77   * Review the bug database at: http://issues.apache.org/bugzilla/
78
79   * Review the "PatchAvailable" bugs in the bug database:
80
81     https://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
82
83     After testing, you can append a comment saying "Reviewed and tested".
84
85   * Open bugs in the bug database.
86
87   * See also the STATUS file in the docs/ directory, which lists documentation-specific TODO items.
88
89
90 CURRENT RELEASE NOTES:
91
92   * Forward binary compatibility is expected of Apache 2.4.x releases, such
93     that no MMN major number changes will occur after 2.4.1.  Such changes can
94     only be made in the trunk.
95
96   * All commits to branches/2.4.x must be reflected in SVN trunk,
97     as well, if they apply.  Logical progression is commit to trunk
98     then merge into branches/2.4.x, as applicable.
99
100   * Current exceptions for RTC for this branch:
101     . mod_lua
102     . documentation
103     . non-Unix build
104     . non-Unix, single-platform code
105
106 RELEASE SHOWSTOPPERS:
107
108
109 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
110   [ start all new proposals below, under PATCHES PROPOSED. ]
111
112   *) mod_authz_dbd: Avoid a crash when lacking correct DB access permissions.
113      PR 57868.
114      trunk: http://svn.apache.org/r1688660
115      2.4.x: trunk works modulo CHANGES and next-number
116      +1: jailletc36, ylavic, niq
117      jailletc36: I'm just wondering why the log message speak about "dbd-query"
118                 while other messages around are about "dbd-group"?
119
120   *) mod_rewrite: Avoid a crash when lacking correct DB access permissions
121      when using RewriteMap with MapType dbd or fastdbd.
122      PR 57868.
123      trunk: http://svn.apache.org/r1695170
124      2.4.x: trunk works modulo (missing) CHANGES and next-number
125      +1: jailletc36, ylavic, niq
126      jailletc36: A CHANGE entry should be added. I forgot it :(
127
128    *) mod_dir: when we bail out of fixups, make sure Content-Type is not still
129                httpd/unix-directory.  This only happens when the generator sets
130                no content-type which is more common w/ no DefaultType in 2.4.
131       trunk: http://svn.apache.org/r1695583
132       2.4.x: trunk works
133      +1: covener, ylavic, niq
134
135 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
136   [ New proposals should be added at the end of the list ]
137
138    * mod_proxy: Add ap_proxy_define_match_worker() and use it for ProxyPassMatch
139      and ProxyMatch section to distinguish between normal workers and workers
140      with regex substitutions in the name. Implement handling of such workers
141      in ap_proxy_get_worker(). Fixes the bug when regex workers were not
142      matched and used for request. PR 43513.
143      trunk patch: http://svn.apache.org/r1609680
144                   http://svn.apache.org/r1609688
145                   http://svn.apache.org/r1641381
146      ylavic: Merge patch provided (reusing new->real to avoid double de_socketfy() call).
147              Also added missing r1609688 to the patchset.
148      2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-ap_proxy_define_match_worker.patch
149      +1: ylavic
150      -0: covener tried to review this one in Austin with Jeff.  Does the added match function 
151          really cover a very narrow set of parameters with the way it skips over backreferences?
152          Also, why a new API vs. just setting the field inline?
153
154    * core: Add ap_errorlog_provider to make ErrorLog logging modular. This
155            backport keeps syslog logging as part of httpd core and only adds
156            API to allow other modules to be used for error logging.
157      trunk patch: http://svn.apache.org/r1525597
158                   http://svn.apache.org/r1525664
159                   http://svn.apache.org/r1525845
160                   http://svn.apache.org/r1527003
161                   http://svn.apache.org/r1527005
162                   http://svn.apache.org/r1532344
163                   http://svn.apache.org/r1539988
164                   http://svn.apache.org/r1541029
165                   http://svn.apache.org/r1543979
166                   http://svn.apache.org/r1544156
167                   http://svn.apache.org/r1626978
168      2.4.x patch: http://people.apache.org/~jkaluza/patches/httpd-2.4.x-errorlog_provider.patch
169      +1: jkaluza
170      +1: covener w/ doc or code to fix syntax (providername:providerarg not supported like syslog or socacheproviders, 
171                  needs 2 args which is not valid in ErrorLog manual)
172      trawick: nit: fix "writing" in "/* NULL if we are writting to syslog */"
173               (sorry, haven't finished reviewing completely)
174
175    * mod_journald: Add new module mod_journald to log error logs into journald.
176                    This patch needs changes done in mod_systemd patch (already
177                    proposed for 2.4.x).
178      trunk patch: http://svn.apache.org/r1610339
179                   http://svn.apache.org/r1621806
180      2.4.x patch: http://people.apache.org/~jkaluza/patches/httpd-2.4.x-mod_journald.patch
181      +1: jkaluza
182
183    * MPMs: Support SO_REUSEPORT to create multiple duplicated listener
184            records for scalability (full log in 2.4.x patch).
185      trunk patch: http://svn.apache.org/r1599531
186                   http://svn.apache.org/r1599593
187                   http://svn.apache.org/r1599601
188                   http://svn.apache.org/r1599603
189                   http://svn.apache.org/r1601558
190                   http://svn.apache.org/r1629909
191                   http://svn.apache.org/r1629918
192                   http://svn.apache.org/r1629990
193                   http://svn.apache.org/r1635521
194                   http://svn.apache.org/r1635859
195                   http://svn.apache.org/r1640145
196                   http://svn.apache.org/r1640161
197                   http://svn.apache.org/r1640184
198                   http://svn.apache.org/r1640763
199                   http://svn.apache.org/r1643179
200                   http://svn.apache.org/r1656368
201                   http://svn.apache.org/r1679714
202      2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-ap_listeners_buckets-v3.patch
203      +1: ylavic, jim
204
205   *) http: Don't remove the Content-Length of zero from a HEAD response if
206      it comes from an origin server, module or script. Allow the previous
207      behaviour (for legacy/buggy modules only, not origin) by also backporting
208      the HttpContentLengthHeadZero directive (and also HttpExpectStrict which
209      comes for free with the same commit).
210      trunk patch: http://svn.apache.org/r1554303
211                   http://svn.apache.org/r1678215
212      2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-preserve_head_cl_zero.patch
213      +1: ylavic
214      ylavic: r1554303 issued a major MMN bump, but since the ABI change is two
215              ints added at the end of core_server_config, the proposed merge
216              does a minor bump only.
217   *) mod_substitute: Configure patterns merge order. PR 57641
218      trunk patch: http://svn.apache.org/r1684900
219                   http://svn.apache.org/r1687539 
220                   http://svn.apache.org/r1687680
221                   http://svn.apache.org/r1688331
222                   http://svn.apache.org/r1688339
223                   http://svn.apache.org/r1688340
224                   http://svn.apache.org/r1688343
225                   http://svn.apache.org/r1697013
226                   http://svn.apache.org/r1697015
227      2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-SubstituteInheritBefore-v5.patch
228      +1: ylavic
229      ylavic: updated to v5 including r1697013 and r1697015, the diff to v4 is:
230              http://people.apache.org/~ylavic/httpd-2.4.x-SubstituteInheritBefore-v4_vs_v5.diff
231
232   *) mod_proxy: Fix a race condition that caused a failed worker to be retried
233      before the retry period is over
234       Trunk version of patch:
235          http://svn.apache.org/r1664709
236          http://svn.apache.org/r1697323
237       Backport version for 2.4.x of patch:
238          Trunk version of patch works modulo CHANGES
239       +1: rpluem, ylavic
240       niq: 1. the if(worker->s->retries) {} and comment at line 2917
241               don't seem to make any sense.
242       rpluem: This is just taken over from existing code. It is just indented
243               differently hence part of the path I think it should be marked
244               as TODO section. But this should be subject to another
245               patch.
246            2. Re: error handline line 2930 - can PROXY_WORKER_IS_USABLE
247               not be tested BEFORE opening connection?
248       rpluem: We could, but we can catch more race cases with the current code
249               as it also catches the case where a connection establishment
250               took long and the worker went into error meanwhile.
251  
252   *) apxs: add HTTPD_MMN and HTTPD_VERSION to apxs -q
253      trunk: http://svn.apache.org/r1693919
254      2.4.x: trunk works modulo CHANGES
255      +1: covener, ylavic
256
257   *) mod_rewrite: Allow cookies to include ':' by using an alternate separator.
258      PR47241.
259      trunk: http://svn.apache.org/r1693963
260      2.4.x: trunk works modulo CHANGES
261      +1: covener, ylavic
262
263   *) mod_socache_memcache: Add the 'MemcacheConnTTL' directive to control how 
264      long to keep idle connections with the memcache server(s).
265      Change default value from 600 usec (!) to 15 sec.  PR 58091
266      Measurements available in the svn commit message.
267      trunk: http://svn.apache.org/r1696105
268      2.4.x: trunk works modulo CHANGES
269      +1: jailletc36
270
271   *) mod_session_dbd: fix lifetime of Request notes.
272      trunk: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/session/mod_session_dbd.c?r1=1679181&r2=1687087&view=patch
273      2.4.x: trunk patch applies.
274      +1: niq, ylavic
275
276   *) util_script: Make REDIRECT_URL a complete URL (where set).
277      PR 57785
278      trunk: http://svn.apache.org/viewvc?view=revision&revision=1677702
279      2.4.x: trunk patch applies.
280      +1: niq
281
282   *) mod_proxy: Give ap_proxy_post_request as chance to act correctly on the status code
283      by setting r->status temporarily to access_status. r->status might be different than
284      access_status e.g. r->status could be HTTP_OK if e.g. we override the error page on
285      the proxy or if the error was not generated by the backend itself but by the proxy
286      e.g. a bad gateway.
287      Trunk version of patch:
288         http://svn.apache.org/r1597352
289      Backport version for 2.4.x of patch:
290         Trunk version of patch works
291      +1: rpluem,
292
293   *) core/mod_ssl: add Protocols/ProtocolsHonorOrder directives and new 
294      protocols hooks to control Upgrade: and ALPN protocol switching.
295      HTTP_MISDIRECTED_REQUEST addition and handling in mod_ssl
296      trunk patch: http://svn.apache.org/r1697855
297                   http://svn.apache.org/r1697339
298                   http://svn.apache.org/r1696428
299                   http://svn.apache.org/r1696266
300                   http://svn.apache.org/r1696264
301                   http://svn.apache.org/r1695874
302                   http://svn.apache.org/r1695727
303                   http://svn.apache.org/r1692516
304                   http://svn.apache.org/r1692486
305                   http://svn.apache.org/r1610674
306                   http://svn.apache.org/r1685069
307                   http://svn.apache.org/r1693918
308                   http://svn.apache.org/r1698116
309                   http://svn.apache.org/r1698133
310     All changes to files in modules/http2 need to be ignored.
311     2.4.x patch: https://raw.githubusercontent.com/icing/mod_h2/master/sandbox/httpd/patches/core-protocols.patch
312     +1: icing, 
313  
314
315   *) core/mod_dir: Avoid multiple subrequest filters which won't get properly removed
316      during internal redirects. PR 58292.
317      trunk: http://svn.apache.org/r1698239
318      2.4.x: trunk works
319      +1: covener
320
321 PATCHES/ISSUES THAT ARE BEING WORKED
322
323   *) mod_ssl: add ALPN support by allowing other modules to register callbacks
324               for negotiation of the application layer protocol.  PR 52210.
325      trunk patch: http://svn.apache.org/r1332643
326                   http://svn.apache.org/r1487772
327                   http://svn.apache.org/r1670397
328                   http://svn.apache.org/r1670434
329                   http://svn.apache.org/r1670436
330                   http://svn.apache.org/r1670578
331                   http://svn.apache.org/r1670738
332                   http://svn.apache.org/r1675459
333                   http://svn.apache.org/r1676004
334                   http://svn.apache.org/r1676709
335                   http://svn.apache.org/r1681741
336                   http://svn.apache.org/r1681746
337                   http://svn.apache.org/r1685069
338      2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-alpn-v4.patch
339      +1:
340      ylavic: Needs work wrt activation with a new Protocols directive:
341              http://www.mail-archive.com/dev@httpd.apache.org/msg62163.html
342              and also about SNI checks and status 421:
343              http://www.mail-archive.com/dev@httpd.apache.org/msg62230.html
344              Let's comment on @dev for Stefan Eissing (mod_h2) to be able to
345              participate.
346
347    * mod_proxy_http: Don't establish or reuse a backend connection before pre-
348      fetching the request body, so to minimize the delay between it is supposed
349      to be alive and the first bytes sent: this is a best effort to prevent the
350      backend from closing because of idle or keepalive timeout in the meantime.
351      Also, handle a new "proxy-flushall" environment variable which allows to
352      flush any forwarded body data immediately. PR 56541+37920.
353      trunk patch: http://svn.apache.org/r1656259
354                   http://svn.apache.org/r1656359 (CHANGES entry)
355      2.4.x patch: trunk works (modulo CHANGES, docs/log-message-tags)
356      +1: ylavic
357      -0: jim:  This seems to be a hit to normal performance, to handle an
358                error and/or non-normal condition. The pre-fetch is
359                expensive, and is always done, even before we know that
360                the backend is available to rec' it. I understand the
361                error described, but is the fix actually worth it (plus
362                it seems to allow for a DDoS vector).
363      ylavic: It seems to me that the problem is real since we reuse the
364              connection before prefetching 16K (either controlled by the
365              client, or by an input filter), we currently always prefetch
366              these bytes already. Regarding performance I don't see any
367              difference (more cycles) compared with the current code.
368              However I think I failed to rebuild the header_brigade when
369              the proxy loop is retried (ping), so I need to rework this.
370              Do you think we'd better remove the prefetch, or maybe just
371              make it nonblocking (by default)?
372         jim: Non-blocking seems the best way to handle...
373
374 PATCHES/ISSUES THAT ARE STALLED
375
376    * mod_systemd: New module, for integration with systemd on Linux.
377      trunk patch: http://svn.apache.org/r1393976
378                   http://svn.apache.org/r1393997
379                   http://svn.apache.org/r1484554
380                   http://svn.apache.org/r1528032
381                   http://svn.apache.org/r1528034
382                   http://svn.apache.org/r1614821
383                   http://svn.apache.org/r1618579
384                   http://svn.apache.org/r1618588
385      2.4.x patch: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-mod_systemd.patch
386      +1: jkaluza
387
388    * core: Add support for systemd socket activation.
389      trunk patch: http://svn.apache.org/r1511033
390                   http://svn.apache.org/r1608686
391                   http://svn.apache.org/r1608694
392                   http://svn.apache.org/r1608703
393                   http://svn.apache.org/r1608721
394                   http://svn.apache.org/r1608744
395      2.4.x patch: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-socket-activation.patch
396      +1: jkaluza
397
398   * mod_proxy: Ensure network errors detected by the proxy are returned as
399     504 Gateway Timout as opposed to 502 Bad Gateway
400     trunk patch: https://svn.apache.org/viewvc?view=revision&revision=1480058
401     2.4.x patch: trunk patch works modulo CHANGES
402     +1:
403     -1: rpluem: This change is still disputed. See
404         http://mail-archives.apache.org/mod_mbox/httpd-dev/201305.mbox/%3C1B16B9E3-87BA-4EEF-939C-7C7313B54714%40gbiv.com%3E
405
406   * cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will be
407     compiled by the build compiler instead of the host compiler.
408     Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected.
409     Trunk patches: http://svn.apache.org/viewvc?view=revision&revision=1327907
410                    http://svn.apache.org/viewvc?view=revision&revision=1328390
411                    http://svn.apache.org/viewvc?view=revision&revision=1328714
412     2.4 patch: http://people.apache.org/~fuankg/diffs/httpd-2.4.x-cross_compile.diff
413     fuankg: on hold until we agree for a better and more simple solution ...
414
415    * Makefile.win: Added copying of .vbs / .wsf CGIs to Windows install target.
416                    Moved fixing of shebang to separate target so that it is
417                    no longer executed by default and all CGIs remain inactive.
418      trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1387984
419                   http://svn.apache.org/viewvc?view=revision&revision=1421203
420                   http://svn.apache.org/viewvc?view=revision&revision=1421591
421      2.4.x patch: http://people.apache.org/~fuankg/diffs/httpd-2.4.x-Makefile.win.diff
422      +1 fuankg, gsmith
423      -.8: trawick
424           This commit is essentially deciding that an httpd install on
425           Windows now has printenv/testcgi written in 2 more languages.
426           To the extent that the usefulness is that it shows how to make scripts
427           of these types executable by httpd, I believe that the documentation
428           is the proper place to solve that.  To the extent that the usefullness
429           is to show how to implement a CGI in these particular languages, I believe
430           that the httpd distribution and documentation in general is not the
431           place for that.  Historically these types of scripts have caused problems
432           for downstream vendorsas well as newbies (and sometimes the intersection
433           of those two groups) who don't understand that these are information leaks
434           once they are enabled, and the subtlety of the way they are disabled ("Apache
435           messed up the first line; let me fix that") contributes to that.
436      fuankg notes: I've just added a big warning to all CGI scripts which should now
437           make absolutely clear that these CGIs are for testing purpose only - so those
438           who enable those scripts with inserting the right shebang should be 100% aware
439           of any risks (this should cover your last point).
440      jim: trawick, does the above address your concerns?
441      trawick: to some extent (somebody reading the script gets an idea)
442           Why isn't the configuration requirement documented instead
443           of described indirectly in a sample?
444           Why are these new samples added to the install without three
445           votes?  (I didn't veto it; put your name next to the two
446           existing ones and I'll be satisified that enough people
447           considered this addition as an appropriate solution for a
448           real httpd usability problem.)
449      wrowe: I'd agree with trawick, and suggest that these scripts can begin
450             their life somewhere in the manual/ tree.  This really seems like
451             the place where /usr/share/httpd/examples/ would be useful, but
452             there isn't an ordinary directory for that.  Since we want none
453             of the scripts to function 'out of the box', what about a new
454             cgi-examples/ dir alongside cgi-bin/? Otherwise manual/cgi/examples
455             might work?
456