]> granicus.if.org Git - apache/commitdiff
Reorganize ap_proxy_string_read() internally to not process eos buckets.
authorChuck Murcko <chuck@apache.org>
Thu, 28 Jun 2001 12:48:57 +0000 (12:48 +0000)
committerChuck Murcko <chuck@apache.org>
Thu, 28 Jun 2001 12:48:57 +0000 (12:48 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89473 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/CHANGES
modules/proxy/proxy_util.c

index 1ec2291504ff7335fbd8be6fa9677fe9cb3f01ab..a584c19c4ed7105ddcc7f8cbdca0c2b173a2d74c 100644 (file)
@@ -1,9 +1,15 @@
 
 mod_proxy changes for httpd 2.0.18-dev
 
+  *) Reorganize ap_proxy_string_read() internally to not process eos
+     buckets.
+     [Chuck Murcko <chuck@topsail.org>]
+     [Victor Orlikowski <v.j.orlikowski@gte.net>]
+
   *) Remove result code check for FTP QUIT command. Some servers send
      nothing at all back in response to QUIT.
      [Chuck Murcko <chuck@topsail.org>]
+     [Victor Orlikowski <v.j.orlikowski@gte.net>]
 
   *) Reverse previous patch since the core reverted.
      [Chuck Murcko <chuck@topsail.org>]
@@ -130,9 +136,12 @@ mod_proxy changes for httpd 2.0.18-dev
 mod_proxy changes for 2.0.14 alpha
 
   *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
-     since we no longer directly cache from this module [Chuck Murcko]
+     since we no longer directly cache from this module
+     [Chuck Murcko <chuck@topsail.org>]
 
-  *) removed cache [Chuck Murcko]
+  *) removed cache
+     [Chuck Murcko <chuck@topsail.org>]
 
-  *) initial rerebuild for 2.0 [Chuck Murcko]
+  *) initial rerebuild for 2.0
+     [Chuck Murcko <chuck@topsail.org>]
 
index 62dd1afab054387fde4d8c175d311c4d4c2617f0..b52f874fb35fc87b79f63cb15278cf5ce8988897 100644 (file)
@@ -1110,21 +1110,22 @@ PROXY_DECLARE(apr_status_t) ap_proxy_string_read(conn_rec *c, apr_bucket_brigade
            e = APR_BRIGADE_FIRST(bb);
            if (APR_BUCKET_IS_EOS(e)) {
                *eos = 1;
-               continue;
-           }
-           if (APR_SUCCESS != apr_bucket_read(e, (const char **)&response, &len, APR_BLOCK_READ)) {
-               return rv;
-           }
+            }
+            else {
+                if (APR_SUCCESS != apr_bucket_read(e, (const char **)&response, &len, APR_BLOCK_READ)) {
+                    return rv;
+                }
            /* is string LF terminated? */
-           if (memchr(response, APR_ASCII_LF, len)) {
-               found = 1;
-           }
-           /* concat strings until buff is full - then throw the data away */
-           if (len > ((bufflen-1)-(pos-buff))) {
-               len = (bufflen-1)-(pos-buff);
-           }
-           if (len > 0) {
-               pos = apr_cpystrn(pos, response, len);
+                if (memchr(response, APR_ASCII_LF, len)) {
+                    found = 1;
+                }
+            /* concat strings until buff is full - then throw the data away */
+                if (len > ((bufflen-1)-(pos-buff))) {
+                    len = (bufflen-1)-(pos-buff);
+                }
+                if (len > 0) {
+                    pos = apr_cpystrn(pos, response, len);
+                }
            }
            APR_BUCKET_REMOVE(e);
            apr_bucket_destroy(e);