Provided by: cyrus-common-2.4_2.4.17+caldav~beta9-3_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.

       babysit=0
            Integer  value  - if non-zero, will make sure at least one process is pre-forked, and
            will set the maxforkrate to 10 if it's zero.

       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.  Note
            that if you are listening on multiple network types (i.e. ipv4  and  ipv6)  then  one
            process will be forked for each address, causing twice as many processes as you might
            expect.

       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 processes to fork per second - the master  will  insert  sleeps  to
            ensure it doesn't fork faster than this on average.

   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)