Checkout Tools
  • last updated 2 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Backport a part of r1722328 that have been missed when backported in 2.4.x in r1744951

This is only some extra spaces used for alignment

Merge r1864699 from trunk:


  1. … 2 more files in changeset.
Merge of r1864191 from trunk:

*) core, proxy: remove request URL and headers from error docs

[Eric Covener]

  1. … 6 more files in changeset.
mod_proxy_http: forward 100-continue, and minimize race conditions when

reusing backend connections. PR 60330.

+1: ylavic, icing, jim

ylavic: plus (opt-out)

2.4.x patch:

+1: ylavic, jim, minfrin

  1. … 10 more files in changeset.
mod_proxy: Improve the balancer member data shown

in mod_status when "ProxyStatus" is "On":

add "busy" count to html mode.

Backport of remaining parts of r1837588 from trunk

(only html mode changes, auto parts were already


Submitted by: rjung

Reviewed by: rjung, jim, ylavic

  1. … 2 more files in changeset.
mod_proxy: Improve the balancer member data shown

in mod_status when "ProxyStatus" is "On":

add "busy" count to auto mode and show byte counts

in auto mode always in units of kilobytes.

Partial backport of r1837588 from trunk

(only auto mode changes, html parts not yet


Submitted by: rjung

Reviewed by: rjung, jim, ylavic

  1. … 3 more files in changeset.
Merge r1827362, r1828926, r1828927, r1829557, r1829573, r1829645, r1829657 from trunk:

core: ap_getline_core() reads nothing for n == 0.

PR62199: add worker parameter ResponseFieldSize to mod_proxy

Submitted By: Hank Ibell

Committed By: covener

add log id for r1828926

core: Add and handle AP_GETLINE_NOSPC_EOL flag in ap_rgetline_core().

This tells the ap_getline() family of functions to consume the end of line

when the buffer is exhausted.

PR 62198.

mod_proxy_http: make use of AP_GETLINE_NOSPC_EOL in ap_proxygetline().

Fixes response header thrown away after the previous one was considered too

large and truncated.

PR 62196.

core: forward flags to recursive/folding call to ap_rgetline_core().

We still need them when folding, other than AP_GETLINE_FOLD itself of course.

mod_proxy_http: follow up to r1829573: remain EBCDIC friendly.

Keep using ap_rgetline() as before r1829573, since ap_rgetline_core() is

EBCDIC agnostic.

Submitted by: ylavic, covener, covener, ylavic, ylavic, ylavic, ylavic

Reviewed by: ylavic, covener, rpluem

  1. … 8 more files in changeset.
Merge r1828890, r1832500 from trunk:

mod_proxy_balancer: Add hot spare member type and corresponding flag (R). Hot spare members are

used as drop-in replacements for unusable workers in the same load balancer set. This differs

from hot standbys which are only used when all workers in a set are unusable. PR 61140.

mod_proxy_balancer: follow up to r1828890: indentation and 80 col.

Submitted by: jhriggs, ylavic

Reviewed by: jhriggs, jim, ylavic

  1. … 11 more files in changeset.
Merge r1824176, r1824460, r1824482 from trunk:

mod_proxy: Provide an RFC1035 compliant version of the hostname in the

proxy_worker_shared structure. PR62085

Tone down the message that worker hostname is too long noting it only

affects legacy modules not yet using hostname_ex.

Set the notice when hostname is too long for legacy proxy modules to info level.

Submitted by: minfrin

Reviewed by: minfrin, jim, ylavic

  1. … 10 more files in changeset.
Merge r1667707, r1824332 from trunk:

* mod_proxy: Allow setting options to globally defined balancer from

ProxyPass used in VirtualHost. Balancers are now merged using the new

merge_balancers method which merges the balancers options.

mod_proxy: follow up to r1667707: MMN minor bump.

Submitted by: jkaluza, ylavic

Reviewed by: icing, jim, ylavic

  1. … 4 more files in changeset.
  1. … 30 more files in changeset.
Merge r1805195, r1812004 from trunk:

Update offsets

Entry for 2.4.28 regression (r1808855 missing r1805195).

Submitted by: jim, ylavic

Reviewed/backported by: ylavic (CTR per miss in the original merge)

  1. … 3 more files in changeset.
Merge r1805188, r1805190, r1805206, r1808723 from trunk:

loadfactor now decimal

Umm. This is C :)

Fix remaining lint from ms capability for hchecks.

format typo

Reviewed by: jim, humbedooh, ylavic

  1. … 8 more files in changeset.
Merge r1745039 from trunk:

include the scheme in the error message about missing a

mod_proxy_submodule (mod_proxy_$usually_a_scheme)

Submitted by: covener

Reviewed by: jim, ylavic, icing

  1. … 2 more files in changeset.
Merge 1805099 from trunk:

Fix ProxyAddHeaders merging.

* modules/proxy/mod_proxy.h:

Add add_forwarded_headers_set field to proxy_dir_conf.

* modules/proxy/mod_proxy.c (create_proxy_dir_config):

Initialize add_forwarded_headers_set.

(add_proxy_http_headers): Set it.

(merge_proxy_dir_config): Merge add_forwarded_headers correctly.

Reviewed by: jorton, rpluem, jim

  1. … 3 more files in changeset.
Merge from trunk:

Add upgrade parameter to mod_proxy_wstunnel.

That allows to upgrade to jboss-remoting for example

or to run an HTTP/1.1 backend that needs to upgrade to


See also:

whitespace only

Submitted By: jfclere

Reviewed By: covener, jim, ylavic

  1. … 8 more files in changeset.
Merge r1781324, r1781328 from trunk:

revert r1780909 and r1773397 ProxyPass ! perdir

r1773397 had a regression and the whole thing is fishy

to shoehorn the current ProxyPass ! syntax into.

add no-proxy envvar for mod_proxy

replacement for ProxyPass /path ! when ProxyPass is in

location context.

Submitted by: covener

Reviewed by: covener, jim, jorton

  1. … 6 more files in changeset.
Merge r1773397 from trunk:

ProxyPass ! doesn't block per-directory ProxyPass

*) mod_proxy: Honor a server scoped ProxyPass exception when ProxyPass is

