]> granicus.if.org Git - apache/log
apache
5 years agoAdd a note in ThreadsPerChild about the relationship with ThreadsLimit.
Christophe Jaillet [Fri, 24 Aug 2018 20:49:43 +0000 (20:49 +0000)]
Add a note in ThreadsPerChild about the relationship with ThreadsLimit.

+ add a missing link

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838958 13f79535-47bb-0310-9956-ffa450edef68

5 years agoUse the default location to display a default value
Christophe Jaillet [Fri, 24 Aug 2018 20:20:02 +0000 (20:20 +0000)]
Use the default location to display a default value
(+ some minor style issues)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838951 13f79535-47bb-0310-9956-ffa450edef68

5 years agobetter struct layout ...
Jim Jagielski [Fri, 24 Aug 2018 19:46:57 +0000 (19:46 +0000)]
better struct layout ...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838941 13f79535-47bb-0310-9956-ffa450edef68

5 years agooptimize struct layout
Jim Jagielski [Fri, 24 Aug 2018 19:45:04 +0000 (19:45 +0000)]
optimize struct layout

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838940 13f79535-47bb-0310-9956-ffa450edef68

5 years agoupdate field comment
Jim Jagielski [Fri, 24 Aug 2018 19:45:01 +0000 (19:45 +0000)]
update field comment

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838939 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFix an example (/foo vs /foo/bar)
Christophe Jaillet [Fri, 24 Aug 2018 19:43:27 +0000 (19:43 +0000)]
Fix an example (/foo vs /foo/bar)

Synch with 2.4.x and imporve syntax highlight

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838938 13f79535-47bb-0310-9956-ffa450edef68

5 years agoUpdate updated field at the start of the check rather than at the end.
Jim Jagielski [Fri, 24 Aug 2018 19:29:44 +0000 (19:29 +0000)]
Update updated field at the start of the check rather than at the end.
Re: [Bug 62318] healthcheck

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838937 13f79535-47bb-0310-9956-ffa450edef68

5 years agoWhen a rewrite to proxy is configured in the server config, a check is made to make...
Christophe Jaillet [Wed, 22 Aug 2018 21:57:37 +0000 (21:57 +0000)]
When a rewrite to proxy is configured in the server config, a check is made to make sure mod_proxy is active.  But the same is not done if a rewrite to proxy is configured in an .htaccess file.

Basically this patch is the block of code from hook_uri2file that does the proxy check, copied to hook_fixup.

Patch provided by Michael Streeter [mstreeter1 gmail.com], slightly modified to use a new APLOGNO
PR 56264

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838684 13f79535-47bb-0310-9956-ffa450edef68

5 years agos/require/Require/ to help another syntax color highlight work correctly.
Christophe Jaillet [Mon, 20 Aug 2018 19:41:05 +0000 (19:41 +0000)]
s/require/Require/ to help another syntax color highlight work correctly.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838459 13f79535-47bb-0310-9956-ffa450edef68

5 years agos/require/Require/ to help syntax color highlight work correctly.
Christophe Jaillet [Mon, 20 Aug 2018 19:37:38 +0000 (19:37 +0000)]
s/require/Require/ to help syntax color highlight work correctly.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838458 13f79535-47bb-0310-9956-ffa450edef68

5 years agoRebuild.
Lucien Gentis [Sat, 18 Aug 2018 15:49:16 +0000 (15:49 +0000)]
Rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838340 13f79535-47bb-0310-9956-ffa450edef68

5 years agoXML update.
Lucien Gentis [Sat, 18 Aug 2018 15:47:45 +0000 (15:47 +0000)]
XML update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838338 13f79535-47bb-0310-9956-ffa450edef68

5 years agoSave some cycle.
Christophe Jaillet [Sat, 18 Aug 2018 08:32:15 +0000 (08:32 +0000)]
Save some cycle.

There is no need to copy, strchr, strcmp and modify a string which is only used for TRACE2 logging.

Note that the code that looks similar a few lines below can not be optimized the same way because it is also returned in 'pmessage'.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838318 13f79535-47bb-0310-9956-ffa450edef68

5 years ago- Add some links.
Christophe Jaillet [Sat, 18 Aug 2018 07:44:17 +0000 (07:44 +0000)]
- Add some links.
- Remove the space in "character set" in the syntax of ProxyFtpDirCharset to avoid confusion (it is 1 parameter only)
- Use the correct syntax for the "default" values, so that they are parsed and correctly displayed in 'quickreference'
- Remove extra [] when directive's parameter are required

