Provided by: cyrus-common-2.4_2.4.12-2_amd64 bug

NAME

       cyrus.conf - Cyrus configuration file

DESCRIPTION

       /etc/cyrus.conf is the configuration file for the Cyrus cyrmaster process.  It defines the
       startup procedures, services and events to be spawned by cyrmaster.

       The /etc/cyrus.conf file consists of a series of entries divided into sections of the form

              section {
                     name arguments
                          ...
                          ...
                          ...
              }

       where section is the name of the section, name is the name of the entry and  arguments  is
       the whitespace-separated list of arguments for the entry.

       Blank lines and lines beginning with ``#'' are ignored.

SECTION DESCRIPTIONS

       The  paragraphs  below  detail  the  three  sections (START, SERVICES, EVENTS) that can be
       placed in the /etc/cyrus.conf file.  The arguments  that  are  available  for  each  entry
       within the section are described, and each argument's default value is shown.

       Arguments can appear in any order.  Some arguments have no default value, these are listed
       with ``<no default>''.  For string arguments, the value MUST be enclosed in double quotes.

   START
       This section lists the processes to run before any SERVICES are spawned.  This section  is
       typically used to initialize databases and start long running daemons.

       cmd=<no default>
            The  command  (with  options)  to  spawn as a child process.  This string argument is
            required.

   SERVICES
       This section is the heart of the /etc/cyrus.conf file.  It lists the processes that should
       be spawned to handle client connections made on certain Internet/UNIX sockets.

       cmd=<no default>
            The  command  (with  options)  to  spawn as a child process.  This string argument is
            required.

       listen=<no default>
            The UNIX or internet socket to listen on.  This string field is  required  and  takes
            one of the following forms:

            path
            [ host : ] port

            where  path  is  the  explicit  (absolute)  path to a UNIX socket, host is either the
            hostname or bracket-enclosed IP address of a network interface, and port is either  a
            port number or service name (as listed in /etc/services).

       proto=tcp
            The  protocol  used for this service (tcp, tcp4, tcp6, udp, udp4, udp6).  This string
            argument is optional.

            tcp4, udp4: These arguments are used to bind the service to IPv4 only.
            tcp6, udp6: These arguments are used to  bind  the  service  to  IPv6  only,  if  the
            operating system supports this.
            tcp, udp: These arguments are used to bind to both IPv4 and IPv6 if possible.

       prefork=0
            The  number  of  instances  of  this service to always have running and waiting for a
            connection (for faster initial response time).  This integer value is optional.

       maxchild=-1
            The maximum number of instances of this service  to  spawn.   A  value  of  -1  means
            unlimited.  This integer value is optional.

       maxfds=256
            The  maximum number of file descriptors to which to limit this process.  This integer
            value is optional.

   EVENTS
       This section lists processes that should be run at specific  intervals,  similar  to  cron
       jobs.  This section is typically used to perform scheduled cleanup/maintenance.

       cmd=<no default>
            The  command  (with  options)  to  spawn as a child process.  This string argument is
            required.

       period=0
            The interval (in minutes) at which  to  run  the  command.   This  integer  value  is
            optional, but SHOULD be a positive integer > 10.

       at=<hhmm>
            The  time  (24-hour  format) at which to run the command each day.  If set to a valid
            time (0000-2359), period is automatically set  to  1440.   This  string  argument  is
            optional.

EXAMPLE

       # example cyrus.conf

       START {
         recover cmd="ctl_cyrusdb -r"
       }

       SERVICES {
         imap         cmd="imapd" listen="imap" prefork=1
         imaps        cmd="imapd -s" listen="imaps" prefork=0
         lmtpunix     cmd="lmtpd" listen="/var/imap/socket/lmtp"
         lmtp         cmd="lmtpd" listen="localhost:lmtp"
       }

       EVENTS {
         checkpoint   cmd="ctl_cyrusdb -c" period=30
         delprune     cmd="cyr_expire -E 3" at=0400
         tlsprune     cmd="tls_prune" at=0400
       }

ACCESS CONTROL

       When  TCP  Wrappers  is  used to control access to Cyrus services, the name of the service
       entry should be used as the process name in the hosts_access(5) table.  For  instance,  in
       the  example  above,  "imap",  "imaps", "lmtpunix" and "lmtp" would be used as the process
       names.  This allows a single daemon such  as  imapd  to  be  run  in  different  modes  or
       configurations  (i.e.,  SSL  and  non-SSL  enabled) yet still have separate access control
       rules.

SEE ALSO

       cyrmaster(8),  imapd(8),   pop3d(8),   lmtpd(8),   timsieved(8),   idled(8),   notifyd(8),
       ctl_cyrusdb(8), ctl_deliver(8), tls_prune(8), hosts_access(5)