--On December 6, 2005 2:19:58 PM -0500 Brian Akins <[EMAIL PROTECTED]> wrote:

Brian Akins wrote:
Justin Erenkrantz wrote:


After a bit more of thinking, the right thing to do would be to have
mod_proxy force a dropped connection to the client.


So, do we just need to set r->connection->aborted = 1 and core will take
 care of it?  If so, a patch should be trivial.


After a quick glance through mod_http_proxy, this look to be correct:

Hmm.  Maybe I'm wrong.  That does appear how to set it.  Okie doke.

--- mod_proxy_http.c.orig       2005-12-06 12:11:19.000000000 -0500
+++ mod_proxy_http.c    2005-12-06 14:06:00.000000000 -0500
@@ -1482,6 +1482,7 @@
                      else if (rv != APR_SUCCESS) {
                          ap_log_cerror(APLOG_MARK, APLOG_ERR, rv, c,
                                        "proxy: error reading response");
+                        c->aborted = 1;
                          break;
                      }
                      /* next time try a non-blocking read */

I do think we need to fix mod_proxy_http to return an error.

Like so.  -- justin

Index: modules/proxy/mod_proxy_http.c
===================================================================
--- modules/proxy/mod_proxy_http.c      (revision 354485)
+++ modules/proxy/mod_proxy_http.c      (working copy)
@@ -1565,8 +1565,14 @@
           }
            return status;
        }
-    } else
-        return OK;
+    } else {
+        if (c->aborted) {
+            return DONE;
+        }
+        else {
+            return OK;
+        }
+    }
}

static

Reply via email to