- correct the default password: apache-proxy@ instead of apache_proxy@.
This was silently changed in r88745, 17 years ago!

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838313 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFix a cppcheck warning.
Christophe Jaillet [Fri, 17 Aug 2018 20:36:31 +0000 (20:36 +0000)]
Fix a cppcheck warning.

Remove some dead code. '!r->content_languages' is known to be true at this point.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838285 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFix a cppcheck warning.
Christophe Jaillet [Fri, 17 Aug 2018 16:51:25 +0000 (16:51 +0000)]
Fix a cppcheck warning.

Remove some dead code. Updating 'last' is pointless here.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838271 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFix a cppcheck warning.
Christophe Jaillet [Fri, 17 Aug 2018 16:39:04 +0000 (16:39 +0000)]
Fix a cppcheck warning.

'ap_unescape_urlencoded()' suggests that NULL can be passed to 'unescape_url()'.
So avoid a potential 'strchr(NULL, ...)' which is an undefined behavior.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838270 13f79535-47bb-0310-9956-ffa450edef68

5 years agouploading file to keep the ongoing changes
Luis Gil [Fri, 17 Aug 2018 12:37:00 +0000 (12:37 +0000)]
uploading file to keep the ongoing changes

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838255 13f79535-47bb-0310-9956-ffa450edef68

5 years agoadd ids
Eric Covener [Wed, 15 Aug 2018 11:40:11 +0000 (11:40 +0000)]
add ids

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838079 13f79535-47bb-0310-9956-ffa450edef68

5 years agominor bump from r1838055
Eric Covener [Tue, 14 Aug 2018 21:52:13 +0000 (21:52 +0000)]
minor bump from r1838055

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838057 13f79535-47bb-0310-9956-ffa450edef68

5 years agoAdd StrictHostCheck
Eric Covener [Tue, 14 Aug 2018 21:47:22 +0000 (21:47 +0000)]
Add StrictHostCheck

.. to allow ucnonfigured hostnames to be rejected.

The checks happen during NVH mapping and checks that the
mapped VH itself has the host as a name or alias.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838055 13f79535-47bb-0310-9956-ffa450edef68

5 years agodon't use workaround on trunk
Eric Covener [Tue, 14 Aug 2018 21:25:54 +0000 (21:25 +0000)]
don't use workaround on trunk

it breaks the build w/ maintainer mode.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838054 13f79535-47bb-0310-9956-ffa450edef68

5 years agoAxe some redundant conditions. PR 62549.
Yann Ylavic [Mon, 13 Aug 2018 12:54:30 +0000 (12:54 +0000)]
Axe some redundant conditions. PR 62549.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837941 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFollow up to r1837822: typo.
Yann Ylavic [Fri, 10 Aug 2018 16:32:40 +0000 (16:32 +0000)]
Follow up to r1837822: typo.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837824 13f79535-47bb-0310-9956-ffa450edef68

5 years agoap_request_core_filter() can check whether the next filter should yield.
Yann Ylavic [Fri, 10 Aug 2018 16:24:15 +0000 (16:24 +0000)]
ap_request_core_filter() can check whether the next filter should yield.

Itself won't yield at this point (its f->bb is empty).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837823 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: ap_filter_output_pending() to flush outer most filters first.
Yann Ylavic [Fri, 10 Aug 2018 16:15:50 +0000 (16:15 +0000)]
core: ap_filter_output_pending() to flush outer most filters first.

Since previous output filters may use ap_filter_should_yield() to determine
whether they should send more data (e.g. ap_request_core_filter), we need
to flush pending data from the core output filter first, and so on up the
chain.

Otherwise we may enter an infinite loop where ap_request_core_filter() does
nothing on ap_filter_output_pending() called from MPM event.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837822 13f79535-47bb-0310-9956-ffa450edef68

5 years agoRemove backported items from trunk/CHANGES
Christophe Jaillet [Fri, 10 Aug 2018 13:44:53 +0000 (13:44 +0000)]
Remove backported items from trunk/CHANGES

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837804 13f79535-47bb-0310-9956-ffa450edef68

