--On Tuesday, September 21, 2004 3:48 PM -0700 Michael Corcoran
<mcorcoran@warpsolutions.com> wrote:
> I've been trying to find a solution to a problem that mod_cache has with
> handling Etag's properly. I'm working with Apache 2.0.51. Below is a
> diff to ./server/util_script.c that seems to fix the problem...
FWIW, I committed some changes to mod_cache earlier this afternoon (about 10
minutes after you sent this email, actually) that fix this by not depending
upon ap_scan_script_header_err(). Using ap_scan_script_header_err() was just
wrong for mod_cache as it has these types of goofy side effects. Now,
everything goes into r->headers_out not r->err_headers_out.
So, I'd recommend trying a httpd 2.0 HEAD snapshot.
> function sticks the Etag value in the r->err_headers_out table. Then,
> mod_cache later calls ap_meets_conditions() which expects to find an
> Etag value in r->headers_out.
I will comment that it's possible ap_meets_conditions() should look in
r->err_headers_out. But, I'm not completely sure if that's right either.
Regardless, please try out the latest CVS and see if it is fixed. It may get
merged back to APACHE_2_0_BRANCH and into 2.0.52, but I'd like confirmation
that what we have now fixes these types of problems before starting the
backport process. -- justin
|