Can we get a vote on this? Jim gave it +1. So do I. I would like this
to be in a beta "release." This fix is important to our environment.
[EMAIL PROTECTED] wrote:
Jim Jagielski wrote:
Sorry :)
Thanks. So I guess this should be fine:
Index: mod_proxy.c
===================================================================
--- mod_proxy.c (Revision 280422)
+++ mod_proxy.c (Arbeitskopie)
@@ -679,8 +679,22 @@
char *url = uri;
/* Try to obtain the most suitable worker */
access_status = ap_proxy_pre_request(&worker, &balancer, r, conf,
&url);
- if (access_status != OK)
- return access_status;
+ if (access_status != OK) {
+ /*
+ * Only return if access_status is not HTTP_SERVICE_UNAVAILABLE
+ * This gives other modules the chance to hook into the
+ * request_status hook and decide what to do in this situation.
+ */
+ if (access_status != HTTP_SERVICE_UNAVAILABLE)
+ return access_status;
+ /*
+ * Ensure that balancer is NULL if worker is NULL to prevent
+ * potential problems in the post_request hook.
+ */
+ if (!worker)
+ balancer = NULL;
+ goto cleanup;
+ }
if (balancer && balancer->max_attempts_set && !max_attempts)
max_attempts = balancer->max_attempts;
/* firstly, try a proxy, unless a NoProxy directive is active */
[..cut..]
--
Brian Akins
Lead Systems Engineer
CNN Internet Technologies