5 years agoPatch PR 62567. Fix by Michal Karm Babacek <michal.babacek gmail.com>
Jim Jagielski [Thu, 9 Aug 2018 11:30:10 +0000 (11:30 +0000)]
Patch PR 62567. Fix by Michal Karm Babacek <michal.babacek gmail.com>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837717 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_status: Cumulate CPU time of exited child
Rainer Jung [Tue, 7 Aug 2018 13:04:05 +0000 (13:04 +0000)]
mod_status: Cumulate CPU time of exited child
processes in the "cu" and "cs" values.
Add CPU time of the parent process to the
"c" and "s" values.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837595 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_status: Add cumulated response duration time
Rainer Jung [Tue, 7 Aug 2018 10:48:05 +0000 (10:48 +0000)]
mod_status: Add cumulated response duration time
in milliseconds.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837590 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_status: Complete the data shown for async
Rainer Jung [Tue, 7 Aug 2018 10:25:31 +0000 (10:25 +0000)]
mod_status: Complete the data shown for async
MPMs in "auto" mode.  Added number of processes,
number of stopping processes and number
of busy and idle workers.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837589 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_proxy: Improve the balancer member data shown
Rainer Jung [Tue, 7 Aug 2018 10:17:33 +0000 (10:17 +0000)]
mod_proxy: Improve the balancer member data shown
in mod_status when "ProxyStatus" is "On":
add "busy" count and show byte counts in auto
mode always in units of kilobytes.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837588 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFollow up to r1833368 and r1837435: update APLOGNO.
Yann Ylavic [Sat, 4 Aug 2018 17:21:22 +0000 (17:21 +0000)]
Follow up to r1833368 and r1837435: update APLOGNO.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837437 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_ssl: OpenSSL now initializes fully through APR, use that.
Yann Ylavic [Sat, 4 Aug 2018 17:17:03 +0000 (17:17 +0000)]
mod_ssl: OpenSSL now initializes fully through APR, use that.

Follow up to r1833368 and r1833452.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837435 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFix comment in mod_lua and docs.
Christophe Jaillet [Sat, 4 Aug 2018 07:47:47 +0000 (07:47 +0000)]
Fix comment in mod_lua and docs.

s/addoutputfilter/add_output_filter/
See PR 62359

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837404 13f79535-47bb-0310-9956-ffa450edef68

5 years agoSave a few cycles.
Christophe Jaillet [Fri, 3 Aug 2018 17:22:57 +0000 (17:22 +0000)]
Save a few cycles.
There is no need to check the first bytes, they are known to be "bytes ".

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837388 13f79535-47bb-0310-9956-ffa450edef68

5 years agoBump mmn for worker_share struct update
Jim Jagielski [Fri, 3 Aug 2018 13:11:04 +0000 (13:11 +0000)]
Bump mmn for worker_share struct update

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837366 13f79535-47bb-0310-9956-ffa450edef68

5 years agoupdate after backport
Stefan Eissing [Fri, 3 Aug 2018 10:55:13 +0000 (10:55 +0000)]
update after backport

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837359 13f79535-47bb-0310-9956-ffa450edef68

5 years agoOn the trunk:
Stefan Eissing [Fri, 3 Aug 2018 10:38:33 +0000 (10:38 +0000)]
On the trunk:

mod_md: When the last domain name from an MD is moved to another one,
     that now empty MD gets moved to the store archive. PR 62572.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837357 13f79535-47bb-0310-9956-ffa450edef68

5 years agoevent, worker: follow up to r1835845, r1837354: pruntime is global now.
Yann Ylavic [Fri, 3 Aug 2018 10:27:18 +0000 (10:27 +0000)]
event, worker: follow up to r1835845, r1837354: pruntime is global now.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837356 13f79535-47bb-0310-9956-ffa450edef68

5 years agoevent, worker: initialize the objects used by signal_threads() first.
Yann Ylavic [Fri, 3 Aug 2018 09:53:42 +0000 (09:53 +0000)]
event, worker: initialize the objects used by signal_threads() first.

Follow up to r1835845.

If a signal is received early when the MPM children start, signal_threads() may
be called concurrently with start_streads() thus before the latter (or its
underlying threads like the listener_thread) had a chance to create and init
the queues, mutexes, pollset and sockets array used by the former.

So move those initializations to a new setup_threads_runtime() function called
before start_threads(), where the pruntime pool is also created.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837354 13f79535-47bb-0310-9956-ffa450edef68

5 years agoIf ProxyPassReverse is used for reverse mapping of relative redirects, subsequent...
Christophe Jaillet [Wed, 1 Aug 2018 18:53:53 +0000 (18:53 +0000)]
If ProxyPassReverse is used for reverse mapping of relative redirects, subsequent ProxyPassReverse statements, whether they are relative or absolute, may fail.

PR 60408 [Peter Haworth <pmh1wheel gmail.com>]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837250 13f79535-47bb-0310-9956-ffa450edef68

5 years agoFix PR54848 in a 2.4.x backportable format. Ideally deprecating the use
Jim Jagielski [Wed, 1 Aug 2018 11:27:28 +0000 (11:27 +0000)]
Fix PR54848 in a 2.4.x backportable format. Ideally deprecating the use
of ->client in whatever version of 2.4 this is added into would be
more logical.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837225 13f79535-47bb-0310-9956-ffa450edef68

