Blame | Last modification | View Log | RSS feed
# -*- text -*-## $Id: da4a099beae8eeb3bfe5f70f20523a4258f7f0cd $## A module to cache attributes. The idea is that you can look# up information in a database, and then cache it. Repeated# requests for the same information will then have the cached# values added to the request.## The module can cache a fixed set of attributes per key.# It can be listed in "authorize", "post-auth", "pre-proxy"# and "post-proxy".## If you want different things cached for authorize and post-auth,# you will need to define two instances of the "cache" module.## The module returns "ok" if it found a cache entry.# The module returns "updated" if it added a new cache entry.# The module returns "noop" if it did nothing.#cache {# The key used to index the cache. It is dynamically expanded# at run time.key = "%{User-Name}"# The TTL of cache entries, in seconds. Entries older than this# will be expired.## You can set the TTL per cache entry, but adding a control# variable "Cache-TTL". The value there will over-ride this one.# Setting a Cache-TTL of 0 means "delete this entry".## This value should be between 10 and 86400.ttl = 10# A timestamp used to flush the cache, via## radmin -e "set module config cache epoch 123456789"## Where last value is a 32-bit Unix timestamp. Cache entries# older than this are expired, and new entries added.## You should ALWAYS leave it as "epoch = 0" here.epoch = 0# The module can also operate in status-only mode where it will# not add new cache entries, or merge existing ones.## To enable set the control variable "Cache-Status-Only" to "yes"# The module will return "ok" if it found a cache entry.# The module will return "notfound" if it failed to find a cache entry,# or the entry had expired.## Note: expired entries will still be removed.# If yes the following attributes will be added to the request list:# * Cache-Entry-Hits - The number of times this entry has been# retrieved.add-stats = no# The list of attributes to cache for a particular key.# Each key gets the same set of cached attributes.# The attributes are dynamically expanded at run time.## You can specify which list the attribute goes into by# prefixing the attribute name with the list. This allows# you to update multiple lists with one configuration.## If no list is specified the request list will be updated.update {# list:Attr-Namereply:Reply-Message += "I'm the cached reply from %t"control:Class := 0x010203}}