configured in <Location>, like in 2.2. PR 60458.

[Eric Covener]

Submitted by: covener

Reviewed/backported by: jim

  1. … 3 more files in changeset.
Merge r1762517 from trunk:

mod_proxy: log diagnostics during ProxyPass[Match]

To help out users when debugging ProxyPass and ProxyPassMatch, log all

match attempts (at trace2), as well as matches that are either

successful or explicitly disabled (at trace1).

Submitted by: jchampion

Reviewed/backported by: jim

  1. … 2 more files in changeset.
Merge r1753592 from trunk:

* Do not overwrite r->status with access_status if access_status is OK or DONE

as in this case r->status might contain the true response code.

PR: 59869

Submitted by: rpluem

Reviewed by: rpluem, jim, ylavic

  1. … 3 more files in changeset.
Merge r1722177, r1722195, r1722229, r1722320, r1722328, r1722334, r1722350, r1722351, r1722358, r1722377, r1723953, r1724879, r1724992, r1724993, r1724995, r1725018, r1725031, r1725120, r1725328, r1725387, r1725489, r1725498, r1725499, r1725523, r1725545, r1725567, r1725581, r1725602, r1725822, r1725967, r1726038, r1726049, r1726051, r1726052, r1726055, r1725090, r1728326, r1737020 from trunk:

Commit framework impl of health-check module plus

required changes. The actual health checking is

currently in progress, but wanted to add in at

this stage.

Make aware of new status: Failed Health Check.

Store the number of current passes/fails in shm

finish looping logic... place-holder for actual checking

Better check

move to per server conf, useful for adding HealthCheckCondition

Now implement the condition ruleset definition. The

actual checking will be done in the actual health check


just check watched servers... use 'hc' prefix for sub directives

Check that we have names for both templates and


command changes

Don't bother w/ methods that return bodies. We don't

handle them now anyway.

Use enums and structs to keep things better organized

1st cut of 'simple' tcp check... We reuse various proxy

function and so this *could* be more streamlined, but

use this to show how the other would work, since we need

brigades, SSL/TLS support, etc.

Since every check needs this, do this in the main

check loop. Allows some optimizations.

move scope

pull this out... large enough for a func

Move to a set of health check workers, mapping to

each worker itself, instead of a single reused generic


some ordering optimization

Make balancer manager health-check aware

And we now allow for health checks via OPTIONS *

Leverage the OPTIONS code for HEAD as well...

So we now support: TCP, OPTIONS and HEAD.

Right now, anything other than an error (even a 404)

is consider a PASS.