5 years agospelling
Christophe Jaillet [Tue, 31 Jul 2018 21:58:44 +0000 (21:58 +0000)]
spelling

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837181 13f79535-47bb-0310-9956-ffa450edef68

5 years agoUpdated to match English revision 1834263 added the hints secction to spanish
Luis Gil [Tue, 31 Jul 2018 16:47:55 +0000 (16:47 +0000)]
Updated to match English revision 1834263 added the hints secction to spanish

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837169 13f79535-47bb-0310-9956-ffa450edef68

5 years agoRebuild.
Lucien Gentis [Tue, 31 Jul 2018 16:11:13 +0000 (16:11 +0000)]
Rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837163 13f79535-47bb-0310-9956-ffa450edef68

5 years agoXML updates.
Lucien Gentis [Tue, 31 Jul 2018 16:10:16 +0000 (16:10 +0000)]
XML updates.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837162 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: set ap_request_core_filter() last.
Yann Ylavic [Tue, 31 Jul 2018 10:50:18 +0000 (10:50 +0000)]
core: set ap_request_core_filter() last.

Since it may retain data and should run after other "request" filters, use
the last possible position for a "request" filter: AP_FTYPE_CONNECTION - 1.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837131 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_ratelimit: Don't interfere with "chunked" encoding.
Yann Ylavic [Tue, 31 Jul 2018 10:35:46 +0000 (10:35 +0000)]
mod_ratelimit: Don't interfere with "chunked" encoding.

By the time ap_http_header_filter() sends the header brigade and adds the
"CHUNK" filter, we need to garantee that the header went through all the
filters' stack, and more specifically above ap_http_chunk_filter() which
assumes that all it receives is content data.
Since rate_limit_filter() may retain the header brigade, make it run after
ap_http_chunk_filter(), just before AP_FTYPE_CONNECTION filters.

Also, ap_http_header_filter() shouldn't eat the EOS for HEAD/no-body responses.
For instance mod_ratelimit depends on it since r1835168, but any next request
filter may as well to flush and/or bail out approprietely.

This fixes the regression introduced in 2.4.34 (r1835168).
PR 62568.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837130 13f79535-47bb-0310-9956-ffa450edef68

5 years agomissing english rev-1779744 from line 274 to end everything else updated, will be...
Luis Gil [Mon, 30 Jul 2018 17:07:35 +0000 (17:07 +0000)]
missing english rev-1779744 from line 274 to end everything else updated, will be added in next commit

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837071 13f79535-47bb-0310-9956-ffa450edef68

5 years agomissing english rev-1779744 from line 274 to end every thin else updated, will be...
Luis Gil [Mon, 30 Jul 2018 17:06:17 +0000 (17:06 +0000)]
missing english rev-1779744 from line 274 to end every thin else updated, will be added in next commit

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837070 13f79535-47bb-0310-9956-ffa450edef68

5 years agorebuild html file
Luis Gil [Mon, 30 Jul 2018 16:41:06 +0000 (16:41 +0000)]
rebuild html file

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837069 13f79535-47bb-0310-9956-ffa450edef68

5 years agoupdated translation to match EN-rev 1826856.
Luis Gil [Mon, 30 Jul 2018 15:11:07 +0000 (15:11 +0000)]
updated translation to match EN-rev 1826856.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837065 13f79535-47bb-0310-9956-ffa450edef68

5 years agoBackported in 2.4.34.
Yann Ylavic [Mon, 30 Jul 2018 13:29:13 +0000 (13:29 +0000)]
Backported in 2.4.34.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837058 13f79535-47bb-0310-9956-ffa450edef68

5 years agohttp: Enforce consistently no response body with both 204 and 304 statuses.
Yann Ylavic [Mon, 30 Jul 2018 13:08:23 +0000 (13:08 +0000)]
http: Enforce consistently no response body with both 204 and 304 statuses.

Provide AP_STATUS_IS_HEADER_ONLY() helper/macro to check for 204 or 304 and
use it where some special treatment is needed when no body is expected.

Some of those places handled 204 only.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837056 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_proxy_http: follow up to r1836588: nonblocking read for 100-continue body.
Yann Ylavic [Mon, 30 Jul 2018 10:14:42 +0000 (10:14 +0000)]
mod_proxy_http: follow up to r1836588: nonblocking read for 100-continue body.

Set nonblocking read (req->flushall) when handling 100-continue since no body
is expected to be there already.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837040 13f79535-47bb-0310-9956-ffa450edef68

5 years agoupdated line that has been added on English revision file
Luis Gil [Fri, 27 Jul 2018 09:45:24 +0000 (09:45 +0000)]
updated line that has been added on English revision file

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836798 13f79535-47bb-0310-9956-ffa450edef68

