SCACHE(8)

SCACHE(8) | System Manager's Manual | SCACHE(8)

# 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