default provider name, to allow consumers to use a default provider
if not configured otherwise.
* modules/cache/mod_socache_shmcb.c (register_hooks): Register shmcb
as the default provider.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@724723 13f79535-47bb-0310-9956-ffa450edef68
default paths to be used if none are configured:
* include/ap_socache.h (ap_socache_provider_t::create):
Allow arg to be NULL to force use of defaults.
(ap_socache_provider_t::init): Rename 'namespace' parameter to
'cname' and restrict to allow use in filesystem paths.
* modules/cache/mod_socache_dbm.c (socache_dbm_create,
socache_dbm_init),
modules/cache/mod_socache_shmcb.c (socache_shmcb_create,
socache_shmcb_init):
Default to use of runtimedir-relative paths if no
explicit path is configured.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@724682 13f79535-47bb-0310-9956-ffa450edef68
(socache_dbm_init) Use AP_NEED_SET_MUTEX_PERMS to determine when we need to
set the file permissions on the created DBM files, rather than listing
a hodgepodge of operating systems by hand.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@708067 13f79535-47bb-0310-9956-ffa450edef68
of these cache_* functions, but in declaring them
exported in the first place. _hash, _pqueue and cache_cache
are undecorated and were erroniously exported.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664142 13f79535-47bb-0310-9956-ffa450edef68
from mod_cache by mod_mem_cache. The duplicate cache_util
import is a dead giveaway that this was broken.
In order to backport, an MMN bump would be required because
these cache_pqueue, cache_cache and cache_hash exported
functions would be added to the "contract" of functions
which are available from mod_cache for third party cache
providers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664136 13f79535-47bb-0310-9956-ffa450edef68
the hop-by-hop rules of rfc 2616 along with the entity response
rules. To make sure that they stay in sync; and to make it easier
to add (http) caching modules - this change moves them all into
one place (cache_util) and exposes a in-bound and out-bound
version to operate on the headers.
In short: we retire ap_cache_cacheable_hdrs_out() which was used
for both in- and out-put headers; and replace it by a single
ap_cache_cacheable_headers() which understands the hop-by-hop
rules. And then wrap this into an in- and out-put specific
ap_cache_cacheable_headers_in()/out() which we can teach things
about entity responses and so on.. The latter which will also
merge error and ensure content-type.
This API change bumps up the minor MM by one.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@649162 13f79535-47bb-0310-9956-ffa450edef68
for memcache:
* modules/cache/ap_socache.h (struct ap_socache_hints): New structure.
Change init callback to take namespace string and hints structure pointer.
* modules/cache/mod_socache_dc.c (socache_dc_init): Adjust accordingly.
* modules/cache/mod_socache_dbm.c (struct ap_socache_instance_t): Rename
timeout field to expiry_interval.
(socache_dbm_init, socache_dbm_create): Take expiry interval from
hints rather than hard-code to 30.
(socache_dbm_expire): Update for timeout field rename.
* modules/cache/mod_socache_shmcb.c (socache_shmcb_init): Adjust for
hints and namespace; adjust subcache index sizing heuristics to use
passed-in hints.
* modules/cache/mod_socache_memcache.c (struct ap_socache_instance_t):
Add tag, taglen fields.
(socache_mc_init): Store the passed-in namespace in instance
structure.
(mc_session_id2sz): Adjust to not take context, use configured
tag as string prefix, and not use a return value.
(socache_mc_store, socache_mc_retrieve, socache_mc_remove):
Adjust for mc_session_id2sz interface changes.
* modules/ssl/ssl_scache.c (ssl_scache_init): Pass namespace and hints
to socache provider init function.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@645978 13f79535-47bb-0310-9956-ffa450edef68
Adjust the provider interface to use this instance type throughout.
* modules/cache/mod_socache_dbm.c,
modules/cache/mod_socache_memcache.c,
modules/cache/mod_socache_shmcb.c,
modules/cache/mod_socache_dc.c: Adjust all implementations to
define the instance object in place of the "struct context", and
to take this object directly in the provider interface.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@645924 13f79535-47bb-0310-9956-ffa450edef68
Abstract out the mod_ssl session caching interface into a separate set
of modules, mod_socache_*.
* modules/cache/ap_socache.h: New file.
* modules/cache/config.m4: Copy CHECK_DISTCACHE from ../ssl/config.m4;
add new socache modules.
* modules/cache/mod_socache_dbm.c: Copied from ../ssl/ssl_scache_dbm.c.
s/ssl_scache_/socache_/; add module structure and register_hooks.
* modules/cache/mod_socache_shmcb.c: Copied from ../ssl/ssl_scache_shmcb.c.
s/ssl_scache_/socache_/; add module structure and register_hooks.
Add SHMCB_MAX_SIZE definition, replacing APR_SHM_MAXSIZE.
* modules/cache/mod_socache_memcache.c: Copied from
../ssl/ssl_scache_memcache.c.
s/ssl_scache_/socache_/; add module structure and register_hooks.
Enable for APR-Util 1.3.x at compile-time, omitting configure-time
checks.
* modules/cache/mod_socache_dc.c: Copied from ../ssl/ssl_scache_dc.c.
s/ssl_scache_/socache_/; add module structure and register_hooks.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@645844 13f79535-47bb-0310-9956-ffa450edef68
a cache entity: If we get 304 the Range does not matter and otherwise the
entity changed and we want to have the complete entity.
PR: 44579
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@636653 13f79535-47bb-0310-9956-ffa450edef68
and file cache that is).
This makes the delta between 'all' and 'most'
mod_cern_meta.c
mod_log_forensic.c
mod_mime_magic.c
mod_unique_id.c
mod_usertrack.c
mod_version.c
mod_mem_cache.c
And keeps disabled in all and most the modules for:
authnz_ldap
bucketeer
echo
example_hooks
case_filter
case_filter_in
example_ipc
charset_lite
cgid
ldap
optional_hook_export
optional_hook_import
optional_fn_import
optional_fn_export
As well as mod_ssl which is intentionally not part of MOST and All.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@620530 13f79535-47bb-0310-9956-ffa450edef68
PR 38699, 39518, 42005, 42006, 42007, 42008, 42009
The patches are all his, and are sufficiently trivial to review
at a glance.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@557837 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/mod_cache.c
(cache_save_filter): Properly handle HEAD responses when we have a stale handle.
(This patch was revised by Justin/Ruediger.)
Submitted by: Niklas Edmundsson
Reviewed by: Justin, Ruediger
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@539620 13f79535-47bb-0310-9956-ffa450edef68
representation if Expires is not set.
* modules/cache/mod_cache.c
(cache_save_filter): If Cache-Control max-age is set and Expires isn't,
let that value control our expiration.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@539063 13f79535-47bb-0310-9956-ffa450edef68
freshness tests which will attempt to revalidate the content.
* modules/cache/mod_disk_cache.c
(open_entity): If the root Vary index is stale, we don't need to throw away
potentially stale content - we can try to refresh it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@539054 13f79535-47bb-0310-9956-ffa450edef68