5 years agoxform
Eric Covener [Thu, 26 Jul 2018 19:48:05 +0000 (19:48 +0000)]
xform

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836759 13f79535-47bb-0310-9956-ffa450edef68

5 years agoreplace mystery smart-quotes copy/pasted from httpd.conf + vi.
Eric Covener [Thu, 26 Jul 2018 19:47:48 +0000 (19:47 +0000)]
replace mystery smart-quotes copy/pasted from httpd.conf + vi.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836758 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_proxy_http: follow up to r1836588: fix drop of spurious 100 responses.
Yann Ylavic [Thu, 26 Jul 2018 17:51:09 +0000 (17:51 +0000)]
mod_proxy_http: follow up to r1836588: fix drop of spurious 100 responses.

r1836588 broke t/security/CVE-2008-2364.t by forwarding more than one
"100 continue" response, fix it.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836750 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_proxy_http: follow up to r1836588/r1836648: handle unread 100-continue.
Yann Ylavic [Thu, 26 Jul 2018 11:29:51 +0000 (11:29 +0000)]
mod_proxy_http: follow up to r1836588/r1836648: handle unread 100-continue.

When the backend responds with a non-interim response to a 100-continue,
mod_proxy_http won't read the client's body, so make sure "Connection: close"
ends up being added to the response if nobody reads that body later.

The right thing to do at mod_proxy level, rather then forcing AP_CONN_CLOSE,
is to restore r->expecting_100 so that further processing (like error_override
or trying on the next balancer member) can still work.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836716 13f79535-47bb-0310-9956-ffa450edef68

5 years agoclean up sandbox, touch mod_proxy.xml, rebuild.
Eric Covener [Thu, 26 Jul 2018 10:46:48 +0000 (10:46 +0000)]
clean up sandbox, touch mod_proxy.xml, rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836713 13f79535-47bb-0310-9956-ffa450edef68

5 years agoxforms
Eric Covener [Thu, 26 Jul 2018 00:51:41 +0000 (00:51 +0000)]
xforms

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836684 13f79535-47bb-0310-9956-ffa450edef68

5 years agoexpand on ProxyPassReverse args
Eric Covener [Thu, 26 Jul 2018 00:51:31 +0000 (00:51 +0000)]
expand on ProxyPassReverse args

split up the two arguments into their own paragraphs
try to reinforce that the 2nd arg has to match the response
hedaer, and what the first one is used for.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836683 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_proxy_http: follow up to r1836588: avoid 100-continue responses from core.
Yann Ylavic [Wed, 25 Jul 2018 16:33:44 +0000 (16:33 +0000)]
mod_proxy_http: follow up to r1836588: avoid 100-continue responses from core.

When mod_proxy_http handles end-to-end "100 continue", it can't let
ap_http_filter() send its own interim response whenever the body is read.

So save/restore r->expecting_100 before/after handling the request, and use
req->expecting_100 internally (including to restore r->expecting appropriately).

While at it, add comments and debug logs about 100 continue handling, and
fill in missing APLOGNO()s from r1836588.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836648 13f79535-47bb-0310-9956-ffa450edef68

5 years agoxform
Eric Covener [Wed, 25 Jul 2018 14:46:43 +0000 (14:46 +0000)]
xform

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836639 13f79535-47bb-0310-9956-ffa450edef68

5 years agoadd 2 conditional logging examples
Eric Covener [Wed, 25 Jul 2018 14:46:33 +0000 (14:46 +0000)]
add 2 conditional logging examples

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836638 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* Forward port r1832855 missing in trunk.
Ruediger Pluem [Wed, 25 Jul 2018 08:54:50 +0000 (08:54 +0000)]
* Forward port r1832855 missing in trunk.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836613 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* ap_proxy_balancer_get_best_worker cannot be exported and used as an optional
Ruediger Pluem [Wed, 25 Jul 2018 06:22:53 +0000 (06:22 +0000)]
* ap_proxy_balancer_get_best_worker cannot be exported and used as an optional
  function at the same time. So rename ap_proxy_balancer_get_best_worker to
  proxy_balancer_get_best_worker and make it static which is then used as an
  optional function and recreate ap_proxy_balancer_get_best_worker as an
  exported thin wrapper of proxy_balancer_get_best_worker.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836603 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_proxy_http: forward 100-continue.
Yann Ylavic [Tue, 24 Jul 2018 21:55:29 +0000 (21:55 +0000)]
mod_proxy_http: forward 100-continue.

Handle end-to-end 100-continue, according to RFC 7231, such that the client
request body is not read/forwarded (according to its "Expect:" header) until
the backend wants to receive it (with interim 100 continue response), or never
forwarded if the backend provides a (non-interim) response and doesn't need
the client body at all.

