scache - Postfix shared connection cache server
scache [generic Postfix daemon options]
The scache(8) server maintains a shared multi-connection cache. This
information can be used by, for example, Postfix SMTP clients or other Postfix
delivery agents.
The connection cache is organized into logical destination names,
physical endpoint names, and connections.
As a specific example, logical SMTP destinations specify
(transport, domain, port), and physical SMTP endpoints specify (transport,
IP address, port). An SMTP connection may be saved after a successful mail
transaction.
In the general case, one logical destination may refer to zero or
more physical endpoints, one physical endpoint may be referenced by zero or
more logical destinations, and one endpoint may refer to zero or more
connections.
The exact syntax of a logical destination or endpoint name is
application dependent; the scache(8) server does not care. A
connection is stored as a file descriptor together with
application-dependent information that is needed to re-activate a connection
object. Again, the scache(8) server is completely unaware of the
details of that information.
All information is stored with a finite time to live (ttl). The
connection cache daemon terminates when no client is connected for
max_idle time units.
This server implements the following requests:
- save_endp ttl endpoint endpoint_properties
file_descriptor
- Save the specified file descriptor and connection property data under the
specified endpoint name. The endpoint properties are used by the client to
re-activate a passivated connection object.
- find_endp endpoint
- Look up cached properties and a cached file descriptor for the specified
endpoint.
- save_dest ttl destination destination_properties
endpoint
- Save the binding between a logical destination and an endpoint under the
destination name, together with destination specific connection
properties. The destination properties are used by the client to
re-activate a passivated connection object.
- find_dest destination
- Look up cached destination properties, cached endpoint properties, and a
cached file descriptor for the specified logical destination.
The scache(8) server is not security-sensitive. It does not talk to the
network, and it does not talk to local users. The scache(8) server can
run chrooted at fixed low privilege.
The scache(8) server is not a trusted process. It must not
be used to store information that is security sensitive.
Problems and transactions are logged to syslogd(8) or postlogd(8).
The session cache cannot be shared among multiple machines.
When a connection expires from the cache, it is closed without the
appropriate protocol specific handshake.
Changes to main.cf are picked up automatically as scache(8)
processes run for only a limited amount of time. Use the command
"postfix reload" to speed up a change.
The text below provides only a parameter summary. See
postconf(5) for more details including examples.
- connection_cache_ttl_limit (2s)
- The maximal time-to-live value that the scache(8) connection cache
server allows.
- connection_cache_status_update_time (600s)
- How frequently the scache(8) server logs usage statistics with
connection cache hit and miss rates for logical destinations and for
physical endpoints.
- config_directory (see 'postconf -d' output)
- The default location of the Postfix main.cf and master.cf configuration
files.
- daemon_timeout (18000s)
- How much time a Postfix daemon process may take to handle a request before
it is terminated by a built-in watchdog timer.
- ipc_timeout (3600s)
- The time limit for sending or receiving information over an internal
communication channel.
- max_idle (100s)
- The maximum amount of time that an idle Postfix daemon process waits for
an incoming connection before terminating voluntarily.
- process_id (read-only)
- The process ID of a Postfix command or daemon process.
- process_name (read-only)
- The process name of a Postfix command or daemon process.
- syslog_facility (mail)
- The syslog facility of Postfix logging.
- syslog_name (see 'postconf -d' output)
- A prefix that is prepended to the process name in syslog records, so that,
for example, "smtpd" becomes "prefix/smtpd".
Available in Postfix 3.3 and later:
- service_name (read-only)
- The master.cf service name of a Postfix daemon process.
smtp(8), SMTP client
postconf(5), configuration parameters
master(8), process manager
postlogd(8), Postfix logging
syslogd(8), system logging
Use "postconf readme_directory" or "postconf
html_directory" to locate this information.
CONNECTION_CACHE_README, Postfix connection cache
The Secure Mailer license must be distributed with this software.
This service was introduced with Postfix version 2.2.
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA