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

Reply via email to