This is achieved by filling the header_brigade in ap_proxy_http_prefetch()
and letting ap_proxy_http_request() determine whether it should forward that
brigade only (with the "Expect: 100-continue" specified by the client or added
according to "ping=" configuration), or forward the whole body for the usual
case (as before).

When 100-continue expectation is in place, the body is actually forwarded by
ap_proxy_http_process_response() when/if a "100 continue" response is sent by
the backend, otherwise the body is discarded; a future enhancement could make
so that in a balancer configuration, the body could be forwarded to another
balancer member depending on the status/error from the backend.

So stream_reqbody_cl() and stream_reqbody_chunked() functions are adapted to be
called by either ap_proxy_http_request() or ap_proxy_http_process_response(),
while spool_reqbody_cl() still spools the body in ap_proxy_http_prefetch() thus
before the backend is connected/reused to avoid inactivity on the connection
for the prefetch time (the prefetched body is also forwarded according to the
100-continue expectation, though).

Also, since the brigades and other runtime objects now need to be shared by the
ap_proxy_http_*() functions chain, a proxy_http_req_t struct/context is created
from the start and passed to them as (the single) argument. This is also a good
candidate for a future async baton, if we wanted to let the MPM event wait for
connection data for us at any stage and be called back ;)

Finally, ap_send_interim_response() is modified to correcly handle 100 continue
responses once, and take care of clearing r->expecting_100 only for them.

PR 60330.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836588 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* modules/ssl/ssl_engine_pphrase.c: Fix linking against OpenSSL without
Joe Orton [Tue, 24 Jul 2018 11:32:17 +0000 (11:32 +0000)]
* modules/ssl/ssl_engine_pphrase.c: Fix linking against OpenSSL without
  ENGINE support.

PR: 62563

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836547 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* config.layout: Allow configure --localstatedir to over-ride /var/www
Joe Orton [Mon, 23 Jul 2018 08:39:05 +0000 (08:39 +0000)]
* config.layout: Allow configure --localstatedir to over-ride /var/www
  location in Fedora layout.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836469 13f79535-47bb-0310-9956-ffa450edef68

5 years ago * mark mod_proxy_http2 and mod_md as 'experimental' on their documentation
Stefan Eissing [Mon, 23 Jul 2018 08:35:18 +0000 (08:35 +0000)]
 * mark mod_proxy_http2 and mod_md as 'experimental' on their documentation

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836468 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* Add missing log numbers
Ruediger Pluem [Fri, 20 Jul 2018 20:17:08 +0000 (20:17 +0000)]
* Add missing log numbers

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836386 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* Credits to Bill for the analysis and the pointer to the solution.
Ruediger Pluem [Fri, 20 Jul 2018 19:41:56 +0000 (19:41 +0000)]
* Credits to Bill for the analysis and the pointer to the solution.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836384 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* Always retrieve conditional function. static variable might contain garbage if...
Ruediger Pluem [Fri, 20 Jul 2018 19:36:01 +0000 (19:36 +0000)]
* Always retrieve conditional function. static variable might contain garbage if module was reloaded in a static build.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836383 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* Remove invalid copy and paste comments
Ruediger Pluem [Fri, 20 Jul 2018 19:29:06 +0000 (19:29 +0000)]
* Remove invalid copy and paste comments

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836382 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* mod_proxy: Remove load order and link dependency between mod_lbmethod_*
Ruediger Pluem [Fri, 20 Jul 2018 19:27:31 +0000 (19:27 +0000)]
* mod_proxy: Remove load order and link dependency between mod_lbmethod_*
  modules and mod_proxy by providing mod_proxy's ap_proxy_balancer_get_best_worker
  as an optional function.

PR: 62557

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836381 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: axe data_in_in/output_filter from conn_rec.
Yann Ylavic [Fri, 20 Jul 2018 15:47:16 +0000 (15:47 +0000)]
core: axe data_in_in/output_filter from conn_rec.

They were superseded by ap_filter_should_yield() and ap_run_in/output_pending()
in r1706669 and had poor semantics since then (we can't maintain pending
semantics both by filter and for the whole connection).

Register ap_filter_input_pending() as the default input_pending hook (which
seems to have been forgotten in the first place).

On the MPM event side, we don't need to flush pending output data when the
connection has just been processed, ap_filter_should_yield() is lightweight and
enough to determine whether we should really enter write completion state or go
straight to reading. ap_run_output_pending() is used only when write completion
is in place and needs to be completed before more processing.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836364 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: follow up to r1836237: core filter's tmp_flush_bb not used anymore.
Yann Ylavic [Fri, 20 Jul 2018 15:04:55 +0000 (15:04 +0000)]
core: follow up to r1836237: core filter's tmp_flush_bb not used anymore.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836354 13f79535-47bb-0310-9956-ffa450edef68

