You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Mike Clarkson <ne...@mail.nurinet.com> on 1998/09/10 10:09:04 UTC

mod_proxy/2983: Cache overzealous in deleting files

>Number:         2983
>Category:       mod_proxy
>Synopsis:       Cache overzealous in deleting files
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Thu Sep 10 01:10:01 PDT 1998
>Last-Modified:
>Originator:     net@mail.nurinet.com
>Organization:
apache
>Release:        1.3.1
>Environment:
All	
>Description:
At line 838 of modules/proxy/proxy_cache.c is says:

 * what responses should we not cache?
 * Unknown status responses and those known to be uncacheable
 * 304 response when we have no valid cache file, or
 * 200 response from HTTP/1.0 and up without a Last-Modified header, or
 * HEAD requests, or
 * requests with an Authorization header, or
 * protocol requests nocache (e.g. ftp with user/password)
 */
    if ((r->status != 200 && r->status != 301 && r->status != 304) ||
        (expire != NULL && expc == BAD_DATE) ||
        (r->status == 304 && c->fp == NULL) ||
        (r->status == 200 && lmods == NULL && is_HTTP1) ||

which deletes (after caching) files which don't have a last-modified
header. But assuming the current time for the last modified time is a 
totally safe assumption as far as a cache client is concerned.

Isn't the code being overzealous here? Shouldn't it just assume that 
the last modified time is the time at which the file was cached?


safe assumption
>How-To-Repeat:
Try it.
>Fix:
Use the Source!
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]
[If you do not include this Cc, your reply may be ig-   ]
[nored unless you are responding to an explicit request ]
[from a developer.                                      ]
[Reply only with text; DO NOT SEND ATTACHMENTS!         ]