44 #define APR_WANT_STRFUNC
64 #ifdef HAVE_SYS_SOCKET_H
65 #include <sys/socket.h>
68 #ifdef HAVE_NETINET_IN_H
69 #include <netinet/in.h>
72 #ifdef HAVE_ARPA_INET_H
73 #include <arpa/inet.h>
79 #define MAX(a,b) ((a) > (b) ? (a) : (b))
82 #define MIN(a,b) ((a) < (b) ? (a) : (b))
85 #define MSEC_ONE_DAY ((apr_time_t)(86400*APR_USEC_PER_SEC))
86 #define MSEC_ONE_HR ((apr_time_t)(3600*APR_USEC_PER_SEC))
87 #define MSEC_ONE_MIN ((apr_time_t)(60*APR_USEC_PER_SEC))
88 #define MSEC_ONE_SEC ((apr_time_t)(APR_USEC_PER_SEC))
90 #define DEFAULT_CACHE_MAXEXPIRE MSEC_ONE_DAY
91 #define DEFAULT_CACHE_MINEXPIRE 0
92 #define DEFAULT_CACHE_EXPIRE MSEC_ONE_HR
93 #define DEFAULT_CACHE_LMFACTOR (0.1)
94 #define DEFAULT_CACHE_MAXAGE 5
95 #define DEFAULT_X_CACHE 0
96 #define DEFAULT_X_CACHE_DETAIL 0
97 #define DEFAULT_CACHE_STALE_ON_ERROR 1
98 #define DEFAULT_CACHE_LOCKPATH "mod_cache-lock"
99 #define CACHE_LOCKNAME_KEY "mod_cache-lockname"
100 #define CACHE_LOCKFILE_KEY "mod_cache-lockfile"
101 #define CACHE_CTX_KEY "mod_cache-ctx"
140 #define CACHE_IGNORE_HEADERS_SET 1
141 #define CACHE_IGNORE_HEADERS_UNSET 0
144 #define CACHE_IGNORE_SESSION_ID_SET 1
145 #define CACHE_IGNORE_SESSION_ID_UNSET 0
Symbol export macros and hook functions.
APR Platform Definitions.
APR-UTIL Buckets/Bucket Brigades.
APR general purpose library routines.
APR-UTIL registration of functions exported by modules.
APR Standard Headers Support.
cache_provider_list * cache_get_providers(request_rec *r, cache_server_conf *conf)
const char * cache_table_getm(apr_pool_t *p, const apr_table_t *t, const char *key)
int ap_cache_check_no_cache(cache_request_rec *cache, request_rec *r)
apr_status_t cache_remove_lock(cache_server_conf *conf, cache_request_rec *cache, request_rec *r, apr_bucket_brigade *bb)
apr_table_t * cache_merge_headers_out(request_rec *r)
int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, request_rec *r)
apr_status_t cache_strqtok(char *str, char **token, char **arg, char **last)
int ap_cache_check_no_store(cache_request_rec *cache, request_rec *r)
int cache_use_early_url(request_rec *r)
apr_status_t cache_try_lock(cache_server_conf *conf, cache_request_rec *cache, request_rec *r)
request_rec * r
Definition: mod_dav.h:518
dav_buffer const char * str
Definition: mod_dav.h:465
apr_bucket_brigade * bb
Definition: mod_dav.h:555
proxy_worker proxy_server_conf * conf
Definition: mod_proxy.h:657
int apr_status_t
Definition: apr_errno.h:44
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
struct apr_table_t apr_table_t
Definition: apr_tables.h:56
apr_int64_t apr_time_t
Definition: apr_time.h:45
Apache connection library.
Main include file for the Apache Transparent Cache.
The representation of a filter chain.
Definition: util_filter.h:278
Definition: apr_buckets.h:263
Definition: cache_common.h:30
Definition: cache_util.h:158
unsigned int store_nostore_set
Definition: cache_util.h:194
unsigned int maxex_set
Definition: cache_util.h:185
apr_array_header_t * cacheenable
Definition: cache_util.h:168
unsigned int store_private
Definition: cache_util.h:181
unsigned int store_private_set
Definition: cache_util.h:193
unsigned int no_last_mod_ignore
Definition: cache_util.h:177
unsigned int store_expired
Definition: cache_util.h:179
unsigned int defex_set
Definition: cache_util.h:186
unsigned int factor_set
Definition: cache_util.h:187
unsigned int store_nostore
Definition: cache_util.h:183
unsigned int enable_set
Definition: cache_util.h:195
unsigned int store_expired_set
Definition: cache_util.h:192
unsigned int minex_set
Definition: cache_util.h:184
unsigned int stale_on_error_set
Definition: cache_util.h:190
unsigned int stale_on_error
Definition: cache_util.h:175
double factor
Definition: cache_util.h:166
unsigned int disable_set
Definition: cache_util.h:196
apr_time_t defex
Definition: cache_util.h:164
apr_time_t maxex
Definition: cache_util.h:162
unsigned int no_last_mod_ignore_set
Definition: cache_util.h:191
unsigned int x_cache_detail
Definition: cache_util.h:173
unsigned int x_cache
Definition: cache_util.h:172
unsigned int x_cache_detail_set
Definition: cache_util.h:189
apr_time_t minex
Definition: cache_util.h:160
unsigned int x_cache_set
Definition: cache_util.h:188
unsigned int disable
Definition: cache_util.h:170
Definition: cache_util.h:113
apr_uri_t url
Definition: cache_util.h:114
apr_size_t pathlen
Definition: cache_util.h:115
Definition: cache_util.h:107
apr_uri_t url
Definition: cache_util.h:108
const char * type
Definition: cache_util.h:109
apr_size_t pathlen
Definition: cache_util.h:110
Definition: mod_cache.h:91
Definition: mod_cache.h:59
Definition: cache_util.h:202
const char * provider_name
Definition: cache_util.h:203
const cache_provider * provider
Definition: cache_util.h:204
cache_provider_list * next
Definition: cache_util.h:205
Definition: mod_cache.h:99
Definition: cache_util.h:209
int fresh
Definition: cache_util.h:213
ap_filter_t * remove_url_filter
Definition: cache_util.h:225
apr_bucket_brigade * out
Definition: cache_util.h:230
cache_handle_t * stale_handle
Definition: cache_util.h:215
int in_checked
Definition: cache_util.h:217
const char * key
Definition: cache_util.h:226
apr_time_t exp
Definition: cache_util.h:221
apr_bucket_brigade * saved_brigade
Definition: cache_util.h:219
apr_table_t * stale_headers
Definition: cache_util.h:216
const cache_provider * provider
Definition: cache_util.h:211
int block_response
Definition: cache_util.h:218
apr_off_t size
Definition: cache_util.h:229
cache_control_t control_in
Definition: cache_util.h:231
cache_info * info
Definition: cache_util.h:223
apr_time_t lastmod
Definition: cache_util.h:222
const char * provider_name
Definition: cache_util.h:212
apr_off_t saved_size
Definition: cache_util.h:220
ap_filter_t * save_filter
Definition: cache_util.h:224
cache_handle_t * handle
Definition: cache_util.h:214
cache_provider_list * providers
Definition: cache_util.h:210
Definition: cache_util.h:119
apr_uri_t * base_uri
Definition: cache_util.h:128
unsigned int x_cache_detail_set
Definition: cache_util.h:155
unsigned int lock_set
Definition: cache_util.h:151
unsigned int x_cache
Definition: cache_util.h:137
unsigned int ignorequerystring
Definition: cache_util.h:132
unsigned int ignorecachecontrol
Definition: cache_util.h:130
unsigned int ignore_session_id_set
Definition: cache_util.h:146
unsigned int ignorequerystring_set
Definition: cache_util.h:149
unsigned int ignore_headers_set
Definition: cache_util.h:142
unsigned int lockpath_set
Definition: cache_util.h:152
apr_time_t lockmaxage
Definition: cache_util.h:127
apr_array_header_t * ignore_headers
Definition: cache_util.h:123
apr_array_header_t * cachedisable
Definition: cache_util.h:121
unsigned int ignorecachecontrol_set
Definition: cache_util.h:148
apr_array_header_t * ignore_session_id
Definition: cache_util.h:125
unsigned int quick_set
Definition: cache_util.h:150
unsigned int quick
Definition: cache_util.h:134
unsigned int lockmaxage_set
Definition: cache_util.h:153
apr_array_header_t * cacheenable
Definition: cache_util.h:120
unsigned int lock
Definition: cache_util.h:136
const char * lockpath
Definition: cache_util.h:126
unsigned int base_uri_set
Definition: cache_util.h:147
unsigned int x_cache_set
Definition: cache_util.h:154
unsigned int x_cache_detail
Definition: cache_util.h:138
A structure that represents the current request.
Definition: httpd.h:856