5 years agoxform
Eric Covener [Fri, 20 Jul 2018 02:29:59 +0000 (02:29 +0000)]
xform

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836314 13f79535-47bb-0310-9956-ffa450edef68

5 years agoCorrect see also comment
William A. Rowe Jr [Thu, 19 Jul 2018 17:57:05 +0000 (17:57 +0000)]
Correct see also comment

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836287 13f79535-47bb-0310-9956-ffa450edef68

5 years agomod_proxy_hcheck: take balancer's SSLProxy* directives into account.
Yann Ylavic [Thu, 19 Jul 2018 15:25:40 +0000 (15:25 +0000)]
mod_proxy_hcheck: take balancer's SSLProxy* directives into account.

mod_proxy_hcheck was missing the merge of SSLProxy* directives defined by
balancer with the ones of the VirtualHost.

Since ap_proxy_connection_create_ex() needs a merged r->per_dir_config to apply
the correct SSL configuration, let's split create_request_rec() in two:
- create_request_rec() to only initialize the non-connection fields and merge
  balancer->section_config into r->per_dir_config,
- set_request_connection() to associate the connection with the request once
  it's been created from the merged configuration of the minimal request.

The issue was reported on the users@ mailing list:
https://lists.apache.org/thread.html/895cf250104b081b789101b1086b71a26d9c337db7123c5a552b7c69@%3Cusers.httpd.apache.org%3E

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836276 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: follow up to r1836237: whitelist in-memory buckets.
Yann Ylavic [Thu, 19 Jul 2018 09:06:37 +0000 (09:06 +0000)]
core: follow up to r1836237: whitelist in-memory buckets.

As Eric noted, this is safer w.r.t. third party buckets which could be
uncought by the previous backlist and get out of memory limits.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836258 13f79535-47bb-0310-9956-ffa450edef68

5 years agoutil_filter: axe loglevel explicit checks already done by ap_log_cerror().
Yann Ylavic [Wed, 18 Jul 2018 22:43:45 +0000 (22:43 +0000)]
util_filter: axe loglevel explicit checks already done by ap_log_cerror().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836241 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: avoid double loop in ap_filter_output_pending().
Yann Ylavic [Wed, 18 Jul 2018 22:40:32 +0000 (22:40 +0000)]
core: avoid double loop in ap_filter_output_pending().

Since ap_filter_output_pending() is looping on the relevant filters already,
we don't need to use ap_filter_should_yield() to check upstream filters.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836240 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: integrate data_in_{in,out}put_filter to ap_filter_{in,out}put_pending().
Yann Ylavic [Wed, 18 Jul 2018 22:36:19 +0000 (22:36 +0000)]
core: integrate data_in_{in,out}put_filter to ap_filter_{in,out}put_pending().

Straightforward for ap_filter_input_pending() since c->data_in_input_filter is
always checked wherever ap_run_input_pending(c) is.

For ap_filter_output_pending(), this allows to set c->data_in_output_filter in
ap_process_request_after_handler() and avoid an useless flush from mpm_event.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836239 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: core output filter optimizations.
Yann Ylavic [Wed, 18 Jul 2018 21:55:29 +0000 (21:55 +0000)]
core: core output filter optimizations.

The core output filter used to determine first if it needed to block before
trying to send its data (including set aside ones), and if so it did call
send_brigade_blocking().

This can be avoided by making send_brigade_nonblocking() send as much data as
possible (nonblocking), and only if data remain check whether they should be
flushed (blocking), according to the same ap_filter_reinstate_brigade()
heuristics but afterward.

This allows both to simplify the code (axe send_brigade_blocking and some
duplicated logic) and optimize sends since send_brigade_nonblocking() is now
given all the buckets so it can make use of scatter/gather (iovec) or NOPUSH
option with the whole picture.

When sendfile is available and/or with fine tuning of FlushMaxThreshold (and
ReadBufferSize) from r1836032, one can now take advantage of modern network
speeds and bandwidth.

