Hello,

A minor issue in the age calculation in mod_cache [ap_cache_current_age() in
cache_util.c] is found.

In some unusual conditions, the age of cached content can be calculated as
negative value.
The negative age value will be casted into a huge unsigned integer later,
and then the inappropriate Age header e.g. "Age: 4294963617" (= more than
135 years) may be returned to the client.

In my opinion, the negative age should be adjusted to zero, at least.
What are your thoughts?

By the way, the condition to trigger this issue is, for example, the system
time is rewound after the creation of cache entry, such that the
request/response time recorded in the cache entry would tell the future
time.
Or this may be more likely to happen if disk cache is deployed with shared
disk storage, and system times are not synchronized well.

Regards,
Shibuya

Reply via email to