Fill in APLOGNO.

I hope that doesn't result in merge trouble

for Jim.

Open up hook/scar to allow for passes/fails and

method to be changed via bal-man...

OPTIONS/HEAD proxy function should be diff from simple TCP check

For OPTIONS and HEAD, only 2xx and 3xx are considered "passing"

(until I implement the conditions expr testing)... honor

the pass/fail count and LOG_INFO when the health check enables

or disables a backend worker.

Start impl of expr conditions for runtime checks

Adjust log levels

correct error string

Use worker status character defines taken

from mod_proxy.h instead of explicit characters.

Noted by rpluem.

With the updated ap_expr, we can now check for the

returned response body, stored in kept_body

Assign log message tags

Implement expr lookup in mod_proxy_hcheck for

variables whose names start with "HC_" and for

the new function hc().

Currently only HC_BODY and hc(body) are supported.

Both return the saved body of the health check

response to be used in an expr that decides about

success of a check.

Fix copy&paste error in new function.

Try fixing new proxy_hcheck expr extension.

Interestingly mod_ssl using NULL as well,

but some other module I wrote uses parms->name.


clash :)

Enabling a worker via health-check also moves them out of

ERROR more (which may have been set via the static

"health" check done via mod_proxy).

Some flow improvements...

Submitted by: jim, rjung, jim, jim, jim, jim, jim, jim, rjung, jim, jim, rjung, rjung, rjung, jim, jim, olegk, jim, jim

Reviewed/backported by: jim

  1. … 350 more files in changeset.
Merge r1725485 from trunk:

Added many log numbers to log statements that

had none.

Those were not detected by the coccinelle script.

Submitted by: rjung

Reviewed/backported by: jim

  1. … 34 more files in changeset.
Add APLOGNO, first chunk (those that were

detected by coccinelle).

There are some more but they are easier to

backport once these here are applied.

Backport of r1725392, r1725394, r1725395

and r1725468 from trunk.

Submitted by: rjung

Reviewed by: jim, ylavic

  1. … 38 more files in changeset.
Merge r1722137 from trunk:

Don't allow bad value to be updated

Reviewed/backported by: jim

  1. … 2 more files in changeset.
Fix typo in comment
Merge r1597352 from trunk:

* Give ap_proxy_post_request as chance to act correctly on the status code

by setting r->status temporarily to access_status. r->status might be

different than access_status e.g. r->status could be HTTP_OK if e.g. we

override the error page on the proxy or if the error was not generated

by the backend itself but by the proxy e.g. a bad gateway.

Submitted by: rpluem

Reviewed/backported by: jim

  1. … 2 more files in changeset.
Merge r1681694, r1682907 from trunk:

mod_proxy: Don't put the worker in error state for 500 or 503 errors

returned by the backend unless failonstatus is configured to. PR 56925.

mod_proxy: follow up to r1681694.

Handle the proxy-error-override note also in mod_proxy_ajp.

The note is not needed in mod_proxy_fcgi (which also handles

ProxyErrorOverride) since it calls ap_die() by itself, and always

returns OK to proxy_handler().

Add a comment about the note where used.

Submitted by: ylavic

Reviewed/backported by: jim

  1. … 5 more files in changeset.
core, modules: Avoid error response/document handling by the core if some

handler or input filter already did it while reading the request (causing

a double response body).

Submitted by: ylavic

Backports: r1482522 (partial, ap_map_http_request_error() things only!),

r1529988, r1529991, r1643537, r1643543, r1657897, r1665625,

r1665721, r1674056

Reviewed by: ylavic, minfrin, wrowe

  1. … 26 more files in changeset.
Merge r1671397, r1672466, r1672564 from trunk:

Add output for "?auto" version of server-status

to proxy status, mod_ssl session cache info,

mod_cache_socache and the status hook of the

individual socache implementations.

Followon to r1671397 for proxy server-status

in auto mode:

- don't show HTML legend

- Show correct worker name

More followon to r1671397 for proxy server-status

in auto mode:

- remove remaining HTML markup

Submitted by: rjung

Reviewed/backported by: jim

  1. … 8 more files in changeset.
Merge the following revisions from trunk:

trunk patch: (rewrite+UDS) ('using default worker' msg tweak) (tcp reuse) (uds reuse) (uds reuse fix)

+ 1 additional de_socketfy call in mod_proxy

  1. … 9 more files in changeset.