This commit also adds some APLOG_TRACE6 messages for outputed bytes (including
at mod_ssl level since splitting happens there when it's active).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836237 13f79535-47bb-0310-9956-ffa450edef68

5 years ago* Makefile.in (install-suexec*): Fix make -jN install.
Joe Orton [Wed, 18 Jul 2018 09:02:18 +0000 (09:02 +0000)]
* Makefile.in (install-suexec*): Fix make -jN install.

Submitted by: Arkadiusz Miskiewicz <arekm maven.pl>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836154 13f79535-47bb-0310-9956-ffa450edef68

5 years ago * using the, hopefully correct, ever elusive libressl version numbering check for...
Stefan Eissing [Tue, 17 Jul 2018 09:36:23 +0000 (09:36 +0000)]
 * using the, hopefully correct, ever elusive libressl version numbering check for the new openssl API calls, fixes PR 62548.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836095 13f79535-47bb-0310-9956-ffa450edef68

5 years agoEnglish version reference update.
Lucien Gentis [Tue, 17 Jul 2018 09:34:39 +0000 (09:34 +0000)]
English version reference update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836094 13f79535-47bb-0310-9956-ffa450edef68

5 years agoenglish as first/only language
Eric Covener [Mon, 16 Jul 2018 19:46:19 +0000 (19:46 +0000)]
english as first/only language

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836060 13f79535-47bb-0310-9956-ffa450edef68

5 years agoparaphrase rfcs/code better
Eric Covener [Mon, 16 Jul 2018 19:45:36 +0000 (19:45 +0000)]
paraphrase rfcs/code better

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836059 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: Add ReadBufferSize, FlushMaxThreshold and FlushMaxPipelined directives.
Yann Ylavic [Mon, 16 Jul 2018 12:49:55 +0000 (12:49 +0000)]
core: Add ReadBufferSize, FlushMaxThreshold and FlushMaxPipelined directives.

ReadBufferSize allows to configure the size of read buffers, for now it's
mainly used for file buckets reads (apr_bucket_file_set_buf_size), but it could
be used to replace AP_IOBUFSIZE in multiple places.

FlushMaxThreshold and FlushMaxPipelined allow to configure the hardcoded
THRESHOLD_MAX_BUFFER and MAX_REQUESTS_IN_PIPELINE from "util_filter.c".
The former sets the maximum size above which pending data are forcibly flushed
to the network (blocking eventually), and the latter sets the number of
pipelined/pending responses above which they are flushed regardless of whether
a pipelined request is immediately available (zero disables pipelining).

Larger ReadBufferSize and FlushMaxThreshold can trade memory consumption for
performances with the capacity of today's networks.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836032 13f79535-47bb-0310-9956-ffa450edef68

5 years agoRebuild.
Lucien Gentis [Mon, 16 Jul 2018 12:05:25 +0000 (12:05 +0000)]
Rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836023 13f79535-47bb-0310-9956-ffa450edef68

5 years agoXML update.
Lucien Gentis [Mon, 16 Jul 2018 12:02:32 +0000 (12:02 +0000)]
XML update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836022 13f79535-47bb-0310-9956-ffa450edef68

5 years agoutil_filter: Axe conn_rec->empty brigade.
Yann Ylavic [Mon, 16 Jul 2018 11:20:26 +0000 (11:20 +0000)]
util_filter: Axe conn_rec->empty brigade.

Since it's internal util_filter use, we shouldn't expose it in conn_rec and
can replace it with a pooled brigade provided by ap_reuse_brigade_from_pool().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836020 13f79535-47bb-0310-9956-ffa450edef68

5 years agocore: Add ap_reuse_brigade_from_pool().
Yann Ylavic [Mon, 16 Jul 2018 11:06:57 +0000 (11:06 +0000)]
core: Add ap_reuse_brigade_from_pool().

Current RETRIEVE_BRIGADE_FROM_POOL macro from "http_request.c" is turned into
a helper and used in ap_request_core_filter().

We will need it in a subsequent commit in "util_filter.c" too.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836018 13f79535-47bb-0310-9956-ffa450edef68

5 years agoutil_filter: follow up to r1835640: pending_filter_cleanup() precedence.
Yann Ylavic [Fri, 13 Jul 2018 16:04:37 +0000 (16:04 +0000)]
util_filter: follow up to r1835640: pending_filter_cleanup() precedence.

Register pending_filter_cleanup() as a normal cleanup (not pre_cleanup) so
that the pending filters are still there on pool cleanup, and f->bb is set
to NULL where needed.

Then is_pending_filter() check is moved where relevant.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1835847 13f79535-47bb-0310-9956-ffa450edef68

5 years agoevent: follow up to r1835845.
Yann Ylavic [Fri, 13 Jul 2018 15:16:37 +0000 (15:16 +0000)]
event: follow up to r1835845.

Always favor APR_POLLSET_WAKEABLE over method/implementation.
Probably more about correctness than a real issue since systems are
unlikely to implement more than one/their method...

This also makes use of pruntime for event_pollset (an oversight from r1835845).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1835846 13f79535-47bb-0310-9956-ffa450edef68