Provided by: kolab-cyrus-common_2.2.13p1-0.3build1_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.

            For datagram-based services (udp), the maximum value of prefork is 1.

       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.

       maxforkrate=0
            Maximum number of forks per second for this service.  A value of zero means unlimited
            fork rate.  This integer value is optional.

       babysit=0
            Set to non-zero to guarantee that at least one child will always be available for new
            connections.  The value of maxchild is ignored if all children are busy  and  babysit
            is active.  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)