-*- coding: utf-8 -*-
Changes with Apache 2.2.4
+ *) mod_disk_cache: Make sure that only positive integers are accepted
+ for the CacheMaxFileSize and CacheMinFileSize parameters in the
+ config file. PR39380 [Niklas Edmundsson <nikke acc.umu.se>]
+
*) mod_cache: From RFC3986 (section 6.2.3.) if a URI contains an
authority component and an empty path, the empty path is to be equivalent
to "/". It explicitly cites the following four URIs as equivalents:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_cache: From RFC3986 (section 6.2.3.) if a URI contains an
- authority component and an empty path, the empty path is to be equivalent
- to "/". It explicitly cites the following four URIs as equivalents:
- http://example.com
- http://example.com/
- http://example.com:/
- http://example.com:80/
- Trunk: http://svn.apache.org/viewvc?view=rev&revision=450063
- +1: minfrin, rpluem, jim
-
- * mod_disk_cache: Make sure that only positive integers are accepted
- for the CacheMaxFileSize and CacheMinFileSize parameters in the
- config file. PR39380
- Trunk: http://svn.apache.org/viewvc?view=rev&revision=450042
- 2.2.x: http://people.apache.org/~minfrin/mod_disk_cache-lfsconfig-2.2.patch
- +1: minfrin, jim, trawick
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
if (dobj->file_size > conf->maxfs) {
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
"cache_disk: URL %s failed the size check "
- "(%" APR_OFF_T_FMT ">%" APR_SIZE_T_FMT ")",
+ "(%" APR_OFF_T_FMT " > %" APR_OFF_T_FMT ")",
h->cache_obj->key, dobj->file_size, conf->maxfs);
/* Remove the intermediate cache file and return non-APR_SUCCESS */
file_cache_errorcleanup(dobj, r);
if (dobj->file_size < conf->minfs) {
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
"cache_disk: URL %s failed the size check "
- "(%" APR_OFF_T_FMT "<%" APR_SIZE_T_FMT ")",
+ "(%" APR_OFF_T_FMT " < %" APR_OFF_T_FMT ")",
h->cache_obj->key, dobj->file_size, conf->minfs);
/* Remove the intermediate cache file and return non-APR_SUCCESS */
file_cache_errorcleanup(dobj, r);
{
disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
&disk_cache_module);
- conf->minfs = atoi(arg);
+
+ if (apr_strtoff(&conf->minfs, arg, NULL, 0) != APR_SUCCESS ||
+ conf->minfs < 0)
+ {
+ return "CacheMinFileSize argument must be a non-negative integer representing the min size of a file to cache in bytes.";
+ }
return NULL;
}
+
static const char
*set_cache_maxfs(cmd_parms *parms, void *in_struct_ptr, const char *arg)
{
disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
&disk_cache_module);
- conf->maxfs = atoi(arg);
+ if (apr_strtoff(&conf->maxfs, arg, NULL, 0) != APR_SUCCESS ||
+ conf->maxfs < 0)
+ {
+ return "CacheMaxFileSize argument must be a non-negative integer representing the max size of a file to cache in bytes.";
+ }
return NULL;
}
apr_size_t cache_root_len;
int dirlevels; /* Number of levels of subdirectories */
int dirlength; /* Length of subdirectory names */
- apr_size_t minfs; /* minumum file size for cached files */
- apr_size_t maxfs; /* maximum file size for cached files */
+ apr_off_t minfs; /* minimum file size for cached files */
+ apr_off_t maxfs; /* maximum file size for cached files */
} disk_cache_conf;
#endif /*MOD_DISK_CACHE_H*/