possible XSS for a site where untrusted users can upload files to
a location with MultiViews enabled. [Niels Heinen <heinenn google.com>]
+ *) mod_proxy_ajp: Reduce memory usage in case of many keep-alive requests on
+ one connection. PR 52275. [Naohiro Ooiwa <naohiro ooiwa miraclelinux com>]
+
*) mod_proxy_balancer: Restore balancing after a failed worker has
recovered when using lbmethod_bybusyness. PR 48735. [Jeff Trawick]
2.4.x patch: Trunk patch applies.
+1: rjung, sf, jim
- * proxy_ajp: Use short lived pool to avoid memory leaks.
- Remove the comment about binding upstream and downstream connections. It
- seems to be obsolete since r104604, r104605, r105108.
- Also avoid allocating memory if we are not handling the connection.
- PR 52275, submitted by Naohiro Ooiwa <naohiro ooiwa miraclelinux com>,
- Stefan Fritsch.
- trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1334343
- 2.4.x patch: Trunk patch applies.
- +1: rjung, sf, jim
-
* headers: ap_str(case)cmp_match returns the opposite of what is advertized
in the header.
trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1366319
int retry;
proxy_dir_conf *dconf = ap_get_module_config(r->per_dir_config,
&proxy_module);
-
- /*
- * Note: Memory pool allocation.
- * A downstream keepalive connection is always connected to the existence
- * (or not) of an upstream keepalive connection. If this is not done then
- * load balancing against multiple backend servers breaks (one backend
- * server ends up taking 100% of the load), and the risk is run of
- * downstream keepalive connections being kept open unnecessarily. This
- * keeps webservers busy and ties up resources.
- *
- * As a result, we allocate all sockets out of the upstream connection
- * pool, and when we want to reuse a socket, we check first whether the
- * connection ID of the current upstream connection is the same as that
- * of the connection when the socket was opened.
- */
- apr_pool_t *p = r->connection->pool;
- apr_uri_t *uri = apr_palloc(r->connection->pool, sizeof(*uri));
-
+ apr_pool_t *p = r->pool;
+ apr_uri_t *uri;
if (strncasecmp(url, "ajp:", 4) != 0) {
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00894) "declining URL %s", url);
return DECLINED;
}
+
+ uri = apr_palloc(p, sizeof(*uri));
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00895) "serving URL %s", url);
/* create space for state information */