SCACHE(8postfix) | SCACHE(8postfix) |
NAME¶
scache - Postfix shared connection cache server
SYNOPSIS¶
scache [generic Postfix daemon options]
DESCRIPTION¶
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.
SECURITY¶
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.
DIAGNOSTICS¶
Problems and transactions are logged to syslogd(8) or postlogd(8).
BUGS¶
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.
CONFIGURATION PARAMETERS¶
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.
RESOURCE CONTROLS¶
- 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.
MISCELLANEOUS CONTROLS¶
- 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.
SEE ALSO¶
smtp(8), SMTP client postconf(5), configuration parameters master(8), process manager postlogd(8), Postfix logging syslogd(8), system logging
README FILES¶
Use "postconf readme_directory" or "postconf html_directory" to locate this information.
CONNECTION_CACHE_README, Postfix connection cache
LICENSE¶
The Secure Mailer license must be distributed with this software.
HISTORY¶
This service was introduced with Postfix version 2.2.
AUTHOR(S)¶
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