I've written a patch that seems to address the problem.

I just wanted others to have the option to apply it.  I think it's
ridiculous to have to break apache, an RFC compliant server to be able
to view a website.  But what am I going to do about it? :)  The truth is
the patch should remove ANY entity-header variable.  But I only chose to
deal with the Content-Length variable in the short term.

Comments are welcome as always.

Enjoy,

Geff

On Mon, 2002-08-12 at 11:47, Graham Leggett wrote:
> Geff wrote:
> 
> > I'd also like to say that this issue doesn't just affect the 'no-cache'
> > case but it also seems to affect the case when the cache decides it
> > needs to revalidate a resource with the original server.  The 'no-cache'
> > method is just a convenient way to demonstrate the problem and force the
> > cache to try to revalidate the resource.
> 
>  From what I understand this is caused by some buggy versions of IIS v5 
> which send Content-Length: 0 along with 304 responses.
> 
> Regards,
> Graham
> -- 
> -----------------------------------------
> [EMAIL PROTECTED] 
>       "There's a moon
>                                       over Bourbon Street
>                                               tonight..."
> 




*** /home/boing/apache_1.3.26/src/modules/proxy/proxy_cache.c	Mon Aug 12 17:20:58 2002
--- proxy_cache.c	Mon Aug 12 17:43:03 2002
***************
*** 1519,1524 ****
--- 1519,1530 ----
          ap_log_error(APLOG_MARK, APLOG_DEBUG | APLOG_NOERRNO, r->server, "Expiry date calculated %ld", (long)expc);
      }
  
+ /* Accommodate BUSTED IIS servers.  Microsoft can't seem to pay attention to RFC 2616.
+  * When sending a response of code 304 (HTTP_NOT_MODIFIED) you cannot send any 
+  * entity-header variables.  This patch deletes only the Content-Length variable. */
+     if (r->status == HTTP_NOT_MODIFIED) {
+         ap_table_unset(resp_hdrs,"Content-Length");
+     }
  /* get the content-length header */
      clen = ap_table_get(resp_hdrs, "Content-Length");
      if (clen == NULL)

Reply via email to