DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16493>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16493 Incorrect handling of several Cache-Control directive by mod_proxy Summary: Incorrect handling of several Cache-Control directive by mod_proxy Product: Apache httpd-1.3 Version: 1.3.27 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: mod_proxy AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] Hello, This bug is very related to the bug 16492 "mod_proxy doesn't correctly retrieve values from Cache-Control Headers", please look at it also. While trying to compare Apache 2.0's mod_cache and Apache 1.3's mod_proxy, I saw a bug in the manner Apache handles Cache-Control directives. In the proxy_cache.c file, near the line 1225, the following test : /* handle expiration */ ((-1 < smaxage && age < (smaxage - minfresh)) || (-1 < maxage && age < (maxage + maxstale - minfresh)) || (c->expire != BAD_DATE && age < (c->expire - c->date + maxstale - minfresh))) ) { is useless because it is always true, no matter if max-age is set or not. Let's take an example (I suppose here s-maxage, max-stale and min-fresh not set, so smaxage = - 1, maxstale = 0 and minfresh = 0) : - with age = 20, maxage = -1 (not set) and expire - date = 30, the second test is FALSE. The third is TRUE. So the whole test is TRUE, the page is considered to be fresh => no problem. - with age = 20, maxage = 10 and expire - date = 30, the second test is FALSE, but the third is still TRUE. So the whole test is TRUE, the page is considered to be fresh => problem !! I propose to change this like that : /* handle expiration */ (-1 == smaxage || age < (smaxage - minfresh)) && (-1 == maxage || age < (maxage + maxstale - minfresh)) && (c->expire != BAD_DATE && age < (c->expire - c->date + maxstale - minfresh)) ) { What do you think ? Same kind problem exists with the test on line 1239... I attach the patch I wrote to correct this. Thanks for looking at it and tell me if it is correct or not ! Thomas. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
