]> granicus.if.org Git - apache/blob - STATUS
Propose.
[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.25  : In development.
38     2.4.24  : Tagged on December 16, 2016.
39     2.4.23  : Tagged on June 30, 2016. Released on July 05, 2016.
40     2.4.22  : Tagged on June 20, 2016, not released.
41     2.4.21  : Tagged on June 16, 2016, not released.
42     2.4.20  : Tagged on April 4, 2016. Released on April 11, 2016.
43     2.4.19  : Tagged on March 21, 2016, not released.
44     2.4.18  : Tagged on December 8, 2015. Released on December 14, 2015.
45     2.4.17  : Tagged on October 9, 2015. Released October 13, 2015.
46     2.4.16  : Tagged on July 9, 2015. Released July 15, 2015
47     2.4.15  : Tagged on June 19, 2015. Not released.
48     2.4.14  : Tagged on June 11, 2015. Not released.
49     2.4.13  : Tagged on June 4, 2015. Not released.
50     2.4.12  : Tagged on January 22, 2015. Released Jan 29, 2015
51     2.4.11  : Tagged on January 15, 2015. Not released.
52     2.4.10  : Tagged on July 15, 2014. Released July 21, 2014
53     2.4.9   : Tagged on March 13, 2014. Released on March 17, 2014
54     2.4.8   : Tagged on March 11, 2014. Not released.
55     2.4.7   : Tagged on November 19, 2013. Released on Nov 25, 2013
56     2.4.6   : Tagged on July 15, 2013. Released July, 22, 2013
57     2.4.5   : Tagged on July 11, 2013, not released.
58     2.4.4   : Tagged on February 18, 2013. Released Feb 25, 2013
59     2.4.3   : Tagged on August 17, 2012. Released Aug 18, 2012
60     2.4.2   : Tagged on April 5, 2012. Released Apr 17, 2012.
61     2.4.1   : Tagged on February 13, 2012. Released Feb 21, 2012.
62     2.4.0   : Tagged on January 16, 2012, not released.
63     2.3.16  : Tagged on December 15, 2011.
64     2.3.15  : Tagged on November 8, 2011. Released Nov. 15, 2011.
65     2.3.14  : Tagged on August 1, 2011. Released Aug. 9, 2011.
66     2.3.13  : Tagged on June 28, 2011, not released.
67     2.3.12  : Tagged on May 11, 2011. Released May 23, 2011.
68     2.3.11  : Released as Beta on March 7, 2011.
69     2.3.10  : Tagged on December 13, 2010. Released Dec 21, 2010.
70     2.3.9   : Tagged on November 23, 2010, not released.
71     2.3.8   : Tagged on August 24, 2010.
72     2.3.7   : Tagged on August 19, 2010, not released.
73     2.3.6   : Released on June 21, 2010.
74     2.3.5   : Released on January 26, 2010.
75     2.3.4   : Released on December 8, 2009.
76     2.3.3   : Tagged on November 11, 2009, not released.
77     2.3.2   : Tagged on March 23, 2009, not released.
78     2.3.1   : Tagged on January 2, 2009, not released.
79     2.3.0   : Tagged on December 6, 2008, not released.
80
81 Contributors looking for a mission:
82
83   * Just do an egrep on "TODO" or "XXX" in the source.
84
85   * Review the bug database at: http://issues.apache.org/bugzilla/
86
87   * Review the "PatchAvailable" bugs in the bug database:
88
89     https://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
90
91     After testing, you can append a comment saying "Reviewed and tested".
92
93   * Open bugs in the bug database.
94
95   * See also the STATUS file in the docs/ directory, which lists documentation-specific TODO items.
96
97
98 CURRENT RELEASE NOTES:
99
100   * Forward binary compatibility is expected of Apache 2.4.x releases, such
101     that no MMN major number changes will occur after 2.4.1.  Such changes can
102     only be made in the trunk.
103
104   * All commits to branches/2.4.x must be reflected in SVN trunk,
105     as well, if they apply.  Logical progression is commit to trunk
106     then merge into branches/2.4.x, as applicable.
107
108   * Current exceptions for RTC for this branch:
109     . http/2 - mod_http2
110     . mod_lua
111     . documentation
112     . non-Unix build
113     . non-Unix, single-platform code
114
115 RELEASE SHOWSTOPPERS:
116
117
118 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
119   [ start all new proposals below, under PATCHES PROPOSED. ]
120
121
122 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
123   [ New proposals should be added at the end of the list ]
124
125   *) mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
126      allowing per backend TLS configuration.
127      trunk patch: http://svn.apache.org/r1740928
128                   http://svn.apache.org/r1740960
129                   http://svn.apache.org/r1740967
130                   http://svn.apache.org/r1740987
131                   http://svn.apache.org/r1740998
132                   http://svn.apache.org/r1742697
133                   http://svn.apache.org/r1756976
134      2.4.x patch: http://home.apache.org/~ylavic/patches/httpd-2.4.x-r1740928_and_co.patch
135      +1: ylavic
136
137   *) event: close a race condition where we might re-enable listeners while they
138      are already or about to be closed.
139      trunk patch: http://svn.apache.org/r1774541
140      2.4.x patch: trunk works
141      +1: ylavic
142
143   *) mod_socache_memcache: Use correct format pattern, "%lu" is wrong for
144      apr_uint64_t on some platforms.
145      Followup to r1649491 (trunk) resp. r1774016 (2.4.x).
146      trunk patch: http://svn.apache.org/r1774602
147      2.4.x patch: trunk works
148      +1: rjung
149
150   *) mod_socache_memcache: Add ../generators to include path for Windows
151      build. It now needs mod_status.h.
152      Untested but exactly analogous to what works for
153      mod_socache_shmcb and others.
154      trunk patch: http://svn.apache.org/r1774609
155      2.4.x patch: trunk works
156      +1: rjung
157
158
159 PATCHES/ISSUES THAT ARE BEING WORKED
160   [ New entried should be added at the START of the list ]
161
162   *) mod_ssl: Return 502 instead of 500 when SSL peer check or 
163      proxy_post_handshake hook fails. 
164      Trunk patch: r1645529 (works)
165      2.4.x patch which adds CHANGES: https://emptyhammock.com/media/downloads/r1645529-to-2.4.x.txt
166      +1: trawick
167      ylavic: there may be missing bits, see thread for commit r1736510.
168
169   *) core: Drop an invalid Last-Modified header value coming
170      from a (F)CGI script instead of replacing it with Unix epoch.
171      Warn the users about Last-Modified header value replacements
172      and violations of the RFC.
173      trunk patch: http://svn.apache.org/r1748379
174                   http://svn.apache.org/r1750747
175                   http://svn.apache.org/r1750749
176                   http://svn.apache.org/r1750953
177                   http://svn.apache.org/r1751138
178                   http://svn.apache.org/r1751139
179                   http://svn.apache.org/r1751147
180                   http://svn.apache.org/r1757818
181      2.4.x: trunk patches work, final view:
182             http://home.apache.org/~elukey/httpd-2.4.x-core-last_modified_tz_logging.patch
183      The problem has been discussed in dev@ extensively but we did not reach a common
184      agreement about how to proceed in the long term. While we wait, I would really like
185      to introduce useful logs for the users (the starting point of this change was a users@
186      email thread). If this is not the right way to go I will move the patch to other
187      sections of STATUS (stalled or being worked).
188      The code has been tested with a simple PHP script returning different Last-Modified
189      headers (GMT now, GMT now Europe/Paris, GMT tomorrow, GMT yesterday, PST now).
190      +1: elukey
191
192   *) http: Don't remove the Content-Length of zero from a HEAD response if
193      it comes from an origin server, module or script. Allow the previous
194      behaviour (for legacy/buggy modules only, not origin) by also backporting
195      the HttpContentLengthHeadZero directive (and also HttpExpectStrict which
196      comes for free with the same commit).
197      trunk patch: http://svn.apache.org/r1554303
198                   http://svn.apache.org/r1678215
199      2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-preserve_head_cl_zero.patch
200      +1: ylavic, jim
201      ylavic: r1554303 issued a major MMN bump, but since the ABI change is two
202              ints added at the end of core_server_config, the proposed merge
203              does a minor bump only.
204      minfrin: Two new directives need to be documented.
205
206    * mod_proxy_http: Don't establish or reuse a backend connection before pre-
207      fetching the request body, so to minimize the delay between it is supposed
208      to be alive and the first bytes sent: this is a best effort to prevent the
209      backend from closing because of idle or keepalive timeout in the meantime.
210      Also, handle a new "proxy-flushall" environment variable which allows to
211      flush any forwarded body data immediately. PR 56541+37920.
212      trunk patch: http://svn.apache.org/r1656259
213                   http://svn.apache.org/r1656359 (CHANGES entry)
214      2.4.x patch: trunk works (modulo CHANGES, docs/log-message-tags)
215      +1: ylavic
216      -0: jim:  This seems to be a hit to normal performance, to handle an
217                error and/or non-normal condition. The pre-fetch is
218                expensive, and is always done, even before we know that
219                the backend is available to rec' it. I understand the
220                error described, but is the fix actually worth it (plus
221                it seems to allow for a DDoS vector).
222      ylavic: It seems to me that the problem is real since we reuse the
223              connection before prefetching 16K (either controlled by the
224              client, or by an input filter), we currently always prefetch
225              these bytes already. Regarding performance I don't see any
226              difference (more cycles) compared with the current code.
227              However I think I failed to rebuild the header_brigade when
228              the proxy loop is retried (ping), so I need to rework this.
229              Do you think we'd better remove the prefetch, or maybe just
230              make it nonblocking (by default)?
231         jim: Non-blocking seems the best way to handle...
232
233    * mod_dav: Allow other modules to become providers and add ACLs
234      to the DAV response. Requires a release of apr-util v1.6.
235      trunk patch: http://svn.apache.org/r1748322
236      2.4.x: trunk works modulo CHANGES/MMN
237      +1: minfrin
238      rpluem asks: Will this compile with apr-util < v1.6 and keep
239      mod_dav working (without the new features of the patch of course)?
240      I doubt that we will require apr-util 1.6 for the lifetime of 2.4.x
241      (see the discussion around ap_cstr_casecmp[n] an apr 1.6)
242      minfrin: Yes, as you can see in the patch everything applies only
243      if APR_XML_X2T_PARSED is defined, and the patch was tested with
244      both apr-util v1.6 and apr-util v1.5.
245      -1: jorton, breaks binary backwards compat per dev@ discuss
246          msgid <20160902120654.GA12674@redhat.com>
247          (& also, making the structure change with apr-util version
248          means it breaks binary compat across an apr-util upgrade?)
249
250   * mod_auth_digest: Reduce severity from NOTICE to DEBUG this 
251     once-per-restart msg (I guess the concern was that the RNG
252     could block after this message)
253
254       AH01757: generating secret for digest authentication ...
255
256     trunk patch: This was fixed in trunk as a trivial part of http://svn.apache.org/r1492395
257     2.4.x patch: Just change the loglevel to DEBUG.
258     +1 covener
259
260 PATCHES/ISSUES THAT ARE STALLED
261
262    * core: Add ap_errorlog_provider to make ErrorLog logging modular. This
263            backport keeps syslog logging as part of httpd core and only adds
264            API to allow other modules to be used for error logging.
265      trunk patch: http://svn.apache.org/r1525597
266                   http://svn.apache.org/r1525664
267                   http://svn.apache.org/r1525845
268                   http://svn.apache.org/r1527003
269                   http://svn.apache.org/r1527005
270                   http://svn.apache.org/r1532344
271                   http://svn.apache.org/r1539988
272                   http://svn.apache.org/r1541029
273                   http://svn.apache.org/r1543979
274                   http://svn.apache.org/r1544156
275                   http://svn.apache.org/r1626978
276      2.4.x patch: http://people.apache.org/~jkaluza/patches/httpd-2.4.x-errorlog_provider.patch
277      +1: jkaluza
278      +1: covener w/ doc or code to fix syntax (providername:providerarg not supported like syslog or socacheproviders, 
279                  needs 2 args which is not valid in ErrorLog manual)
280      trawick: nit: fix "writing" in "/* NULL if we are writing to syslog */"
281               (sorry, haven't finished reviewing completely)
282      jim: What is the status of this??
283
284    * mod_proxy: Add ap_proxy_define_match_worker() and use it for ProxyPassMatch
285      and ProxyMatch section to distinguish between normal workers and workers
286      with regex substitutions in the name. Implement handling of such workers
287      in ap_proxy_get_worker(). Fixes the bug when regex workers were not
288      matched and used for request. PR 43513.
289      trunk patch: http://svn.apache.org/r1609680
290                   http://svn.apache.org/r1609688
291                   http://svn.apache.org/r1641381
292      ylavic: Merge patch provided (reusing new->real to avoid double de_socketfy() call).
293              Also added missing r1609688 to the patchset.
294      2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-ap_proxy_define_match_worker.patch
295      +1: ylavic
296      -0: covener tried to review this one in Austin with Jeff.  Does the added match function 
297          really cover a very narrow set of parameters with the way it skips over backreferences?
298          Also, why a new API vs. just setting the field inline?
299
300    * mod_systemd: New module, for integration with systemd on Linux.
301      trunk patch: http://svn.apache.org/r1393976
302                   http://svn.apache.org/r1393997
303                   http://svn.apache.org/r1484554
304                   http://svn.apache.org/r1528032
305                   http://svn.apache.org/r1528034
306                   http://svn.apache.org/r1614821
307                   http://svn.apache.org/r1618579
308                   http://svn.apache.org/r1618588
309      2.4.x patch: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-mod_systemd.patch
310      +1: jkaluza
311      sf comments: The IdleShutdown logic seems broken. Consider a single
312                   active connection that is stalled for 10 seconds. That
313                   connection will be broken after GracefulShutdownTimeout.
314                   A better logic would be to check if there is any open
315                   connection that is not in keep-alive state.
316
317    * mod_journald: Add new module mod_journald to log error logs into journald.
318                    This patch needs changes done in mod_systemd patch (already
319                    proposed for 2.4.x).
320      trunk patch: http://svn.apache.org/r1610339
321                   http://svn.apache.org/r1621806
322      2.4.x patch: http://people.apache.org/~jkaluza/patches/httpd-2.4.x-mod_journald.patch
323      +1: jkaluza, jim
324      rjung, minfrin: Not understanding "This patch needs changes done in
325                      mod_systemd patch", am I right in understanding this patch is
326                      already committed?
327      jkaluza: No, that patch is not committed yet. It is in STALLED section.
328               The link for that patch is: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-mod_systemd.patch
329
330    * core: Add support for systemd socket activation.
331      trunk patch: http://svn.apache.org/r1511033
332                   http://svn.apache.org/r1608686
333                   http://svn.apache.org/r1608694
334                   http://svn.apache.org/r1608703
335                   http://svn.apache.org/r1608721
336                   http://svn.apache.org/r1608744
337      2.4.x patch: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-socket-activation.patch
338      +1: jkaluza
339
340   * mod_proxy: Ensure network errors detected by the proxy are returned as
341     504 Gateway Timeout as opposed to 502 Bad Gateway
342     trunk patch: https://svn.apache.org/viewvc?view=revision&revision=1480058
343     2.4.x patch: trunk patch works modulo CHANGES
344     +1:
345     -1: rpluem: This change is still disputed. See
346         http://mail-archives.apache.org/mod_mbox/httpd-dev/201305.mbox/%3C1B16B9E3-87BA-4EEF-939C-7C7313B54714%40gbiv.com%3E
347
348   * cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will be
349     compiled by the build compiler instead of the host compiler.
350     Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected.
351     Trunk patches: http://svn.apache.org/viewvc?view=revision&revision=1327907
352                    http://svn.apache.org/viewvc?view=revision&revision=1328390
353                    http://svn.apache.org/viewvc?view=revision&revision=1328714
354     2.4 patch: http://people.apache.org/~fuankg/diffs/httpd-2.4.x-cross_compile.diff
355     fuankg: on hold until we agree for a better and more simple solution ...
356
357    * Makefile.win: Added copying of .vbs / .wsf CGIs to Windows install target.
358                    Moved fixing of shebang to separate target so that it is
359                    no longer executed by default and all CGIs remain inactive.
360      trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1387984
361                   http://svn.apache.org/viewvc?view=revision&revision=1421203
362                   http://svn.apache.org/viewvc?view=revision&revision=1421591
363      2.4.x patch: http://people.apache.org/~fuankg/diffs/httpd-2.4.x-Makefile.win.diff
364      +1 fuankg, gsmith
365      -.8: trawick
366           This commit is essentially deciding that an httpd install on
367           Windows now has printenv/testcgi written in 2 more languages.
368           To the extent that the usefulness is that it shows how to make scripts
369           of these types executable by httpd, I believe that the documentation
370           is the proper place to solve that.  To the extent that the usefullness
371           is to show how to implement a CGI in these particular languages, I believe
372           that the httpd distribution and documentation in general is not the
373           place for that.  Historically these types of scripts have caused problems
374           for downstream vendorsas well as newbies (and sometimes the intersection
375           of those two groups) who don't understand that these are information leaks
376           once they are enabled, and the subtlety of the way they are disabled ("Apache
377           messed up the first line; let me fix that") contributes to that.
378      fuankg notes: I've just added a big warning to all CGI scripts which should now
379           make absolutely clear that these CGIs are for testing purpose only - so those
380           who enable those scripts with inserting the right shebang should be 100% aware
381           of any risks (this should cover your last point).
382      jim: trawick, does the above address your concerns?
383      trawick: to some extent (somebody reading the script gets an idea)
384           Why isn't the configuration requirement documented instead
385           of described indirectly in a sample?
386           Why are these new samples added to the install without three
387           votes?  (I didn't veto it; put your name next to the two
388           existing ones and I'll be satisfied that enough people
389           considered this addition as an appropriate solution for a
390           real httpd usability problem.)
391      wrowe: I'd agree with trawick, and suggest that these scripts can begin
392             their life somewhere in the manual/ tree.  This really seems like
393             the place where /usr/share/httpd/examples/ would be useful, but
394             there isn't an ordinary directory for that.  Since we want none
395             of the scripts to function 'out of the box', what about a new
396             cgi-examples/ dir alongside cgi-bin/? Otherwise manual/cgi/examples
397             might work?
398
399    * core: block Define and Undefine in vhost and directory context. Because
400      it is EXEC_ON_READ, it "breaks out" of these contexts anyway.
401      trunk patch: http://svn.apache.org/r1656063
402                   http://svn.apache.org/r1656122
403      2.4.x patch:  http://people.apache.org/~covener/patches/2.4.x-define-limits.diff
404      +1: covener (I need to review the docs manually in this area)
405      -1: wrowe (blocking will break "working" .conf files on a subversion update
406                 meant to pick up security fixes.  "Alerting" I would agree to.)
407
408