SCACHE(8)                                                            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, phys-
       ical 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  applica-
       tion  dependent;  the  scache(8) server does not care.  A connection is
       stored as a file descriptor together with application-dependent  infor-
       mation  that  is  needed to re-activate a connection object. Again, the
       scache(8) server is completely unaware of the details of that  informa-
       tion.

       All  information  is stored with a finite time to live (ttl).  The con-
       nection 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  proper-
              ties,  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  con-
              figuration 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
       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

                                                                     SCACHE(8)