[users@httpd] Error in bucket read - httpd 2.2 + mod_proxy_html (Fixed! w/patch)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey Folks,

We believe we've found a bug in mod_proxy_html 2.5.2 that causes an
"Error in bucket read".  A patch is attached with verbose comments.

- Ryan
--- proxy_old/mod_proxy_html.c	2006-07-27 11:20:15.000000000 -0500
+++ proxy/mod_proxy_html.c	2006-07-27 11:22:09.000000000 -0500
@@ -858,7 +858,19 @@
         htmlParseChunk(ctxt->parser, buf, bytes, 0) ;
       }
     } else {
-      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Error in bucket read") ;
+	  /* 
+	   * This is to fix the double comparison above, causing random "bucket
+	   * read failed" errors.  This case was not checked before asserting that 
+	   * there was an error.  If we hit this else, either there was an error in,
+	   * the read, or this bucket was a metadata bucket.  If it was metadata, 
+	   * it must be a FLUSH bucket, since we already checked for EOS above.  
+	   * So, if it is not a FLUSH, then it was actually a read error.
+       */
+      if (! APR_BUCKET_IS_METADATA(b)) {
+	    ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Error in bucket read");
+      } else if (! APR_BUCKET_IS_FLUSH(b)) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Unknown bucket type - ignoring.");
+      } 
     }
   }
   /*ap_fflush(ctxt->f->next, ctxt->bb) ;        // uncomment for debug */

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux