Loading CHANGES +2 −3 Changes for CHANGES: 2 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -2,9 +2,8 @@ Changes with Apache 2.3.11 *) mod_ssl: Fix a possible startup failure if multiple SSL vhosts are configured with the same ServerName and private key file. [Masahiro Matsuya <mmatsuya redhat.com>, Joe Orton] *) mod_cache: Respect s-maxage as described by RFC2616 14.9.3, which must take precedence if present. PR 35247. [Graham Leggett] *) mod_socache_dc: Make module compile by fixing some typos. PR 50735 [Mark Montague <mark catseye.org>] Loading modules/cache/cache_util.c +13 −7 Changes for modules/cache/cache_util.c: 13 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -540,8 +540,16 @@ int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, maxage_req = cache->control_in.max_age_value; } /* extract max-age from response */ /* * extract max-age from response, if both s-maxage and max-age, s-maxage * takes priority */ if (smaxage != -1) { maxage_cresp = smaxage; } else { maxage_cresp = h->cache_obj->info.control.max_age_value; } /* * if both maxage request and response, the smaller one takes priority Loading Loading @@ -585,15 +593,14 @@ int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, minfresh = 0; } /* override maxstale if must-revalidate or proxy-revalidate */ /* override maxstale if must-revalidate, proxy-revalidate or s-maxage */ if (maxstale && (h->cache_obj->info.control.must_revalidate || h->cache_obj->info.control.proxy_revalidate)) { || h->cache_obj->info.control.proxy_revalidate || smaxage != -1)) { maxstale = 0; } /* handle expiration */ if (((smaxage != -1) && (age < (smaxage - minfresh))) || ((maxage != -1) && (age < (maxage + maxstale - minfresh))) || if (((maxage != -1) && (age < (maxage + maxstale - minfresh))) || ((smaxage == -1) && (maxage == -1) && (info->expire != APR_DATE_BAD) && (age < (apr_time_sec(info->expire - info->date) + maxstale - minfresh)))) { Loading @@ -606,8 +613,7 @@ int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, apr_psprintf(r->pool, "%lu", (unsigned long)age)); /* add warning if maxstale overrode freshness calculation */ if (!(((smaxage != -1) && age < smaxage) || ((maxage != -1) && age < maxage) || if (!(((maxage != -1) && age < maxage) || (info->expire != APR_DATE_BAD && (apr_time_sec(info->expire - info->date)) > age))) { /* make sure we don't stomp on a previous warning */ Loading Loading
CHANGES +2 −3 Changes for CHANGES: 2 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -2,9 +2,8 @@ Changes with Apache 2.3.11 *) mod_ssl: Fix a possible startup failure if multiple SSL vhosts are configured with the same ServerName and private key file. [Masahiro Matsuya <mmatsuya redhat.com>, Joe Orton] *) mod_cache: Respect s-maxage as described by RFC2616 14.9.3, which must take precedence if present. PR 35247. [Graham Leggett] *) mod_socache_dc: Make module compile by fixing some typos. PR 50735 [Mark Montague <mark catseye.org>] Loading
modules/cache/cache_util.c +13 −7 Changes for modules/cache/cache_util.c: 13 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -540,8 +540,16 @@ int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, maxage_req = cache->control_in.max_age_value; } /* extract max-age from response */ /* * extract max-age from response, if both s-maxage and max-age, s-maxage * takes priority */ if (smaxage != -1) { maxage_cresp = smaxage; } else { maxage_cresp = h->cache_obj->info.control.max_age_value; } /* * if both maxage request and response, the smaller one takes priority Loading Loading @@ -585,15 +593,14 @@ int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, minfresh = 0; } /* override maxstale if must-revalidate or proxy-revalidate */ /* override maxstale if must-revalidate, proxy-revalidate or s-maxage */ if (maxstale && (h->cache_obj->info.control.must_revalidate || h->cache_obj->info.control.proxy_revalidate)) { || h->cache_obj->info.control.proxy_revalidate || smaxage != -1)) { maxstale = 0; } /* handle expiration */ if (((smaxage != -1) && (age < (smaxage - minfresh))) || ((maxage != -1) && (age < (maxage + maxstale - minfresh))) || if (((maxage != -1) && (age < (maxage + maxstale - minfresh))) || ((smaxage == -1) && (maxage == -1) && (info->expire != APR_DATE_BAD) && (age < (apr_time_sec(info->expire - info->date) + maxstale - minfresh)))) { Loading @@ -606,8 +613,7 @@ int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, apr_psprintf(r->pool, "%lu", (unsigned long)age)); /* add warning if maxstale overrode freshness calculation */ if (!(((smaxage != -1) && age < smaxage) || ((maxage != -1) && age < maxage) || if (!(((maxage != -1) && age < maxage) || (info->expire != APR_DATE_BAD && (apr_time_sec(info->expire - info->date)) > age))) { /* make sure we don't stomp on a previous warning */ Loading