1# things inside of C comments get copied to the manpage 2# things starting with # are ignored 3 4/* .\" -*- nroff -*- 5.TH IMAPD.CONF 5 "Project Cyrus" CMU 6.\" 7.\" Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 13.\" 1. Redistributions of source code must retain the above copyright 14.\" notice, this list of conditions and the following disclaimer. 15.\" 16.\" 2. Redistributions in binary form must reproduce the above copyright 17.\" notice, this list of conditions and the following disclaimer in 18.\" the documentation and/or other materials provided with the 19.\" distribution. 20.\" 21.\" 3. The name "Carnegie Mellon University" must not be used to 22.\" endorse or promote products derived from this software without 23.\" prior written permission. For permission or any legal 24.\" details, please contact 25.\" Carnegie Mellon University 26.\" Center for Technology Transfer and Enterprise Creation 27.\" 4615 Forbes Avenue 28.\" Suite 302 29.\" Pittsburgh, PA 15213 30.\" (412) 268-7393, fax: (412) 268-7395 31.\" innovation@andrew.cmu.edu 32.\" 33.\" 4. Redistributions of any form whatsoever must retain the following 34.\" acknowledgment: 35.\" "This product includes software developed by Computing Services 36.\" at Carnegie Mellon University (http://www.cmu.edu/computing/)." 37.\" 38.\" CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO 39.\" THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 40.\" AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE 41.\" FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 42.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 43.\" AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 44.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 45 46.SH NAME 47imapd.conf \- IMAP configuration file 48.SH DESCRIPTION 49\fB/etc/imapd.conf\fR 50is the configuration file for the Cyrus IMAP server. It defines 51local parameters for IMAP. 52.PP 53Each line of the \fB/etc/imapd.conf\fR file has the form 54.IP 55\fIoption\fR: \fIvalue\fR 56.PP 57where \fIoption\fR is the name of the configuration option being set 58and \fIvalue\fR is the value that the configuration option is being 59set to. 60.PP 61Although there is no limit to the length of a line, a ``\\'' 62(backslash) character may be used as the last character on a line to 63force it to continue on the next one. No additional whitespace is 64inserted before or after the ``\\''. Note that a line that is split 65using ``\\'' character(s) is still considered a single line. 66 67For example 68.IP 69\fIoption\fR:\\ 70.br 71.in +1 72\fIvalue\fR1 \fIvalue\fR2 \\ 73.br 74.in +1 75\fIvalue\fR3 76.PP 77is equivalent to 78.IP 79\fIoption\fR: \fIvalue\fR1 \fIvalue\fR2 \fIvalue\fR3 80.PP 81Blank lines and lines beginning with ``#'' are ignored. 82.PP 83For boolean and enumerated options, the values ``yes'', ``on'', ``t'', 84``true'' and ``1'' turn the option on, the values ``no'', ``off'', 85``f'', ``false'' and ``0'' turn the option off. 86.PP 87Duration options take the form of a number followed by a unit, for example 88\fB32m\fR (32 minutes). Units are \fBd\fR (days), \fBh\fR (hours), \fBm\fR 89(minutes) and \fBs\fR (seconds). Multiple units can be combined and will 90be summed together, for example \fB1h30m\fR is equivalent to \fB90m\fR. If 91no unit is specified, an option-specific backward-compatible default unit 92is assumed (documented on an option-by-option basis). These are simple time 93units: 1d=24h, 1h=60m, 1m=60s (daylight savings, timezones, leap adjustments, 94etc are not considered). 95.SH FIELD DESCRIPTIONS 96.PP 97The sections below detail options that can be placed in the 98\fB/etc/imapd.conf\fR file, and show each option's default value. 99Some options have no default value, these are listed with 100``<no default>''. Some options default to the empty string, these 101are listed with ``<none>''. 102*/ 103 104# OPTIONS 105 106{ "addressbookprefix", "#addressbooks", STRING, "2.5.0" } 107/* The prefix for the addressbook mailboxes hierarchies. The hierarchy 108 delimiter will be automatically appended. The public addressbook 109 hierarchy will be at the toplevel of the shared namespace. A 110 user's personal addressbook hierarchy will be a child of their Inbox. */ 111 112{ "admins", "", STRING, "2.3.17" } 113/* The list of userids with administrative rights. Separate each userid 114 with a space. Sites using Kerberos authentication may use 115 separate "admin" instances. 116.PP 117 Note that accounts used by users should not be administrators. 118 Administrative accounts should not receive mail. That is, if user 119 "jbRo" is a user reading mail, he should not also be in the admins line. 120 Some problems may occur otherwise, most notably the ability of 121 administrators to create top-level mailboxes visible to users, 122 but not writable by users. */ 123 124{ "afspts_localrealms", NULL, STRING, "2.3.17" } 125/* The list of realms which are to be treated as local, and thus stripped 126 during identifier canonicalization (for the AFSPTS ptloader module). 127 This is different from loginrealms in that it occurs later in the 128 authorization process (as the user id is canonified for PTS lookup) */ 129 130{ "afspts_mycell", NULL, STRING, "2.3.17" } 131/* Cell to use for AFS PTS lookups. Defaults to the local cell. */ 132 133{ "allowallsubscribe", 0, SWITCH, "2.3.17" } 134/* Allow subscription to nonexistent mailboxes. This option is 135 typically used on backend servers in a Murder so that users can 136 subscribe to mailboxes that don't reside on their "home" server. 137 This option can also be used as a workaround for IMAP clients which 138 don't play well with nonexistent or unselectable mailboxes (e.g., 139 Microsoft Outlook). */ 140 141{ "allowanonymouslogin", 0, SWITCH, "2.3.17" } 142/* Permit logins by the user "anonymous" using any password. Also 143 allows use of the SASL ANONYMOUS mechanism. */ 144 145{ "allowapop", 1, SWITCH, "2.3.17" } 146/* Allow use of the POP3 APOP authentication command. 147.PP 148 Note that this command requires that SASL is compiled with APOP 149 support, that the plaintext passwords are available in a SASL auxprop 150 backend (e.g., sasldb), and that the system can provide enough entropy 151 (e.g., from /dev/urandom) to create a challenge in the banner. */ 152 153{ "allowdeleted", 0, SWITCH, "3.1.8" } 154/* Allow access to deleted and expunged data via vendor.cmu-* access */ 155 156{ "allownewnews", 0, SWITCH, "2.3.17" } 157/* Allow use of the NNTP NEWNEWS command. 158.PP 159 Note that this is a very expensive command and should only be 160 enabled when absolutely necessary. */ 161 162{ "allowplaintext", 0, SWITCH, "3.0.0" } 163/* If enabled, allows the use of cleartext passwords on the wire. 164.PP 165 By default, the use of cleartext passwords requires a TLS/SSL 166 encryption layer to be negotiated prior to any cleartext 167 authentication mechanisms being advertised or allowed. To require a 168 TLS/SSL encryption layer to be negotiated prior to ANY 169 authentication, see the \fItls_required\fR option. */ 170 171{ "allowsetacl", 1, SWITCH, "3.1.8" } 172/* Defaults to enabled. If disabled, disallows the use of the SETACL 173 command at all via IMAP. */ 174 175{ "allowusermoves", 0, SWITCH, "2.3.17" } 176/* Allow moving user accounts (with associated meta-data) via RENAME 177 or XFER. 178.PP 179 Note that measures should be taken to make sure that the user being 180 moved is not logged in, and cannot login during the move. Failure 181 to do so may result in the user's meta-data (seen state, 182 subscriptions, etc) being corrupted or out of date. */ 183 184{ "altnamespace", 1, SWITCH, "3.0.0" } 185/* Use the alternate IMAP namespace, where personal folders reside at the 186 same level in the hierarchy as INBOX. 187.PP 188 This option ONLY applies where interaction takes place with the 189 client/user. Currently this is limited to the IMAP protocol (imapd) 190 and Sieve scripts (lmtpd). This option does NOT apply to admin tools 191 such as cyradm (admins ONLY), reconstruct, quota, etc., NOR does it 192 affect LMTP delivery of messages directly to mailboxes via 193 plus-addressing. The default changed in 3.0 from off to on. */ 194 195{ "altprefix", "Alt Folders", STRING, "3.0.0" } 196/* Alternative INBOX spellings that can't be accessed in altnamespace 197 otherwise go under here */ 198 199{ "annotation_db", "twoskip", STRINGLIST("skiplist", "twoskip", "zeroskip"), "3.1.6" } 200/* The cyrusdb backend to use for mailbox annotations. */ 201 202{ "annotation_db_path", NULL, STRING, "2.5.0" } 203/* The absolute path to the annotations db file. If not specified, 204 will be configdirectory/annotations.db */ 205 206{ "anyoneuseracl", 1, SWITCH, "2.3.17" } 207/* Should non-admin users be allowed to set ACLs for the 'anyone' 208 user on their mailboxes? In a large organization this can cause 209 support problems, but it's enabled by default. */ 210 211{ "annotation_allow_undefined", 0, SWITCH, "2.5.0" } 212/* Allow clients to store values for entries which are not 213 defined either by Cyrus or in the annotations_definitions 214 file. */ 215 216{ "annotation_definitions", NULL, STRING, "2.5.0" } 217/* File containing external (third-party) annotation definitions. 218.PP 219Each line of the file specifies the properties of an annotation and 220has the following form: 221 222.IP 223\fIname\fR, \fIscope\fR, \fIattrib-type\fR, \fIproxy-type\fR, 224\fIattrib-names\fR, \fIacl\fR 225.\" 226.IP \fIname\fR 5 227is the hierarchical name as in RFC 5257 or RFC 5464 (in the latter case, 228without the leading \fB/shared\fR or \fB/private\fR). For example, 229/vendor/acme/blurdybloop. 230.\" 231.IP \fIscope\fR 5 232specifies whether the annotation is for the \fBserver\fR, a 233\fBmailbox\fR, or a \fBmessage\fR. 234.\" 235.IP \fIattrib-type\fR 5 236.RS 5 237specifies the attribute data type, which is used only to check the 238string value passed by clients when setting annotations. The 239\fIattrib-type\fR is one of: 240.\" 241.IP \fBstring\fR 5 242any value is accepted. 243.\" 244.IP \fBcontent-type\fR 5 245this obsolete data type, which was useful for early drafts of the standard, 246is accepted but silently translated to \fBstring\fR. 247.\" 248.IP \fBboolean\fR 5 249only the strings "true" or "false" are accepted. Checking is 250case-insensitive but the value is forced to lowercase. 251.\" 252.IP \fBint\fR 5 253integers are accepted. 254.\" 255.IP \fBuint\fR 5 256non-negative integers are accepted. 257.\" 258.RE 259.\" 260.IP \fIproxy-type\fR 5 261specifies whether this attribute is for the \fBbackend\fR or 262\fBproxy\fR servers or both (\fBproxy_and_backend\fR) 263.\" 264.IP \fIattrib-names\fR 5 265is the space-separated list of available attributes for the 266annotation. Possible attribute names are \fBvalue.shared\fR, 267\fBvalue.priv\fR, and \fBvalue\fR (which permits both \fBvalue.priv\fR 268and \fBvalue.shared\fR). The attribute names \fBsize\fR, 269\fBsize.shared\fR, and \fBsize.priv\fR are accepted but ignored; these 270attributes are automatically provided by the server if the corresponding 271\fBvalue\fR attribute is specified. Some obsolete attributes, which were 272defined early drafts of the standard, are accepted and ignored with a 273warning. 274.\" 275.IP \fIextra-permissions\fR 5 276is the extra ACL permission bits required for setting this annotation, in 277standard IMAP ACL permission bit string format. Note that this is 278in addition to the permission bits specified in RFC 5257 and RFC 5464, 279so leaving this field empty is harmless. Note also that there is no way 280to specify that an annotation can only be set by an admin user; in 281particular the \fBa\fP permission bit does not achieve this. 282.PP 283Blank lines and lines beginning with ``#'' are ignored. 284*/ 285 286{ "annotation_callout", NULL, STRING, "2.5.0" } 287/* The pathname of a callout to be used to automatically add annotations 288 or flags to a message when it is appended to a mailbox. The path can 289 be either an executable (including a script), or a UNIX domain 290 socket. */ 291{ "annotation_callout_disable_append", 0, SWITCH, "3.1.2" } 292/* Disables annotations on append with xrunannotator */ 293{ "annotation_enable_legacy_commands", 0, SWITCH, "3.1.6" } 294/* Whether to enable the legacy GETANNOTATION/SETANNOTATION commands. 295 These commands are deprecated and will be removed in the future, 296 but might be useful in the meantime for supporting old clients that 297 do not implement the RFC 5464 IMAP METADATA extension. */ 298 299{ "aps_topic", NULL, STRING, "3.0.0" } 300/* Topic for Apple Push Service registration. */ 301{ "aps_topic_caldav", NULL, STRING, "3.0.0" } 302/* Topic for Apple Push Service registration for CalDAV. */ 303{ "aps_topic_carddav", NULL, STRING, "3.0.0" } 304/* Topic for Apple Push Service registration for CardDAV. */ 305 306{ "archive_enabled", 0, SWITCH, "3.0.0" } 307/* Is archiving enabled for this server. You also need to have an 308 archivepartition for the mailbox. Archiving allows older email 309 to be stored on slower, cheaper disks - even within the same 310 mailbox, as distinct from partitions. */ 311 312{ "archive_days", NULL, DURATION, "3.1.8", "3.1.8", "archive_after" } 313/* Deprecated in favour of \fIarchive_after\fR. */ 314 315{ "archive_after", "7d", DURATION, "3.1.8" } 316/* The duration after which to move messages to the archive partition 317 if archiving is enabled. 318.PP 319 For backward compatibility, if no unit is specified, days is 320 assumed. */ 321*/ 322 323{ "archive_maxsize", 1024, INT, "3.0.0" } 324/* The size in kilobytes of the largest message that won't be archived 325 immediately. Default is 1Mb */ 326 327{ "archive_keepflagged", 0, SWITCH, "3.0.0" } 328/* If set, messages with the \\Flagged system flag won't be archived, 329 provided they are smaller than \fBarchive_maxsize\fR. */ 330 331# Commented out - there's no such thing as "archivepartition-name", 332# but we need this for the man page 333# { "archivepartition-name", NULL, STRING, "3.0.0" } 334/* The pathname of the archive partition \fIname\fR, corresponding to 335 spool partition \fBpartition-name\fR. For any mailbox residing in 336 a directory on \fBpartition-name\fR, the archived messages will be 337 stored in a corresponding directory on \fBarchivepartition-name\fR. 338 Note that not every \fBpartition-name\fR option is strictly required 339 to have a corresponding \fBarchivepartition-name\fR option, but that 340 without one there's no benefit to enabling archiving. */ 341 342{ "auditlog", 0, SWITCH, "2.4.0" } 343/* Should cyrus output log entries for every action taken on a message 344 file or mailboxes list entry? It's noisy so disabled by default, but 345 can be very useful for tracking down what happened if things look strange */ 346 347{ "auth_mech", "unix", STRINGLIST("unix", "pts", "krb", "krb5"), "2.3.17" } 348/* The authorization mechanism to use. */ 349 350{ "autocreateinboxfolders", NULL, STRING, "2.5.0", "2.5.0", "autocreate_inbox_folders" } 351/* Deprecated in favor of \fIautocreate_inbox_folders\fR. */ 352 353{ "autocreatequota", 0, INT, "2.5.0", "2.5.0", "autocreate_quota" } 354/* Deprecated in favor of \fIautocreate_quota\fR. */ 355 356{ "autocreatequotamsg", -1, INT, "2.5.0", "2.5.0", "autocreate_quota_messages" } 357/* Deprecated in favor of \fIautocreate_quota_messages\fR. */ 358 359{ "autosievefolders", NULL, STRING, "2.5.0", "2.5.0", "autocreate_sieve_folders" } 360/* Deprecated in favor of \fIautocreate_sieve_folders\fR. */ 361 362{ "generate_compiled_sieve_script", 0, SWITCH, "2.5.0", "2.5.0", "autocreate_sieve_script_compile" } 363/* Deprecated in favor of \fIautocreate_sieve_script_compile\fR. */ 364 365{ "autocreate_sieve_compiled_script", NULL, STRING, "2.5.0", "2.5.0", "autocreate_sieve_script_compiled" } 366/* Deprecated in favor of \fIautocreate_sieve_script_compiled\fR. */ 367 368{ "autosubscribeinboxfolders", NULL, STRING, "2.5.0", "2.5.0", "autocreate_subscribe_folders" } 369/* Deprecated in favor of \fIautocreate_subscribe_folders\fR. */ 370 371{ "autosubscribesharedfolders", NULL, STRING, "2.5.0", "2.5.0", "autocreate_subscribe_sharedfolders" } 372/* Deprecated in favor of \fIautocreate_subscribe_sharedfolders\fR. */ 373 374{ "autosubscribe_all_sharedfolders", 0, SWITCH, "2.5.0", "2.5.0", "autocreate_subscribe_sharedfolders_all" } 375/* Deprecated in favor of \fIautocreate_subscribe_sharedfolders_all\fR. */ 376 377# Commented out - there's no single setting "autocreate_acl", 378# but we need this for the man page 379# { "autocreate_acl", NULL, STRING, "3.2.0" } 380/* If folders are to be created by \fIautocreate_inbox_folders\fR, this 381 setting can be used to apply additional ACLs to the autocreated 382 folders. The syntax is "autocreate_acl folder identifier rights", 383 where \fIfolder\fR must match one of the \fIautocreate_inbox_folders\fR 384 folders, \fIidentifier\fR must be a valid cyrus identifier, and 385 \fIrights\fR must be a valid cyrus rights string. Multiple 386 identifier|rights pairs can be assigned to a single folder by providing 387 this setting multiple times. 388.PP 389 For example, "autocreate_acl Plus anyone p" would allow lmtp delivery 390 to a folder named "Plus". 391 */ 392 393 394{ "autocreate_inbox_folders", NULL, STRING, "2.5.0" } 395/* If a user does not have an INBOX already, and the INBOX is to be 396 created, create the list of folders in this setting as well. 397 \fIautocreate_inbox_folders\fR is a list of INBOX's subfolders 398 separated by a "|", that are automatically created by the server 399 under the following two scenarios. Leading and trailing whitespace is 400 stripped, so "Junk | Trash" results in two folders: "Junk" and 401 "Trash". See also the \fIxlist-flag\fR option, for setting 402 special-use flags on autocreated folders. 403.PP 404 INBOX folders are created under both the following conditions: 405.\" 406.IP 1. 407 The user logins via the IMAP or the POP3 protocol. 408 \fIautocreate_quota\fR option must have a value of zero or greater. 409.\" 410.IP 2. 411 A message arrives for the user through the \fIlmtpd(8)\fR. 412 \fIautocreate_post\fR option must be enabled. 413.PP 414 */ 415 416{ "autocreate_post", 0, SWITCH, "2.5.0" } 417/* If enabled, when \fIlmtpd(8)\fR receives an incoming mail for an 418 INBOX that does not exist, then the INBOX is automatically created 419 by \fIlmtpd(8)\fR and delivery of the message continues. */ 420 421{ "autocreate_quota", -1, INT, "2.5.0" } 422/* If set to a value of zero or higher, users have their INBOX folders 423 created upon a successful login event or upon \fIlmtpd(8)\fR 424 message delivery if \fIautocreate_post\fR is enabled, provided their 425 INBOX did not yet already exist. 426.PP 427 The user's quota is set to the value if it is greater than zero, 428 otherwise the user has unlimited quota. 429.PP 430 Note that quota is specified in kilobytes. */ 431 432{ "autocreate_quota_messages", -1, INT, "3.0.0" } 433/* If set to a value of zero or higher, users who have their INBOX 434 folders created upon a successful login event (see 435 \fIautocreate_quota\fR), or upon \fIlmtpd(8)\fR message delivery if 436 \fIautocreate_post\fR is enabled, receive the message quota 437 configured in this option. 438.PP 439 The default of -1 disables assigning message quota. 440.PP 441 For consistency with \fIautocreate_quota\fR, a value of zero is treated 442 as unlimited message quota, rather than a message quota of zero. */ 443 444{ "autocreate_sieve_folders", NULL, STRING, "2.5.0" } 445/* A "|" separated list of subfolders of INBOX that will be 446 automatically created, if requested by a sieve filter, through the 447 "fileinto" action. The default is to create no folders 448 automatically. 449.PP 450 Leading and trailing whitespace is stripped from each folder, so a 451 setting of "Junk | Trash" will create two folders: "Junk" and 452 "Trash". */ 453 454{ "autocreate_sieve_script", NULL, STRING, "2.5.0" } 455/* The full path of a file that contains a sieve script. This script 456 automatically becomes a user's initial default sieve filter script. 457.PP 458 When this option is not defined, no default sieve filter is created. 459 The file must be readable by the Cyrus daemon. */ 460 461{ "autocreate_sieve_script_compile", 0, SWITCH, "2.5.0" } 462/* If set to yes and no compiled sieve script file exists, the sieve script which is 463 compiled on the fly will be saved in the file name that autocreate_sieve_compiledscript 464 option points to. In order a compiled script to be generated, autocreate_sieve_script and 465 autocreate_sieve_compiledscript must have valid values */ 466 467{ "autocreate_sieve_script_compiled", NULL, STRING, "2.5.0" } 468/* The full path of a file that contains a compiled in bytecode sieve script. This script 469 automatically becomes a user's initial default sieve filter script. If this option is 470 not specified, or the filename doesn't exist then the script defined by 471 autocreate_sieve_script is compiled on the fly and installed as the user's default 472 sieve script */ 473 474{ "autocreate_subscribe_folders", NULL, STRING, "2.5.0" } 475/* A list of folder names, separated by "|", that the users get automatically subscribed to, 476 when their INBOX is created. These folder names must have been included in the 477 autocreateinboxfolders option of the imapd.conf. */ 478 479{ "autocreate_subscribe_sharedfolders", NULL, STRING, "2.5.0" } 480/* A list of shared folders (bulletin boards), separated by "|", that the users get 481 automatically subscribed to, after their INBOX is created. The shared folder must 482 have been created and the user must have the required permissions to get subscribed 483 to it. Otherwise, subscribing to the shared folder fails. */ 484 485{ "autocreate_subscribe_sharedfolders_all", 0, SWITCH, "2.5.0" } 486/* If set to yes, the user is automatically subscribed to all shared folders, one has permission 487 to subscribe to. */ 488 489{ "autocreate_users", "anyone", STRING, "2.5.0" } 490/* A space separated list of users and/or groups that are allowed their INBOX to be 491 automatically created. */ 492 493{ "autoexpunge", 0, SWITCH, "3.1.7" } 494/* If set to yes, then all \Deleted messages will be automatically expunged whenever 495 an index is closed, whether CLOSE, UNSELECT, SELECT or on disconnect */ 496 497# Commented out - there's no such thing as "backuppartition-name", 498# but we need this for the man page 499# { "backuppartition-name", NULL, STRING, "3.0.0" } 500/* The pathname of the backup partition \fIname\fR. At least one backup 501 partition pathname MUST be specified if backups are in use. Note that 502 there is no relationship between spool partitions and backup partitions. */ 503 504{ "backup_compact_minsize", 0, INT, "3.0.0" } 505/* The minimum size in kilobytes of chunks in each backup. The compact tool 506 will try to combine adjacent chunks that are smaller than this. 507.PP 508 Setting this value to zero or negative disables combining of chunks. */ 509 510{ "backup_compact_maxsize", 0, INT, "3.0.0" } 511/* The maximum size in kilobytes of chunks in each backup. The compact tool 512 will try to split chunks larger than this into smaller chunks. 513.PP 514 Setting this value to zero or negative disables splitting of chunks. */ 515 516{ "backup_compact_work_threshold", 1, INT, "3.0.0" } 517/* The number of chunks that must obviously need compaction before the compact 518 tool will go ahead with the compaction. If set to less than one, the value 519 is treated as being one. */ 520 521{ "backup_staging_path", NULL, STRING, "3.0.0" } 522/* The absolute path of the backup staging area. If not specified, 523 will be temp_path/backup */ 524 525{ "backup_retention_days", NULL, DURATION, "3.1.8", "3.1.8", "backup_retention" } 526/* Deprecated in favor of \fIbackup_retention\fR. */ 527 528{ "backup_retention", "7d", DURATION, "3.1.0" } 529/* How long to keep content in backup after it has been deleted 530 from the source. If set to a negative value or zero, deleted content 531 will be kept indefinitely. 532.PP 533 For backward compatibility, if no unit is specified, days is 534 assumed. */ 535 536{ "backup_db", "twoskip", STRINGLIST("skiplist", "sql", "twoskip", "zeroskip"), "3.1.6" } 537/* The cyrusdb backend to use for the backup locations database. */ 538 539{ "backup_db_path", NULL, STRING, "3.0.0" } 540/* The absolute path to the backup db file. If not specified, 541 will be configdirectory/backups.db */ 542 543{ "backup_keep_previous", 0, SWITCH, "3.0.0" } 544/* Whether the \fBctl_backups compact\fR and \fBctl_backups reindex\fR 545 commands should preserve the original file. The original file will 546 be named with a timestamped suffix. This is mostly useful for 547 debugging. 548.PP 549 Note that with this enabled, compacting a backup will actually 550 increase the disk used by it (because there will now be an extra 551 copy: the original version, and the compacted version). */ 552 553{ "boundary_limit", 1000, INT, "2.5.0" } 554/* messages are parsed recursively and a deep enough MIME structure 555 can cause a stack overflow. Do not parse deeper than this many 556 layers of MIME structure. The default of 1000 is much higher 557 than any sane message should have. */ 558 559{ "caldav_allowattach", 1, SWITCH, "3.0.0" } 560/* Enable managed attachments support on the CalDAV server. */ 561 562{ "caldav_allowcalendaradmin", 0, SWITCH, "3.1.2" } 563/* Enable per-user calendar administration web UI on the CalDAV server. */ 564 565{ "caldav_allowscheduling", "on", ENUM("off", "on", "apple"), "2.5.0" } 566/* Enable calendar scheduling operations. If set to "apple", the 567 server will emulate Apple CalendarServer behavior as closely as 568 possible. */ 569 570{ "caldav_create_attach", 1, SWITCH, "3.0.0" } 571/* Create the 'Attachments' collection if it doesn't already exist */ 572 573{ "caldav_create_default", 1, SWITCH, "3.0.0" } 574/* Create the 'Default' calendar if it doesn't already exist */ 575 576{ "caldav_create_sched", 1, SWITCH, "3.0.0" } 577/* Create the 'Inbox' and 'Outbox' calendars if they don't already exist */ 578 579{ "caldav_historical_age", "7d", DURATION, "3.1.8" } 580/* How long after an occurrence of event or task has concluded 581 that it is considered 'historical'. Changes to historical 582 occurrences of events or tasks WILL NOT have invite or reply 583 messages sent for them. A negative value means that events 584 and tasks are NEVER considered historical. 585.PP 586 For backward compatibility, if no unit is specified, days is 587 assumed. */ 588*/ 589 590{ "caldav_maxdatetime", "20380119T031407Z", STRING, "2.5.0" } 591/* The latest date and time accepted by the server (ISO format). This 592 value is also used for expanding non-terminating recurrence rules. 593.PP 594 Note that increasing this value will require the DAV databases for 595 calendars to be reconstructed with the \fBdav_reconstruct\fR 596 utility in order to see its effect on serer-side time-based 597 queries. */ 598 599{ "caldav_mindatetime", "19011213T204552Z", STRING, "2.5.0" } 600/* The earliest date and time accepted by the server (ISO format). */ 601 602{ "caldav_realm", NULL, STRING, "2.5.0" } 603/* The realm to present for HTTP authentication of CalDAV resources. 604 If not set (the default), the value of the "servername" option will 605 be used.*/ 606 607{ "calendarprefix", "#calendars", STRING, "2.5.0" } 608/* The prefix for the calendar mailboxes hierarchies. The hierarchy 609 delimiter will be automatically appended. The public calendar 610 hierarchy will be at the toplevel of the shared namespace. A 611 user's personal calendar hierarchy will be a child of their Inbox. */ 612 613{ "calendar_default_displayname", "personal", STRING, "3.3.0" } 614/* The displayname to be used when creating a user's 'Default' calendar. */ 615 616{ "calendar_user_address_set", NULL, STRING, "2.5.0" } 617/* Space-separated list of domains corresponding to calendar user 618 addresses for which the server is responsible. If not set (the 619 default), the value of the "servername" option will be used. */ 620 621{ "calendar_component_set", "VEVENT VTODO VJOURNAL VFREEBUSY VAVAILABILITY VPOLL", BITFIELD("VEVENT", "VTODO", "VJOURNAL", "VFREEBUSY", "VAVAILABILITY", "VPOLL"), "3.1.7" } 622/* Space-separated list of iCalendar component types that calendar 623 object resources may contain in a calendar collection. 624 This restriction is only set at calendar creation time and only 625 if the CalDAV client hasn't specified a restriction in the creation 626 request. */ 627 628{ "carddav_allowaddmember", 0, SWITCH, "3.1.3" } 629/* Enable support for POST add-member on the CardDAV server. */ 630 631{ "carddav_allowaddressbookadmin", 0, SWITCH, "3.1.2" } 632/* Enable per-user addressbook administration web UI on the CardDAV server. */ 633 634{ "carddav_realm", NULL, STRING, "2.5.0" } 635/* The realm to present for HTTP authentication of CardDAV resources. 636 If not set (the default), the value of the "servername" option will 637 be used.*/ 638 639{ "carddav_repair_vcard", 0, SWITCH, "3.0.0", "3.3.1" } 640/* If enabled, VCARDs with invalid content are attempted to be repaired 641 during creation. */ 642 643{ "chatty", 0, SWITCH, "2.5.0" } 644/* If yes, syslog tags and commands for every IMAP command, mailboxes 645 for every lmtp connection, every POP3 command, etc */ 646 647{ "client_bind", 0, SWITCH, "3.0.0" } 648/* If enabled, a specific IP will be bound when performing a client 649 connection. \fBclient_bind_name\fR is used if it is set, otherwise 650 \fBservername\fR is used. This is useful on multi-homed servers where 651 Cyrus should not use other services' interfaces. 652.PP 653 If not enabled (the default), no bind will be performed. Client 654 connections will use an IP chosen by the operating system. */ 655 656{ "client_bind_name", NULL, STRING, "3.0.0" } 657/* IPv4, IPv6 address or hostname to bind for client connections when 658 \fBclient_bind\fR is enabled. If not set (the default), 659 \fRservername\fR will be used. */ 660 661{ "client_timeout", "10s", DURATION, "3.1.8" } 662/* Time to wait before returning a timeout failure when performing a 663 client connection (e.g. in a murder environment). 664.PP 665 For backward compatibility, if no unit is specified, seconds is 666 assumed. */ 667 668{ "commandmintimer", NULL, STRING, "2.4.0" } 669/* Time in seconds. Any imap command that takes longer than this 670 time is logged. */ 671 672{ "configdirectory", NULL, STRING, "2.3.17" } 673/* The pathname of the IMAP configuration directory. This field is 674 required. */ 675 676{ "createonpost", 0, SWITCH, "2.5.0", "2.5.0", "autocreate_post" } 677/* Deprecated in favor of \fIautocreate_post\fR. */ 678 679{ "conversations", 0, SWITCH, "3.0.0" } 680/* Enable the XCONVERSATIONS extensions. Extract conversation 681 tracking information from incoming messages and track them 682 in per-user databases. */ 683 684{ "conversations_counted_flags", NULL, STRING, "3.0.0" } 685/* space-separated list of flags for which per-conversation counts 686 will be kept. Note that you need to reconstruct the conversations 687 database with ctl_conversationsdb if you change this option on a 688 running server, or the counts will be wrong. */ 689 690{ "conversations_db", "skiplist", STRINGLIST("skiplist", "sql", "twoskip", "zeroskip"), "3.1.6" } 691/* The cyrusdb backend to use for the per-user conversations database. */ 692 693{ "conversations_expire_days", NULL, DURATION, "3.1.8", "3.1.8", "conversations_expire_after" } 694/* Deprecated in favor of \fIconversations_expire_after\fR. */ 695 696{ "conversations_expire_after", "90d", DURATION, "3.1.8" } 697/* How long the conversations database keeps the message tracking 698 information needed for receiving new messages in existing 699 conversations. 700.PP 701 For backward compatibility, if no unit is specified, days is 702 assumed. */ 703 704{ "conversations_keep_existing", 1, SWITCH, "3.3.0" } 705/* during conversations cleanup, don't clean up if there are still existing emails 706 with one of the mentioned CIDs */ 707 708{ "conversations_max_thread", 100, INT, "3.1.1" } 709/* maximum size for a single thread. Threads will split if they have this many 710 messages in them and another message arrives */ 711 712{ "conversations_max_guidrecords", 5000, INT, "3.3.0" } 713/* maximum records with the same guid. This is just a sanity check to stop the same 714 email being added and removed over and over, so the default is 5000 */ 715 716{ "conversations_max_guidexists", 100, INT, "3.3.0" } 717/* maximum records with the same guid. This maps to "labels", so with the default 718 of 100, you can only have 100 labels on an email in JMAP */ 719 720{ "conversations_max_guidinfolder", 10, INT, "3.3.0" } 721/* maximum records with the same guid in the same folder. You can't do this via JMAP, 722 but could via IMAP. The default of 10 should be heaps normally! */ 723 724{ "crossdomains", 0, SWITCH, "3.0.0" } 725/* Enable cross domain sharing. This works best with alt namespace and 726 unix hierarchy separators on, so you get Other Users/foo@example.com/... */ 727 728{ "crossdomains_onlyother", 0, SWITCH, "3.0.0" } 729/* only show the domain for users in other domains than your own (for 730 backwards compatibility if you're already sharing */ 731 732{ "cyrus_group", NULL, STRING, "3.1.7" } 733/* The name of the group Cyrus services will run as. If not configured, the 734 primary group of cyrus_user will be used. Can be further overridden by 735 setting the $CYRUS_GROUP environment variable. */ 736 737{ "cyrus_user", NULL, STRING, "3.0.0" } 738/* The username to use as the 'cyrus' user. If not configured, the compile 739 time default will be used. Can be further overridden by setting the 740 $CYRUS_USER environment variable. */ 741 742{ "davdriveprefix", "#drive", STRING, "3.0.0" } 743/* The prefix for the DAV storage mailboxes hierarchies. The hierarchy 744 delimiter will be automatically appended. The public storage 745 hierarchy will be at the toplevel of the shared namespace. A 746 user's personal storage hierarchy will be a child of their Inbox. */ 747 748{ "davnotificationsprefix", "#notifications", STRING, "3.0.0" } 749/* The prefix for the DAV notifications hierarchy. The hierarchy 750 delimiter will be automatically appended. The public notifications 751 hierarchy will be at the toplevel of the shared namespace. A 752 user's personal notifications hierarchy will be a child of their Inbox. */ 753 754{ "dav_realm", NULL, STRING, "2.5.0" } 755/* The realm to present for HTTP authentication of generic DAV 756 resources (principals). If not set (the default), the value of the 757 "servername" option will be used.*/ 758 759{ "dav_lock_timeout", "20s", DURATION, "3.1.8" } 760/* The maximum time to wait for a write lock on the per-user DAV database 761 before timeout. For HTTP requests, the HTTP status code 503 is returned 762 if the lock can not be obtained within this time. 763.PP 764 For backward compatibility, if no unit is specified, seconds is 765 assumed. */ 766 767{ "debug_command", NULL, STRING, "2.3.17" } 768/* Debug command to be used by processes started with -D option. The string 769 is a C format string that gets 3 options: the first is the name of the 770 executable (as specified in the cmd parameter in cyrus.conf). The second 771 is the pid (integer) and the third is the service ID. 772 Example: /usr/local/bin/gdb /usr/cyrus/bin/%s %d */ 773 774{ "defaultacl", "anyone lrs", STRING, "2.3.17" } 775/* The Access Control List (ACL) placed on a newly-created (non-user) 776 mailbox that does not have a parent mailbox. */ 777 778{ "defaultdomain", "internal", STRING, "3.0.0" } 779/* The default domain for virtual domain support */ 780 781{ "defaultpartition", NULL, STRING, "2.3.17" } 782/* The partition name used by default for new mailboxes. If not 783 specified, the partition with the most free space will be used for 784 new mailboxes. 785.PP 786 Note that the partition specified by this option must also be 787 specified as \fIpartition-name\fR, where you substitute 'name' 788 for the alphanumeric string you set \fIdefaultpartition\fR to. */ 789 790{ "defaultsearchtier", "", STRING, "3.0.0" } 791/* Name of the default tier that messages will be indexed to. Search 792 indexes can be organized in tiers to allow index storage in different 793 directories and physical media. See the man page of squatter for 794 details. The default search tier also requires the definition 795 of an according \fIsearchtierpartition-name\fR entry. 796.PP 797 This option MUST be specified for xapian search. */ 798 799{ "defaultserver", NULL, STRING, "2.3.17" } 800/* The backend server name used by default for new mailboxes. If not 801 specified, the server with the most free space will be used for new 802 mailboxes. */ 803 804{ "deletedprefix", "DELETED", STRING, "2.3.17" } 805/* With \fBdelete_mode\fR set to \fIdelayed\fR, the 806 \fBdeletedprefix\fR setting defines the prefix for the hierarchy of 807 deleted mailboxes. 808.PP 809 The hierarchy delimiter will be automatically appended. 810*/ 811 812{ "delete_mode", "delayed", ENUM("immediate", "delayed"), "2.5.0" } 813/* The manner in which mailboxes are deleted. In the default 814 \fIdelayed\fR mode, mailboxes that are being deleted are renamed to 815 a special mailbox hierarchy under the \fBdeletedprefix\fR, to be 816 removed later by \fBcyr_expire(8)\fR. 817.PP 818 In \fIimmediate\fR mode, the mailbox is removed from the filesystem 819 immediately. 820*/ 821 822{ "delete_unsubscribe", 0, SWITCH, "3.0.0" } 823/* Whether to also unsubscribe from mailboxes when they are deleted. 824 Note that this behaviour contravenes RFC 3501 section 6.3.9, but 825 may be useful for avoiding user/client software confusion. 826 The default is 'no'. */ 827 828{ "deleteright", "c", STRING, "2.3.17" } 829/* Deprecated - only used for backwards compatibility with existing 830 installations. Lists the old RFC 2086 right which was used to 831 grant the user the ability to delete a mailbox. If a user has this 832 right, they will automatically be given the new 'x' right. */ 833 834{ "disable_user_namespace", 0, SWITCH, "2.5.0" } 835/* Preclude list command on user namespace. If set to 'yes', the 836 LIST response will never include any other user's mailbox. Admin 837 users will always see all mailboxes. The default is 'no' */ 838 839{ "disable_shared_namespace", 0, SWITCH, "2.5.0" } 840/* Preclude list command on shared namespace. If set to 'yes', the 841 LIST response will never include any non-user mailboxes. Admin 842 users will always see all mailboxes. The default is 'no' */ 843 844{ "disconnect_on_vanished_mailbox", 0, SWITCH, "2.3.17" } 845/* If enabled, IMAP/POP3/NNTP clients will be disconnected by the 846 server if the currently selected mailbox is (re)moved by another 847 session. Otherwise, the missing mailbox is treated as empty while 848 in use by the client.*/ 849 850{ "ischedule_dkim_domain", NULL, STRING, "2.5.0" } 851/* The domain to be reported as doing iSchedule DKIM signing. */ 852 853{ "ischedule_dkim_key_file", NULL, STRING, "2.5.0" } 854/* File containing the private key for iSchedule DKIM signing. */ 855 856{ "ischedule_dkim_required", 1, SWITCH, "3.1.4" } 857/* A DKIM signature is required on received iSchedule requests. */ 858 859{ "ischedule_dkim_selector", NULL, STRING, "2.5.0" } 860/* Name of the selector subdividing the domain namespace. This 861 specifies the actual key used for iSchedule DKIM signing within the 862 domain. */ 863 864{ "duplicate_db", "twoskip", STRINGLIST("skiplist", "sql", "twoskip", "zeroskip"), "3.1.6" } 865/* The cyrusdb backend to use for the duplicate delivery suppression 866 and sieve. */ 867 868{ "duplicate_db_path", NULL, STRING, "2.5.0" } 869/* The absolute path to the duplicate db file. If not specified, 870 will be configdirectory/deliver.db */ 871 872{ "duplicatesuppression", 1, SWITCH, "2.3.17" } 873/* If enabled, lmtpd will suppress delivery of a message to a mailbox if 874 a message with the same message-id (or resent-message-id) is recorded 875 as having already been delivered to the mailbox. Records the mailbox 876 and message-id/resent-message-id of all successful deliveries. */ 877 878{ "event_content_inclusion_mode", "standard", ENUM("standard", "message", "header", "body", "headerbody"), "2.5.0" } 879/* The mode in which message content may be included with MessageAppend and 880 MessageNew. "standard" mode is the default behavior in which message is 881 included up to a size with the notification. In "message" mode, the message 882 is included and may be truncated to a size. In "header" mode, it includes 883 headers truncated to a size. In "body" mode, it includes body truncated 884 to a size. In "headerbody" mode, it includes full headers and body truncated 885 to a size */ 886 887{ "event_content_size", 0, INT, "2.5.0" } 888/* Truncate the message content that may be included with MessageAppend and 889 MessageNew. Set 0 to include the entire message itself */ 890 891{ "event_exclude_flags", NULL, STRING, "2.5.0" } 892/* Don't send event notification for given IMAP flag(s) */ 893 894{ "event_exclude_specialuse", "\\Junk", STRING, "2.5.0" } 895/* Don't send event notification for folder with given special-use attributes. 896 Set ALL for any folder */ 897 898{ "event_extra_params", "timestamp", BITFIELD("bodyStructure", "clientAddress", "diskUsed", "flagNames", "messageContent", "messageSize", "messages", "modseq", "service", "timestamp", "uidnext", "vnd.cmu.midset", "vnd.cmu.unseenMessages", "vnd.cmu.envelope", "vnd.cmu.sessionId", "vnd.cmu.mailboxACL", "vnd.cmu.mbtype", "vnd.cmu.davFilename", "vnd.cmu.davUid", "vnd.fastmail.clientId", "vnd.fastmail.sessionId", "vnd.fastmail.convExists", "vnd.fastmail.convUnseen", "vnd.fastmail.cid", "vnd.fastmail.counters", "vnd.cmu.emailid", "vnd.cmu.threadid"), "3.1.6" } 899/* Space-separated list of extra parameters to add to any appropriated event. */ 900 901{ "event_groups", "message mailbox", BITFIELD("message", "quota", "flags", "access", "mailbox", "subscription", "calendar", "applepushservice" ), "3.0.0" } 902/* Space-separated list of groups of related events to turn on notification */ 903 904{ "event_notifier", NULL, STRING, "2.5.0" } 905/* Notifyd(8) method to use for "EVENT" notifications which are based on 906 the RFC 5423. If not set, "EVENT" notifications are disabled. */ 907 908{ "expunge_mode", "delayed", ENUM("immediate", "semidelayed", "delayed"), "3.1.1" } 909/* The mode in which messages (and their corresponding cache entries) 910 are expunged. "semidelayed" mode is the old behavior in which the 911 message files are purged at the time of the EXPUNGE, but index 912 and cache records are retained to facilitate QRESYNC. 913 In "delayed" mode, which is the default since Cyrus 2.5.0, 914 the message files are also retained, allowing unexpunge to 915 rescue them. In "immediate" mode, both the message files and the 916 index records are removed as soon as possible. In all cases, 917 nothing will be finally purged until all other processes have 918 closed the mailbox to ensure they never see data disappear under 919 them. In "semidelayed" or "delayed" mode, a later run of "cyr_expire" 920 will clean out the retained records (and possibly message files). 921 This reduces the amount of I/O that takes place at the time of 922 EXPUNGE and should result in greater responsiveness for the client, 923 especially when expunging a large number of messages. */ 924 925{ "failedloginpause", "3s", DURATION, "3.1.8" } 926/* Time to pause after a failed login. 927.PP 928 For backward compatibility, if no unit is specified, seconds is 929 assumed. */ 930 931{ "flushseenstate", 1, SWITCH, "2.5.0", "2.5.0" } 932/* Deprecated. No longer used */ 933 934{ "foolstupidclients", 0, SWITCH, "2.3.17" } 935/* If enabled, only list the personal namespace when a LIST "*" is performed 936 (it changes the request to a LIST "INBOX*"). */ 937 938{ "force_sasl_client_mech", NULL, STRING, "2.3.17" } 939/* Force preference of a given SASL mechanism for client side operations 940 (e.g., murder environments). This is separate from (and overridden by) 941 the ability to use the <host shortname>_mechs option to set preferred 942 mechanisms for a specific host */ 943 944{ "fulldirhash", 0, SWITCH, "2.3.17" } 945/* If enabled, uses an improved directory hashing scheme which hashes 946 on the entire username instead of using just the first letter as 947 the hash. This changes hash algorithm used for quota and user 948 directories and if \fIhashimapspool\fR is enabled, the entire mail 949 spool. 950.PP 951 Note that this option CANNOT be changed on a live system. The 952 server must be quiesced and then the directories moved with the 953 \fBrehash\fR utility. */ 954 955{ "hashimapspool", 0, SWITCH, "2.3.17" } 956/* If enabled, the partitions will also be hashed, in addition to the 957 hashing done on configuration directories. This is recommended if 958 one partition has a very bushy mailbox tree. */ 959 960{ "debug", 0, SWITCH, "2.5.0" } 961/* If enabled, allow syslog() to pass LOG_DEBUG messages. */ 962 963# Commented out - there's no such thing as "hostname_mechs", but we need 964# this for the man page 965# { "hostname_mechs", NULL, STRING, "2.3.17" } 966/* Force a particular list of SASL mechanisms to be used when authenticating 967 to the backend server hostname (where hostname is the short hostname of 968 the server in question). If it is not specified it will query the server 969 for available mechanisms and pick one to use. - Cyrus Murder */ 970 971# Commented out - there's no such thing as "hostname_password", but we need 972# this for the man page 973# { "hostname_password", NULL, STRING, "2.3.17" } 974/* The password to use for authentication to the backend server hostname 975 (where hostname is the short hostname of the server) - Cyrus Murder */ 976 977{ "httpallowcompress", 1, SWITCH, "2.5.0" } 978/* If enabled, the server will compress response payloads if the client 979 indicates that it can accept them. Note that the compressed data 980 will appear in telemetry logs, leaving only the response headers as 981 human-readable.*/ 982 983{ "httpallowcors", NULL, STRING, "2.5.0" } 984/* A wildmat pattern specifying a list of origin URIs ( scheme "://" 985 host [ ":" port ] ) that are allowed to make Cross-Origin Resource 986 Sharing (CORS) requests on the server. By default, CORS requests 987 are disabled. 988.PP 989 Note that the scheme and host should both be lowercase, the port 990 should be omitted if using the default for the scheme (80 for http, 991 443 for https), and there should be no trailing '/' (e.g.: 992 "http://www.example.com:8080", "https://example.org"). */ 993 994{ "httpallowtrace", 0, SWITCH, "2.5.0" } 995/* Allow use of the TRACE method. 996.PP 997 Note that sensitive data might be disclosed by the response. */ 998 999{ "httpallowedurls", NULL, STRING, "2.5.0" } 1000/* Space-separated list of relative URLs (paths) rooted at 1001 "httpdocroot" (see below) to be served by httpd. If set, this 1002 option will limit served static content to only those paths specified 1003 (returning "404 Not Found" to any other client requested URLs). 1004 Otherwise, httpd will serve any content found in "httpdocroot". 1005.PP 1006 Note that any path specified by "rss_feedlist_template" is an 1007 exception to this rule.*/ 1008 1009{ "httpcontentmd5", 0, SWITCH, "2.5.0" } 1010/* If enabled, HTTP responses will include a Content-MD5 header for 1011 the purpose of providing an end-to-end message integrity check 1012 (MIC) of the payload body. Note that enabling this option will 1013 use additional CPU to generate the MD5 digest, which may be ignored 1014 by clients anyways. */ 1015 1016{ "httpdocroot", NULL, STRING, "2.5.0" } 1017/* If set, http will serve the static content (html/text/jpeg/gif 1018 files, etc) rooted at this directory. Otherwise, httpd will not 1019 serve any static content. */ 1020 1021{ "httpkeepalive", "20s", DURATION, "3.1.8" } 1022/* Set the length of the HTTP server's keepalive heartbeat. The 1023 default is 20 seconds. The minimum value is 0, which will disable 1024 the keepalive heartbeat. When enabled, if a request takes longer 1025 than \fIhttpkeepalive\fR to process, the server will send the client 1026 provisional responses every \fIhttpkeepalive\fR until the final 1027 response can be sent. 1028.PP 1029 For backward compatibility, if no unit is specified, seconds is 1030 assumed. */ 1031 1032{ "httplogheaders", NULL, STRING, "3.3.1" } 1033/* Space-separated list of HTTP header fields that will be included 1034 in the requests logged by httpd(8). */ 1035 1036{ "httpmodules", "", BITFIELD("admin", "caldav", "carddav", "cgi", "domainkey", "freebusy", "ischedule", "jmap", "prometheus", "rss", "tzdist", "webdav"), "3.1.7" } 1037/* Space-separated list of HTTP modules that will be enabled in 1038 httpd(8). This option has no effect on modules that are disabled 1039 at compile time due to missing dependencies (e.g. libical). 1040.PP 1041 Note that "domainkey" depends on "ischedule" being enabled, and 1042 that both "freebusy" and "ischedule" depend on "caldav" being 1043 enabled. */ 1044 1045{ "httpprettytelemetry", 0, SWITCH, "2.5.0" } 1046/* If enabled, HTTP response payloads including server-generated 1047 markup languages (HTML, XML) will utilize line breaks and 1048 indentation to promote better human-readability in telemetry logs. 1049 Note that enabling this option will increase the amount of data 1050 sent across the wire. */ 1051 1052{ "httptimeout", "5m", DURATION, "3.1.8" } 1053/* Set the length of the HTTP server's inactivity autologout timer. 1054 The default is 5 minutes. The minimum value is 0, which will 1055 disable persistent connections. 1056.PP 1057 For backwards compatibility, if no unit is specified, minutes 1058 is assumed. */ 1059 1060{ "idlesocket", "{configdirectory}/socket/idle", STRING, "2.3.17" } 1061/* Unix domain socket that idled listens on. */ 1062 1063{ "ignorereference", 0, SWITCH, "2.3.17" } 1064/* For backwards compatibility with Cyrus 1.5.10 and earlier -- ignore 1065 the reference argument in LIST or LSUB commands. */ 1066 1067{ "imapidlepoll", "60s", DURATION, "3.1.8" } 1068/* The interval for polling for mailbox changes and ALERTs while running 1069 the IDLE command. This option is used when idled is not enabled or 1070 cannot be contacted. The minimum value is 1 second. A value of 0 1071 will disable IDLE. 1072.PP 1073 For backward compatibility, if no unit is specified, seconds is 1074 assumed. */ 1075 1076{ "imapidresponse", 1, SWITCH, "2.3.17" } 1077/* If enabled, the server responds to an ID command with a parameter 1078 list containing: version, vendor, support-url, os, os-version, 1079 command, arguments, environment. Otherwise the server returns NIL. */ 1080 1081{ "imapmagicplus", 0, SWITCH, "2.3.17" } 1082/* Only list a restricted set of mailboxes via IMAP by using 1083 userid+namespace syntax as the authentication/authorization id. 1084 Using userid+ (with an empty namespace) will list only subscribed 1085 mailboxes. */ 1086 1087{ "imipnotifier", NULL, STRING, "3.0.0" } 1088/* Notifyd(8) method to use for "IMIP" notifications which are based on 1089 the RFC 6047. If not set, "IMIP" notifications are disabled. */ 1090 1091{ "implicit_owner_rights", "lkxan", STRING, "3.1.2" } 1092/* The implicit Access Control List (ACL) for the owner of a mailbox. */ 1093 1094# Commented out - there's no such thing as "@include", but we need 1095# this for the man page 1096# { "@include", NULL, STRING, "2.3.17" } 1097/* Directive which includes the specified file as part of the 1098 configuration. If the path to the file is not absolute, CYRUS_PATH 1099 is prepended. */ 1100 1101{ "improved_mboxlist_sort", 0, SWITCH, "2.3.17" } 1102/* If enabled, a special comparator will be used which will correctly 1103 sort mailbox names that contain characters such as ' ' and '-'. 1104.PP 1105 Note that this option SHOULD NOT be changed on a live system. The 1106 mailboxes database should be dumped (ctl_mboxlist) before the 1107 option is changed, removed, and then undumped after changing the 1108 option. When not using flat files for the subscriptions databases 1109 the same has to be done (cyr_dbtool) for each subscription database 1110 See improved_mboxlist_sort.html.*/ 1111 1112{ "jmap_emailsearch_db_path", NULL, STRING, "3.1.6" } 1113/* The absolute path to the JMAP email search cache file. If not 1114 specified, JMAP Email/query and Email/queryChanges will not 1115 cache email search results. */ 1116 1117{ "jmap_preview_annot", NULL, STRING, "3.1.1" } 1118/* The name of the per-message annotation, if any, to store message 1119 previews. */ 1120 1121{ "jmap_imagesize_annot", NULL, STRING, "3.1.1" } 1122/* The name of the per-message annotation, if any, that stores a 1123 JSON object, mapping message part numbers of MIME image types 1124 to an array of their image dimensions. The array must have at 1125 least two entries, where the first entry denotes the width 1126 and the second entry the height of the image. Any additional 1127 values are ignored. 1128 1129 For example, if message part 1.2 contains an image of width 300 1130 and height 200, then the value of this annotation would be: 1131 1132 { "1.2" : [ 300, 200 ] } 1133 */ 1134 1135{ "jmap_inlinedcids_annot", NULL, STRING, "3.1.1" } 1136/* The name of the per-message annotation, if any, that stores a 1137 JSON object, mapping RFC 2392 Content-IDs referenced in HTML bodies 1138 to the respective HTML body part number. 1139 1140 For example, if message part 1.2 contains HTML and references an 1141 inlined image at "cid:foo", then the value of this annotation 1142 would be: 1143 1144 { "<foo>" : "1.2" } 1145 1146 Note that the Content-ID key must be URL-unescaped and enclosed in 1147 angular brackets, as defined in RFC 2392. */ 1148 1149{ "jmap_preview_length", 64, INT, "3.1.1" } 1150/* The maximum byte length of dynamically generated message previews. Previews 1151 stored in jmap_preview_annot take precedence. */ 1152 1153{ "jmap_max_size_upload", 1048576, INT, "3.1.6" } 1154/* The maximum size (in kilobytes) that the JMAP API accepts 1155 for blob uploads. Returned as the maxSizeUpload property 1156 value of the JMAP \"urn:ietf:params:jmap:core\" capabilities object. 1157 Default is 1Gb. */ 1158 1159{ "jmap_max_size_blob_set", 4096, INT, "3.3.0" } 1160/* The maximum size (in kilobytes) that the JMAP API accepts 1161 for Blob/set. Returned as the maxSizeBlobSet property 1162 value of the JMAP \"https://cyrusimap.org/ns/jmap/blob\" capabilities object. 1163 Default is 4Mb. */ 1164 1165{ "jmap_max_concurrent_upload", 5, INT, "3.1.6" } 1166/* The value to return for the maxConcurrentUpload property of 1167 the JMAP \"urn:ietf:params:jmap:core\" capabilities object. The Cyrus JMAP 1168 implementation does not enforce this rate-limit. */ 1169 1170{ "jmap_max_size_request", 10240, INT, "3.1.6" } 1171/* The maximum size (in kilobytes) that the JMAP API accepts 1172 for requests at the API endpoint. Returned as the 1173 maxSizeRequest property value of the JMAP \"urn:ietf:params:jmap:core\" 1174 capabilities object. Default is 10Mb. */ 1175 1176{ "jmap_max_concurrent_requests", 5, INT, "3.1.6" } 1177/* The value to return for the maxConcurrentRequests property of 1178 the JMAP \"urn:ietf:params:jmap:core\" capabilities object. The Cyrus JMAP 1179 implementation does not enforce this rate-limit. */ 1180 1181{ "jmap_max_calls_in_request", 50, INT, "3.1.6" } 1182/* The maximum number of calls per JMAP request object. 1183 Returned as the maxCallsInRequest property value of the 1184 JMAP \"urn:ietf:params:jmap:core\" capabilities object. */ 1185 1186{ "jmap_max_delayed_send", "512d", DURATION, "3.1.8" } 1187/* The value to return for the maxDelayedSend property of 1188 the JMAP \"urn:ietf:params:jmap:emailsubmission\" capabilities object. 1189 The Cyrus JMAP implementation does not enforce this limit. 1190.PP 1191 For backward compatibility, if no unit is specified, seconds is 1192 assumed. */ 1193 1194{ "jmap_max_objects_in_get", 4096, INT, "3.1.6" } 1195/* The maximum number of ids that a JMAP client may request in 1196 a single \"/get\" type method call. The actual number 1197 of returned objects in the response may exceed this number 1198 if the JMAP object type supports unbounded \"/get\" calls. 1199 Returned as the maxObjectsInGet property value of the 1200 JMAP \"urn:ietf:params:jmap:core\" capabilities object. */ 1201 1202{ "jmap_max_objects_in_set", 4096, INT, "3.1.6" } 1203/* The maximum number of objects a JMAP client may send to create, 1204 update or destroy in a single /set type method call. 1205 Returned as the maxObjectsInSet property value of the 1206 JMAP \"urn:ietf:params:jmap:core\" capabilities object. */ 1207 1208{ "jmap_mail_max_size_attachments_per_email", 10240, INT, "3.1.6" } 1209/* The value (in kilobytes) to return for the maxSizeAttachmentsPerEmail 1210 property of the JMAP \"urn:ietf:params:jmap:mail\" capabilities object. The Cyrus 1211 JMAP implementation does not enforce this size limit. Default is 10 Mb.*/ 1212 1213{ "jmap_nonstandard_extensions", 0, SWITCH, "3.1.9" } 1214/* If enabled, support non-standard JMAP extensions. If not enabled, 1215 only IETF standard JMAP functionality is supported. */ 1216 1217{ "jmap_set_has_attachment", 1, SWITCH, "3.1.5" } 1218/* If enabled, the $hasAttachment flag is determined and set for new messages 1219 created with the JMAP Email/set or Email/import methods. This option should 1220 typically be enabled, but installations using Cyrus-external message 1221 annatotors to determine the $hasAttachment flag might want to disable it. */ 1222 1223{ "jmap_vacation", 1, SWITCH, "3.1.8" } 1224/* If enabled, support the JMAP vacation extension */ 1225 1226{ "jmapuploadfolder", "#jmap", STRING, "3.1.1" } 1227/* the name of the folder for JMAP uploads (#jmap) */ 1228 1229{ "jmapsubmission_deleteonsend", 1, SWITCH, "3.1.8" } 1230/* If enabled (the default) then delete the EmailSubmission as soon as the email 1231 * has been sent */ 1232 1233{ "jmapsubmissionfolder", "#jmapsubmission", STRING, "3.1.8" } 1234/* the name of the folder for JMAP Submissions (#jmapsubmission) */ 1235 1236{ "jmappushsubscriptionfolder", "#jmappushsubscription", STRING, "3.1.8" } 1237/* the name of the folder for JMAP Push Subscriptions (#jmappushsubscription) */ 1238 1239{ "iolog", 0, SWITCH, "2.5.0" } 1240/* Should cyrus output I/O log entries */ 1241 1242{ "ldap_authz", NULL, STRING, "2.3.17" } 1243/* SASL authorization ID for the LDAP server */ 1244 1245{ "ldap_base", "", STRING, "2.3.17" } 1246/* Contains the LDAP base dn for the LDAP ptloader module */ 1247 1248{ "ldap_bind_dn", NULL, STRING, "2.3.17" } 1249/* Bind DN for the connection to the LDAP server (simple bind). 1250 Do not use for anonymous simple binds */ 1251 1252{ "ldap_deref", "never", STRINGLIST("search", "find", "always", "never"), "2.3.17" } 1253/* Specify how aliases dereferencing is handled during search. */ 1254 1255{ "ldap_domain_base_dn", "", STRING, "2.5.0" } 1256/* Base DN to search for domain name spaces. */ 1257 1258{ "ldap_domain_filter", "(&(objectclass=domainrelatedobject)(associateddomain=%s))", STRING, "2.5.0" } 1259/* Filter to use searching for domains */ 1260 1261{ "ldap_domain_name_attribute", "associateddomain", STRING, "2.5.0" } 1262/* The attribute name for domains. */ 1263 1264{ "ldap_domain_scope", "sub", STRINGLIST("sub", "one", "base"), "2.5.0" } 1265/* Search scope */ 1266 1267{ "ldap_domain_result_attribute", "inetdomainbasedn", STRING, "2.5.0" } 1268/* Result attribute */ 1269 1270{ "ldap_filter", "(uid=%u)", STRING, "2.3.17" } 1271/* Specify a filter that searches user identifiers. The following tokens can be 1272 used in the filter string: 1273 1274 %% = % 1275 %u = user 1276 %U = user portion of %u (%U = test when %u = test@domain.tld) 1277 %d = domain portion of %u if available (%d = domain.tld when %u = 1278 test@domain.tld), otherwise same as %R 1279 %R = domain portion of %u starting with @ (%R = @domain.tld 1280 when %u = test@domain.tld) 1281 %D = user dn. (use when ldap_member_method: filter) 1282 %1-9 = domain tokens (%1 = tld, %2 = domain when %d = domain.tld) 1283 1284 ldap_filter is not used when ldap_sasl is enabled. */ 1285 1286{ "ldap_group_base", "", STRING, "2.3.17" } 1287/* LDAP base dn for ldap_group_filter. */ 1288 1289{ "ldap_group_filter", "(cn=%u)", STRING, "2.3.17" } 1290/* Specify a filter that searches for group identifiers. 1291 See ldap_filter for more options. */ 1292 1293{ "ldap_group_scope", "sub", STRINGLIST("sub", "one", "base"), "2.3.17" } 1294/* Specify search scope for ldap_group_filter. */ 1295 1296{ "ldap_id", NULL, STRING, "2.3.17" } 1297/* SASL authentication ID for the LDAP server */ 1298 1299{ "ldap_mech", NULL, STRING, "2.3.17" } 1300/* SASL mechanism for LDAP authentication */ 1301 1302{ "ldap_user_attribute", NULL, STRING, "2.5.0" } 1303/* Specify LDAP attribute to use as canonical user id */ 1304 1305{ "ldap_member_attribute", NULL, STRING, "2.3.17" } 1306/* See ldap_member_method. */ 1307 1308{ "ldap_member_base", "", STRING, "2.3.17" } 1309/* LDAP base dn for ldap_member_filter. */ 1310 1311{ "ldap_member_filter", "(member=%D)", STRING, "2.3.17" } 1312/* Specify a filter for "ldap_member_method: filter". 1313 See ldap_filter for more options. */ 1314 1315{ "ldap_member_method", "attribute", STRINGLIST("attribute", "filter"), "2.3.17" } 1316/* Specify a group method. The "attribute" method retrieves groups from 1317 a multi-valued attribute specified in ldap_member_attribute. 1318 1319 The "filter" method uses a filter, specified by ldap_member_filter, to find 1320 groups; ldap_member_attribute is a single-value attribute group name. */ 1321 1322{ "ldap_member_scope", "sub", STRINGLIST("sub", "one", "base"), "2.3.17" } 1323/* Specify search scope for ldap_member_filter. */ 1324 1325{ "ldap_password", NULL, STRING, "2.3.17" } 1326/* Password for the connection to the LDAP server (SASL and simple bind). 1327 Do not use for anonymous simple binds */ 1328 1329{ "ldap_realm", NULL, STRING, "2.3.17" } 1330/* SASL realm for LDAP authentication */ 1331 1332{ "ldap_referrals", 0, SWITCH, "2.3.17" } 1333/* Specify whether or not the client should follow referrals. */ 1334 1335{ "ldap_restart", 1, SWITCH, "2.3.17" } 1336/* Specify whether or not LDAP I/O operations are automatically restarted 1337 if they abort prematurely. */ 1338 1339{ "ldap_sasl", 1, SWITCH, "2.3.17" } 1340/* Use SASL for LDAP binds in the LDAP PTS module. */ 1341 1342{ "ldap_sasl_authc", NULL, STRING, "2.5.0", "2.5.0", "ldap_id" } 1343/* Deprecated. Use ldap_id */ 1344 1345{ "ldap_sasl_authz", NULL, STRING, "2.5.0", "2.5.0", "ldap_authz" } 1346/* Deprecated. Use ldap_authz */ 1347 1348{ "ldap_sasl_mech", NULL, STRING, "2.5.0", "2.5.0", "ldap_mech" } 1349/* Deprecated. Use ldap_mech */ 1350 1351{ "ldap_sasl_password", NULL, STRING, "2.5.0", "2.5.0", "ldap_password" } 1352/* Deprecated. User ldap_password */ 1353 1354{ "ldap_sasl_realm", NULL, STRING, "2.5.0", "2.5.0", "ldap_realm" } 1355/* Deprecated. Use ldap_realm */ 1356 1357{ "ldap_scope", "sub", STRINGLIST("sub", "one", "base"), "2.3.17" } 1358/* Specify search scope. */ 1359 1360{ "ldap_servers", "ldap://localhost/", STRING, "2.5.0", "2.5.0", "ldap_uri" } 1361/* Deprecated. Use ldap_uri */ 1362 1363{ "ldap_size_limit", 1, INT, "2.3.17" } 1364/* Specify a number of entries for a search request to return. */ 1365 1366{ "ldap_start_tls", 0, SWITCH, "2.3.17" } 1367/* Use transport layer security for ldap:// using STARTTLS. Do not use 1368 ldaps:// in 'ldap_uri' with this option enabled. */ 1369 1370{ "ldap_time_limit", "5s", DURATION, "3.1.8" } 1371/* How long to wait for a search request to complete. 1372.PP 1373 For backward compatibility, if no unit is specified, seconds is 1374 assumed. */ 1375 1376{ "ldap_timeout", "5s", DURATION, "3.1.8" } 1377/* How long a search can take before timing out. 1378.PP 1379 For backward compatibility, if no unit is specified, seconds is 1380 assumed. */ 1381 1382{ "ldap_ca_dir", NULL, STRING, "2.5.0" } 1383/* Path to a directory with CA (Certificate Authority) certificates. */ 1384 1385{ "ldap_ca_file", NULL, STRING, "2.5.0" } 1386/* Path to a file containing CA (Certificate Authority) certificate(s). */ 1387 1388{ "ldap_ciphers", NULL, STRING, "2.5.0" } 1389/* List of SSL/TLS ciphers to allow. The format of the string is 1390 described in ciphers(1). */ 1391 1392{ "ldap_client_cert", NULL, STRING, "2.5.0" } 1393/* File containing the client certificate. */ 1394 1395{ "ldap_client_key", NULL, STRING, "2.5.0" } 1396/* File containing the private client key. */ 1397 1398{ "ldap_verify_peer", 0, SWITCH, "2.5.0" } 1399/* Require and verify server certificate. If this option is yes, 1400 you must specify ldap_ca_file or ldap_ca_dir. */ 1401 1402{ "ldap_tls_cacert_dir", NULL, STRING, "2.5.0", "2.5.0", "ldap_ca_dir" } 1403/* Deprecated in favor of \fIldap_ca_dir\fR. */ 1404 1405{ "ldap_tls_cacert_file", NULL, STRING, "2.5.0", "2.5.0", "ldap_ca_file" } 1406/* Deprecated in favor of \fIldap_ca_file\fR. */ 1407 1408{ "ldap_tls_cert", NULL, STRING, "2.5.0", "2.5.0", "ldap_client_cert" } 1409/* Deprecated in favor of \fIldap_client_cert\fR. */ 1410 1411{ "ldap_tls_key", NULL, STRING, "2.5.0", "2.5.0", "ldap_client_key" } 1412/* Deprecated in favor of \fIldap_client_key\fR. */ 1413 1414{ "ldap_tls_check_peer", 0, SWITCH, "2.5.0", "2.5.0", "ldap_verify_peer" } 1415/* Deprecated in favor of \fIldap_verify_peer\fR. */ 1416 1417{ "ldap_tls_ciphers", NULL, STRING, "2.5.0", "2.5.0", "ldap_ciphers" } 1418/* Deprecated in favor of \fIldap_ciphers\fR. */ 1419 1420{ "ldap_uri", NULL, STRING, "2.3.17" } 1421/* Contains a list of the URLs of all the LDAP servers when using the 1422 LDAP PTS module. */ 1423 1424{ "ldap_version", 3, INT, "2.3.17" } 1425/* Specify the LDAP protocol version. If ldap_start_tls and/or 1426 ldap_use_sasl are enabled, ldap_version will be automatically 1427 set to 3. */ 1428 1429{ "literalminus", 0, SWITCH, "3.0.0" } 1430/* if enabled, CAPABILITIES will reply with LITERAL- rather than 1431 LITERAL+ (RFC 7888). Doesn't actually size-restrict uploads though */ 1432 1433{ "lmtp_downcase_rcpt", 1, SWITCH, "2.5.0" } 1434/* If enabled, lmtpd will convert the recipient addresses to lowercase 1435 (up to a '+' character, if present). */ 1436 1437{ "lmtp_exclude_specialuse", "\\Snoozed", STRING, "3.1.8" } 1438/* Don't allow delivery to folders with given special-use attributes. 1439.PP 1440 Note that "snoozing" of emails can currently only be done via the 1441 JMAP protocol, so delivery directly to the \Snoozed mailbox is 1442 prohibited by default as it will not be moved back into INBOX 1443 automatically. */ 1444 1445{ "lmtp_fuzzy_mailbox_match", 0, SWITCH, "2.3.17" } 1446/* If enabled, and the mailbox specified in the detail part of the 1447 recipient (everything after the '+') does not exist, lmtpd will try 1448 to find the closest match (ignoring case, ignoring whitespace, 1449 falling back to parent) to the specified mailbox name. */ 1450 1451{ "lmtp_over_quota_perm_failure", 0, SWITCH, "2.3.17" } 1452/* If enabled, lmtpd returns a permanent failure code when a user's 1453 mailbox is over quota. By default, the failure is temporary, 1454 causing the MTA to queue the message and retry later. */ 1455 1456{ "lmtp_preparse", 0, SWITCH, "3.3.1" } 1457/* If enabled, lmtpd will map in the email and parse the xapian data 1458 for jmapsearch. The advantage is that the parsing is done without 1459 holding any locks. The disadvantage is that the parsing is done 1460 even if it winds up not being needed. */ 1461 1462{ "lmtp_strict_quota", 0, SWITCH, "2.3.17" } 1463/* If enabled, lmtpd returns a failure code when the incoming message 1464 will cause the user's mailbox to exceed its quota. By default, the 1465 failure won't occur until the mailbox is already over quota. */ 1466 1467{ "lmtp_strict_rfc2821", 1, SWITCH, "2.5.0" } 1468/* By default, lmtpd will be strict (per RFC 2821) with regards to which 1469 envelope addresses are allowed. If this option is set to false, 8bit 1470 characters in the local-part of envelope addresses are changed to 'X' 1471 instead. This is useful to avoid generating backscatter with 1472 certain MTAs like Postfix or Exim which accept such messages. */ 1473 1474{ "lmtpsocket", "{configdirectory}/socket/lmtp", STRING, "2.3.17" } 1475/* Unix domain socket that lmtpd listens on, used by deliver(8). This should 1476 match the path specified in cyrus.conf(5). */ 1477 1478{ "lmtptxn_timeout", "5m", DURATION, "3.1.8" } 1479/* Timeout used during a lmtp transaction to a remote backend (e.g. in a 1480 murder environment). Can be used to prevent hung lmtpds on proxy hosts 1481 when a backend server becomes unresponsive during a lmtp transaction. 1482 The default is 5 minutes - change to zero for infinite. 1483.PP 1484 For backward compatibility, if no unit is specified, seconds is 1485 assumed. */ 1486 1487{ "lock_debugtime", NULL, STRING, "3.1.4" } 1488/* A floating point number of seconds. If set, time how long we wait for 1489 any lock, and syslog the filename and time if it's longer than this 1490 value. The default of NULL means not to time locks. */ 1491 1492# xxx how does this tie into virtual domains? 1493{ "loginrealms", "", STRING, "2.3.17" } 1494/* The list of remote realms whose users may authenticate using cross-realm 1495 authentication identifiers. Separate each realm name by a space. (A 1496 cross-realm identity is considered any identity returned by SASL 1497 with an "@" in it.). */ 1498 1499{ "loginuseacl", 0, SWITCH, "2.3.17" } 1500/* If enabled, any authentication identity which has \fBa\fR rights on a 1501 user's INBOX may log in as that user. */ 1502 1503{ "logtimestamps", 0, SWITCH, "2.3.17" } 1504/* Include notations in the protocol telemetry logs indicating the number of 1505 seconds since the last command or response. */ 1506 1507{ "mailbox_default_options", 0, INT, "2.3.17" } 1508/* Default "options" field for the mailbox on create. You'll want to know 1509 what you're doing before setting this, but it can apply some default 1510 annotations like duplicate suppression */ 1511 1512{ "mailbox_initial_flags", NULL, STRING, "2.5.0" } 1513/* space-separated list of permanent flags which will be pre-set in every 1514 newly created mailbox. If you know you will require particular 1515 flag names then this avoids a possible race condition against a client 1516 that fills the entire 128 available slots. Default is NULL, which is 1517 no flags. Example: $Label1 $Label2 $Label3 NotSpam Spam */ 1518 1519{ "mailbox_maxmessages_addressbook", 0, INT, "3.3.0" } 1520/* Limit the number of messages that may exist in a single mailbox of 1521 "addressbook" type. Default (0) means no limit. This limit applies 1522 after quotas are checked, so if you have both quota limits and this 1523 set, then you will be denied if you are either over quota or over 1524 this per-mailbox count. */ 1525 1526{ "mailbox_maxmessages_calendar", 0, INT, "3.3.0" } 1527/* Limit the number of messages that may exist in a single mailbox of 1528 "calendar" type. Default (0) means no limit. This limit applies 1529 after quotas are checked, so if you have both quota limits and this 1530 set, then you will be denied if you are either over quota or over 1531 this per-mailbox count. */ 1532 1533{ "mailbox_maxmessages_email", 0, INT, "3.3.0" } 1534/* Limit the number of messages that may exist in a single mailbox of 1535 "email" (normal) type. Default (0) means no limit. This limit applies 1536 after quotas are checked, so if you have both quota limits and this 1537 set, then you will be denied if you are either over quota or over 1538 this per-mailbox count. */ 1539 1540{ "mailnotifier", NULL, STRING, "2.3.17" } 1541/* Notifyd(8) method to use for "MAIL" notifications. If not set, "MAIL" 1542 notifications are disabled. */ 1543 1544{ "master_bind_errors_fatal", 0, SWITCH, "3.3.0" } 1545/* If enabled, failure to bind a port during startup is treated as a fatal 1546 error, causing master to shut down immediately. The default is to keep 1547 running, with the affected service disabled until the next SIGHUP causes 1548 it to retry. 1549.PP 1550 Note that this only applies during startup. New services that fail to 1551 come up in response to a reconfig+SIGHUP will just be logged and disabled 1552 like the default behaviour, without causing master to exit. */ 1553 1554{ "maxheaderlines", 1000, INT, "2.3.17" } 1555/* Maximum number of lines of header that will be processed into cache 1556 records. Default 1000. If set to zero, it is unlimited. 1557 If a message hits the limit, an error will be logged and the rest of 1558 the lines in the header will be skipped. This is to avoid malformed 1559 messages causing giant cache records */ 1560 1561{ "maxlogins_per_host", 0, INT, "2.5.0" } 1562/* Maximum number of logged in sessions allowed per host, 1563 zero means no limit */ 1564 1565{ "maxlogins_per_user", 0, INT, "2.5.0" } 1566/* Maximum number of logged in sessions allowed per user, 1567 zero means no limit */ 1568 1569{ "maxmessagesize", 0, INT, "2.3.17" } 1570/* Maximum incoming LMTP message size. If non-zero, lmtpd will reject 1571 messages larger than \fImaxmessagesize\fR bytes. If set to 0, this 1572 will allow messages of any size (the default). */ 1573 1574{ "maxquoted", 131072, INT, "2.3.17" } 1575/* Maximum size of a single quoted string for the parser. Default 128k */ 1576 1577{ "maxword", 131072, INT, "2.3.17" } 1578/* Maximum size of a single word for the parser. Default 128k */ 1579 1580{ "mboxkey_db", "twoskip", STRINGLIST("skiplist", "twoskip", "zeroskip"), "3.1.6" } 1581/* The cyrusdb backend to use for mailbox keys. */ 1582 1583{ "mboxlist_db", "twoskip", STRINGLIST("flat", "skiplist", "sql", "twoskip", "zeroskip"), "3.1.6" } 1584/* The cyrusdb backend to use for the mailbox list. */ 1585 1586{ "mboxlist_db_path", NULL, STRING, "2.5.0" } 1587/* The absolute path to the mailboxes db file. If not specified 1588 will be configdirectory/mailboxes.db */ 1589 1590{ "mboxname_lockpath", NULL, STRING, "2.4.0" } 1591/* Path to mailbox name lock files (default $conf/lock) */ 1592 1593{ "metapartition_files", "", BITFIELD("header", "index", "cache", "expunge", "squat", "annotations", "lock", "dav", "archivecache"), "3.0.0" } 1594/* Space-separated list of metadata files to be stored on a 1595 \fImetapartition\fR rather than in the mailbox directory on a spool 1596 partition. */ 1597 1598# Commented out - there's no such thing as "metapartition-name", 1599# but we need this for the man page 1600# { "metapartition-name", NULL, STRING, "2.3.17" } 1601/* The pathname of the metadata partition \fIname\fR, corresponding to 1602 spool partition \fBpartition-name\fR. For any mailbox residing in 1603 a directory on \fBpartition-name\fR, the metadata files listed in 1604 \fImetapartition_files\fR will be stored in a corresponding directory on 1605 \fBmetapartition-name\fR. Note that not every 1606 \fBpartition-name\fR option is required to have a corresponding 1607 \fBmetapartition-name\fR option, so that you can selectively choose 1608 which spool partitions will have separate metadata partitions. */ 1609 1610{ "mupdate_authname", NULL, STRING, "2.3.17" } 1611/* The SASL username (Authentication Name) to use when authenticating to the 1612 mupdate server (if needed). */ 1613 1614{ "mupdate_config", "standard", ENUM("standard", "unified", "replicated"), "2.3.17" } 1615/* The configuration of the mupdate servers in the Cyrus Murder. 1616 The "standard" config is one in which there are discreet frontend 1617 (proxy) and backend servers. The "unified" config is one in which 1618 a server can be both a frontend and backend. The "replicated" 1619 config is one in which multiple backend servers all share the same 1620 mailspool, but each have their own "replicated" copy of 1621 mailboxes.db. */ 1622 1623{ "munge8bit", 1, SWITCH, "2.3.17" } 1624/* If enabled, lmtpd munges messages with 8-bit characters in the 1625 headers. The 8-bit characters are changed to `X'. If 1626 \fBreject8bit\fR is enabled, setting \fBmunge8bit\fR has no effect. 1627 (A proper solution to non-ASCII characters in headers is offered by 1628 RFC 2047 and its predecessors.) */ 1629 1630# xxx badly worded 1631{ "mupdate_connections_max", 128, INT, "2.3.17" } 1632/* The max number of connections that a mupdate process will allow, this 1633 is related to the number of file descriptors in the mupdate process. 1634 Beyond this number connections will be immediately issued a BYE response. */ 1635 1636{ "mupdate_password", NULL, STRING, "2.3.17" } 1637/* The SASL password (if needed) to use when authenticating to the 1638 mupdate server. */ 1639 1640{ "mupdate_port", 3905, INT, "2.3.17" } 1641/* The port of the mupdate server for the Cyrus Murder */ 1642 1643{ "mupdate_realm", NULL, STRING, "2.3.17" } 1644/* The SASL realm (if needed) to use when authenticating to the mupdate 1645 server. */ 1646 1647{ "mupdate_retry_delay", 20, INT, "2.3.17" } 1648/* The base time to wait between connection retries to the mupdate server. */ 1649 1650{ "mupdate_server", NULL, STRING, "2.3.17" } 1651/* The mupdate server for the Cyrus Murder */ 1652 1653{ "mupdate_username", "", STRING, "2.3.17" } 1654/* The SASL username (Authorization Name) to use when authenticating to 1655 the mupdate server */ 1656 1657{ "mupdate_workers_max", 50, INT, "2.3.17" } 1658/* The maximum number of mupdate worker threads (overall) */ 1659 1660{ "mupdate_workers_maxspare", 10, INT, "2.3.17" } 1661/* The maximum number of idle mupdate worker threads */ 1662 1663{ "mupdate_workers_minspare", 2, INT, "2.3.17" } 1664/* The minimum number of idle mupdate worker threads */ 1665 1666{ "mupdate_workers_start", 5, INT, "2.3.17" } 1667/* The number of mupdate worker threads to start */ 1668 1669{ "netscapeurl", NULL, STRING, "2.3.17" } 1670/* If enabled at compile time, this specifies a URL to reply when 1671 Netscape asks the server where the mail administration HTTP server 1672 is. Administrators should set this to a local resource. */ 1673 1674{ "newsaddheaders", "to", BITFIELD("to", "replyto"), "2.5.0" } 1675/* Space-separated list of headers to be added to incoming usenet 1676 articles. Added \fITo:\fR headers will contain email 1677 delivery addresses corresponding to each newsgroup in the 1678 \fINewsgroups:\fR header. Added \fIReply-To:\fR headers will 1679 contain email delivery addresses corresponding to each newsgroup in 1680 the \fIFollowup-To:\fR or \fINewsgroups:\fR header. If the 1681 specified header(s) already exist in an article, the email 1682 delivery addresses will be appended to the original header body(s). 1683.br 1684.sp 1685 This option applies if and only if the \fBnewspostuser\fR option is 1686 set. */ 1687 1688{ "newsgroups", "*", STRING, "2.4.0" } 1689/* A wildmat pattern specifying which mailbox hierarchies should be 1690 treated as newsgroups. Only mailboxes matching the wildmat will 1691 accept and/or serve articles via NNTP. If not set, a default 1692 wildmat of "*" (ALL shared mailboxes) will be used. If the 1693 \fInewsprefix\fR option is also set, the default wildmat will be 1694 translated to "<newsprefix>.*" */ 1695 1696{ "newsmaster", "news", STRING, "2.3.17" } 1697/* Userid that is used for checking access controls when executing 1698 Usenet control messages. For instance, to allow articles to be 1699 automatically deleted by cancel messages, give the "news" user 1700 the 'd' right on the desired mailboxes. To allow newsgroups to be 1701 automatically created, deleted and renamed by the corresponding 1702 control messages, give the "news" user the 'c' right on the desired 1703 mailbox hierarchies. */ 1704 1705{ "newspeer", NULL, STRING, "2.3.17" } 1706/* A list of whitespace-separated news server specifications to which 1707 articles should be fed. Each server specification is a string of 1708 the form [user[:pass]@]host[:port][/wildmat] where 'host' is the fully 1709 qualified hostname of the server, 'port' is the port on which the 1710 server is listening, 'user' and 'pass' are the authentication 1711 credentials and 'wildmat' is a pattern that specifies which groups 1712 should be fed. If no 'port' is specified, port 119 is used. If 1713 no 'wildmat' is specified, all groups are fed. If 'user' is specified 1714 (even if empty), then the NNTP POST command will be used to feed 1715 the article to the server, otherwise the IHAVE command will be 1716 used. 1717.br 1718.sp 1719 A '@' may be used in place of '!' in the wildmat to prevent feeding 1720 articles cross-posted to the given group, otherwise cross-posted 1721 articles are fed if any part of the wildmat matches. For example, 1722 the string "peer.example.com:*,!control.*,@local.*" would feed all 1723 groups except control messages and local groups to 1724 peer.example.com. In the case of cross-posting to local groups, 1725 these articles would not be fed. */ 1726 1727{ "newspostuser", NULL, STRING, "2.5.0" } 1728/* Userid used to deliver usenet articles to newsgroup folders 1729 (usually via lmtp2nntp). For example, if set to "post", email sent 1730 to "post+comp.mail.imap" would be delivered to the "comp.mail.imap" 1731 folder. 1732.br 1733.sp 1734 When set, the Cyrus NNTP server will add the header(s) specified in 1735 the \fBnewsaddheaders\fR option to each incoming usenet article. 1736 The added header(s) will contain email delivery addresses 1737 corresponding to each relevant newsgroup. If not set, no headers 1738 are added to usenet articles. */ 1739 1740{ "newsprefix", NULL, STRING, "2.3.17" } 1741/* Prefix to be prepended to newsgroup names to make the corresponding 1742 IMAP mailbox names. */ 1743 1744{ "newsrc_db_path", NULL, STRING, "2.5.0" } 1745/* The absolute path to the newsrc db file. If not specified, 1746 will be configdirectory/fetchnews.db */ 1747 1748{ "nntptimeout", "3m", DURATION, "3.1.8" } 1749/* Set the length of the NNTP server's inactivity autologout timer. 1750 The minimum value is 3 minutes, also the default. 1751.PP 1752 For backward compatibility, if no unit is specified, minutes is 1753 assumed. */ 1754 1755{ "notesmailbox", NULL, STRING, "3.0.0" } 1756/* The top level mailbox in each user's account which is used to store 1757 * Apple-style Notes. Default is blank (disabled) */ 1758 1759{ "notifysocket", "{configdirectory}/socket/notify", STRING, "2.3.17" } 1760/* Unix domain socket that the mail notification daemon listens on. */ 1761 1762{ "notify_external", NULL, STRING, "2.4.0" } 1763/* Path to the external program that notifyd(8) will call to send mail 1764 notifications. 1765.PP 1766The external program will be called with the following 1767command line options: 1768 1769.TP 1770.BI \-c " class" 1771.\" 1772.TP 1773.BI \-p " priority" 1774.\" 1775.TP 1776.BI \-u " user" 1777.\" 1778.TP 1779.BI \-m " mailbox" 1780.PP 1781And the notification message will be available on \fIstdin\fR. 1782*/ 1783 1784# Commented out - there's no such thing as "partition-name", but we need 1785# this for the man page 1786# { "partition-name", NULL, STRING, "2.3.17" } 1787/* The pathname of the partition \fIname\fR. At least one partition 1788 pathname MUST be specified. If the \fBdefaultpartition\fR option is 1789 used, then its pathname MUST be specified. For example, if the 1790 value of the \fBdefaultpartion\fR option is \fBpart1\fR, then the 1791 \fBpartition-part1\fR field is required. */ 1792 1793{ "partition_select_mode", "freespace-most", STRINGLIST("random", "freespace-most", "freespace-percent-most", "freespace-percent-weighted", "freespace-percent-weighted-delta"), "2.5.0" } 1794/* Partition selection mode. 1795.PP 1796.IP \fIrandom\fR 5 1797(pseudo-)random selection 1798.\" 1799.IP \fIfreespace-most\fR 5 1800partition with the most free space (KiB) 1801.\" 1802.IP \fIfreespace-percent-most\fR 5 1803partition with the most free space (%) 1804.\" 1805.IP \fIfreespace-percent-weighted\fR 5 1806each partition is weighted according to its free space (%); the more free space 1807the partition has, the more chances it has to be selected 1808.\" 1809.IP \fIfreespace-percent-weighted-delta\fR 5 1810each partition is weighted according to its difference of free space (%) 1811compared to the most used partition; the more the partition is lagging behind 1812the most used partition, the more chances it has to be selected 1813.PP 1814Note that actually even the most used partition has a few chances to be 1815selected, and those chances increase when other partitions get closer 1816 */ 1817 1818{ "partition_select_exclude", NULL, STRING, "2.5.0" } 1819/* List of partitions to exclude from selection mode. */ 1820 1821{ "partition_select_usage_reinit", 0, INT, "2.5.0" } 1822/* For a given session, number of \fBoperations\fR (e.g. partition selection) 1823 for which partitions usage data are cached. */ 1824 1825{ "partition_select_soft_usage_limit", 0, INT, "2.5.0" } 1826/* Limit of partition usage (%): if a partition is over that limit, it is 1827 automatically excluded from selection mode. 1828.PP 1829If all partitions are over that limit, this feature is not used anymore. 1830 */ 1831 1832{ "plaintextloginpause", NULL, DURATION, "3.1.8" } 1833/* Time to pause after a successful plaintext login. For systems that 1834 support strong authentication, this permits users to perceive a cost 1835 of using plaintext passwords. (This does not affect the use of PLAIN 1836 in SASL authentications.) 1837.PP 1838 For backward compatibility, if no unit is specified, seconds is 1839 assumed. */ 1840 1841{ "plaintextloginalert", NULL, STRING, "2.3.17" } 1842/* Message to send to client after a successful plaintext login. */ 1843 1844{ "popexpiretime", "-1", DURATION, "3.1.8" } 1845/* The duration advertised as being the minimum a message may be 1846 left on the POP server before it is deleted (via the CAPA command, 1847 defined in the POP3 Extension Mechanism, which some clients may 1848 support). This duration has a granularity of whole days, with partial 1849 days truncated (so e.g. "45m" is effectively "0d"). "NEVER", the 1850 default, may be specified with a negative number. 1851.PP 1852 The Cyrus POP3 server never deletes mail, no matter what the value of 1853 this parameter is. However, if a site implements a less liberal policy, 1854 it needs to change this parameter accordingly. 1855.PP 1856 For backward compatibility, if no unit is specified, days is 1857 assumed. */ 1858 1859{ "popminpoll", NULL, DURATION, "3.1.8" } 1860/* Set the minimum amount of time the server forces users to wait 1861 between successive POP logins. 1862.PP 1863 For backward compatibility, if no unit is specified, minutes is 1864 assumed. */ 1865 1866{ "popsubfolders", 0, SWITCH, "2.3.17" } 1867/* Allow access to subfolders of INBOX via POP3 by using 1868 userid+subfolder syntax as the authentication/authorization id. */ 1869 1870{ "poppollpadding", 1, INT, "2.3.17" } 1871/* Create a softer minimum poll restriction. Allows \fIpoppollpadding\fR 1872 connections before the minpoll restriction is triggered. Additionally, 1873 one padding entry is recovered every \fIpopminpoll\fR minutes. 1874 This allows for the occasional polling rate faster than popminpoll, 1875 (i.e., for clients that require a send/receive to send mail) but still 1876 enforces the rate long-term. Default is 1 (disabled). 1877.br 1878.sp 1879 The easiest way to think of it is a queue of past connections, with one 1880 slot being filled for every connection, and one slot being cleared 1881 every \fIpopminpoll\fR minutes. When the queue is full, the user 1882 will not be able to check mail again until a slot is cleared. If the 1883 user waits a sufficient amount of time, they will get back many or all 1884 of the slots. */ 1885 1886{ "poptimeout", "10m", DURATION, "3.1.8" } 1887/* Set the length of the POP server's inactivity autologout timer. 1888 The minimum value is 10 minutes, the default. 1889.PP 1890 For backward compatibility, if no unit is specified, minutes is 1891 assumed. */ 1892 1893{ "popuseacl", 0, SWITCH, "2.3.17" } 1894/* Enforce IMAP ACLs in the pop server. Due to the nature of the POP3 1895 protocol, the only rights which are used by the pop server are 'r', 1896 't', and 's' for the owner of the mailbox. The 'r' right allows the 1897 user to open the mailbox and list/retrieve messages. The 't' right 1898 allows the user to delete messages. The 's' right allows messages 1899 retrieved by the user to have the \\Seen flag set (only if 1900 \fIpopuseimapflags\fR is also enabled). */ 1901 1902{ "popuseimapflags", 0, SWITCH, "2.3.17" } 1903/* If enabled, the pop server will set and obey IMAP flags. Messages 1904 having the \\Deleted flag are ignored as if they do not exist. 1905 Messages that are retrieved by the client will have the \\Seen flag 1906 set. All messages will have the \\Recent flag unset. */ 1907 1908{ "postmaster", "postmaster", STRING, "2.3.17" } 1909/* Username that is used as the 'From' address in rejection MDNs produced 1910 by sieve. */ 1911 1912{ "postspec", NULL, STRING, "2.3.17" } 1913 1914{ "postuser", "", STRING, "2.3.17" } 1915/* Userid used to deliver messages to shared folders. For example, if 1916 set to "bb", email sent to "bb+shared.blah" would be delivered to 1917 the "shared.blah" folder. By default, an email address of 1918 "+shared.blah" would be used. */ 1919 1920{ "proc_path", NULL, STRING, "2.5.0" } 1921/* Path to proc directory. Default is NULL - must be an absolute path 1922 if specified. If not specified, the path $configdirectory/proc/ will be 1923 used. */ 1924 1925{ "prometheus_enabled", 0, SWITCH, "3.1.2" } 1926/* Whether tracking of service metrics for Prometheus is enabled. */ 1927 1928{ "prometheus_need_auth", "admin", STRINGLIST("none", "user", "admin"), "3.1.2" } 1929/* Authentication level required to fetch Prometheus metrics. */ 1930 1931{ "prometheus_update_freq", "10s", DURATION, "3.1.8" } 1932/* Frequency in at which promstatsd should re-collate its statistics 1933 report. The minimum value is 1 second, the default is 10 seconds. 1934.PP 1935 For backward compatibility, if no unit is specified, seconds is 1936 assumed. */ 1937 */ 1938 1939{ "prometheus_stats_dir", NULL, STRING, "3.1.2" } 1940/* Directory to use for gathering prometheus statistics. If specified, 1941 must be an absolute path. If not specified, the default path 1942 $configdirectory/stats/ will be used. It may be advantageous to locate this 1943 directory on ephemeral storage. */ 1944 1945{ "proxy_authname", "proxy", STRING, "2.3.17" } 1946/* The authentication name to use when authenticating to a backend server 1947 in the Cyrus Murder. */ 1948 1949{ "proxy_compress", 0, SWITCH, "2.3.17" } 1950/* Try to enable protocol-specific compression when performing a client 1951 connection to a backend server in the Cyrus Murder. 1952.PP 1953 Note that this should only be necessary over slow network 1954 connections. Also note that currently only IMAP and MUPDATE support 1955 compression. */ 1956 1957{ "proxy_password", NULL, STRING, "2.3.17" } 1958/* The default password to use when authenticating to a backend server 1959 in the Cyrus Murder. May be overridden on a host-specific basis using 1960 the hostname_password option. */ 1961 1962{ "proxy_realm", NULL, STRING, "2.3.17" } 1963/* The authentication realm to use when authenticating to a backend server 1964 in the Cyrus Murder */ 1965 1966{ "proxyd_allow_status_referral", 0, SWITCH, "2.3.17" } 1967/* Set to true to allow proxyd to issue referrals to clients that support it 1968 when answering the STATUS command. This is disabled by default since 1969 some clients issue many STATUS commands in a row, and do not cache the 1970 connections that these referrals would cause, thus resulting in a higher 1971 authentication load on the respective backend server. */ 1972 1973{ "proxyd_disable_mailbox_referrals", 0, SWITCH, "2.3.17" } 1974/* Set to true to disable the use of mailbox-referrals on the 1975 proxy servers. */ 1976 1977{ "proxyservers", NULL, STRING, "2.3.17" } 1978/* A list of users and groups that are allowed to proxy for other 1979 users, separated by spaces. Any user listed in this will be 1980 allowed to login for any other user: use with caution. 1981 In a standard murder this option should ONLY be set on backends. 1982 DO NOT SET on frontends or things won't work properly. */ 1983 1984{ "pts_module", "afskrb", STRINGLIST("afskrb", "ldap"), "2.3.17" } 1985/* The PTS module to use. */ 1986 1987{ "ptloader_sock", NULL, STRING, "2.3.17" } 1988/* Unix domain socket that ptloader listens on. 1989 (defaults to configdirectory/ptclient/ptsock) */ 1990 1991{ "ptscache_db", "twoskip", STRINGLIST("skiplist", "twoskip", "zeroskip"), "3.1.6" } 1992/* The cyrusdb backend to use for the pts cache. */ 1993 1994{ "ptscache_db_path", NULL, STRING, "2.5.0" } 1995/* The absolute path to the ptscache db file. If not specified, 1996 will be configdirectory/ptscache.db */ 1997 1998{ "ptscache_timeout", "3h", DURATION, "3.1.8" } 1999/* The timeout for the PTS cache database when using the auth_krb_pts 2000 authorization method (default: 3 hours). 2001.PP 2002 For backward compatibility, if no unit is specified, seconds is 2003 assumed. */ 2004 2005{ "ptskrb5_convert524", 1, SWITCH, "2.3.16" } 2006/* When using the AFSKRB ptloader module with Kerberos 5 canonicalization, 2007 do the final 524 conversion to get a n AFS style name (using '.' instead 2008 of '/', and using short names */ 2009 2010{ "ptskrb5_strip_default_realm", 1, SWITCH, "2.3.17" } 2011/* When using the AFSKRB ptloader module with Kerberos 5 canonicalization, 2012 strip the default realm from the userid (this does not affect the stripping 2013 of realms specified by the afspts_localrealms option) */ 2014 2015{ "qosmarking", "cs0", ENUM("cs0", "cs1", "cs2", "cs3", "cs4", "cs5", "cs6", "cs7", "af11", "af12", "af13", "af21", "af22", "af23", "af31", "af32", "af33", "af41", "af42", "af43", "ef"), "2.5.0" } 2016/* This specifies the Class Selector or Differentiated Services Code Point 2017 designation on IP headers (in the ToS field). */ 2018 2019{ "quota_db", "quotalegacy", STRINGLIST("flat", "skiplist", "sql", "quotalegacy", "twoskip", "zeroskip"), "3.1.6" } 2020/* The cyrusdb backend to use for quotas. */ 2021 2022{ "quota_db_path", NULL, STRING, "2.5.0" } 2023/* The absolute path for the quota database (if you choose a single-file 2024 quota DB type - or the base path if you choose quotalegacy). If 2025 not specified will be configdirectory/quotas.db or configdirectory/quota/ */ 2026 2027{ "quota_use_conversations", 0, SWITCH, "3.3.0" } 2028/* If conversations it enabled and quotaroot is a user folder, use the 2029 conversations quota counts, which count multiple copies of exactly the 2030 same message (by GUID) as only one */ 2031 2032{ "quotawarn", 90, INT, "2.3.17" } 2033/* The percent of quota utilization over which the server generates 2034 warnings. */ 2035 2036{ "quotawarnkb", 0, INT, "2.3.17" } 2037/* The maximum amount of free space (in kB) at which to give a quota 2038 warning (if this value is 0, or if the quota is smaller than this 2039 amount, then warnings are always given). */ 2040 2041{ "quotawarnmsg", 0, INT, "2.5.0" } 2042/* The maximum amount of messages at which to give a quota warning 2043 (if this value is 0, or if the quota is smaller than this 2044 amount, then warnings are always given). */ 2045 2046{ "readonly", 0, SWITCH, "3.3.0" } 2047/* If enabled, all IMAP, POP and JMAP connections are read-only, 2048 * no writes allowed */ 2049 2050{ "reject8bit", 0, SWITCH, "2.3.17" } 2051/* If enabled, lmtpd rejects messages with 8-bit characters in the 2052 headers. */ 2053 2054{ "restore_authname", NULL, STRING, "3.0.0" } 2055/* The authentication used by the restore tool when authenticating 2056 to an IMAP/sync server. */ 2057 2058{ "restore_password", NULL, STRING, "3.0.0" } 2059/* The password used by the restore tool when authenticating to an 2060 IMAP/sync server. */ 2061 2062{ "restore_realm", NULL, STRING, "3.0.0" } 2063/* The authentication realm used by the restore tool when 2064 authenticating to an IMAP/sync server. */ 2065 2066{ "reverseacls", 0, SWITCH, "3.0.0" } 2067/* At startup time, ctl_cyrusdb -r will check this value and it 2068 will either add or remove reverse ACL pointers from mailboxes.db */ 2069 2070{ "reverseuniqueids", 1, SWITCH, "3.3.0" } 2071/* At startup time, ctl_cyrusdb -r will check this value and it 2072 will either add or remove reverse UNIQUEID pointers from mailboxes.db */ 2073 2074{ "rfc2046_strict", 0, SWITCH, "2.3.17" } 2075/* If enabled, imapd will be strict (per RFC 2046) when matching MIME 2076 boundary strings. This means that boundaries containing other 2077 boundaries as substrings will be treated as identical. Since 2078 enabling this option will break some messages created by Eudora 5.1 2079 (and earlier), it is recommended that it be left disabled unless 2080 there is good reason to do otherwise. */ 2081 2082{ "rfc2047_utf8", 0, SWITCH, "3.0.0" } 2083/* If enabled, imapd will parse any non-encoded character sequence in 2084 MIME header values as UTF8. This is useful for installations that 2085 either advertise the UTF8SMTP (RFC 5335) extension or receive mails 2086 with improperly escaped UTF-8 byte sequences. It is recommended that 2087 this option is left disabled unless there is good reason to do 2088 otherwise. */ 2089 2090{ "rfc3028_strict", 1, SWITCH, "2.3.17" } 2091/* If enabled, Sieve will be strict (per RFC 3028) with regards to 2092 which headers are allowed to be used in address and envelope tests. 2093 This means that only those headers which are defined to contain addresses 2094 will be allowed in address tests and only "to" and "from" will be 2095 allowed in envelope tests. When disabled, ANY grammatically correct header 2096 will be allowed. */ 2097 2098{ "rss_feedlist_template", NULL, STRING, "2.5.0" } 2099/* File containing HTML that will be used as a template for displaying 2100 the list of available RSS feeds. A single instance of the variable 2101 %RSS_FEEDLIST% should appear in the file, which will be replaced by 2102 a nested unordered list of feeds. The toplevel unordered list will 2103 be tagged with an id of "feed" (<ul id='feed'>) which can be used 2104 by stylesheet(s) in your template. The dynamically created list of 2105 feeds based on the HTML template will be accessible at the "/rss" 2106 URL on the server. */ 2107 2108{ "rss_feeds", "*", STRING, "2.5.0" } 2109/* A wildmat pattern specifying which mailbox hierarchies should be 2110 treated as RSS feeds. Only mailboxes matching the wildmat will 2111 have their messages available via RSS. If not set, a default 2112 wildmat of "*" (ALL mailboxes) will be used. */ 2113 2114{ "rss_maxage", NULL, DURATION, "3.1.8" } 2115/* Maximum age of items to display in an RSS channel. If non-zero, 2116 httpd will only display items received within this time period. 2117 If set to 0, all available items will be displayed (the default). 2118.PP 2119 For backward compatibility, if no unit is specified, days is 2120 assumed. */ 2121 2122{ "rss_maxitems", 0, INT, "2.5.0" } 2123/* Maximum number of items to display in an RSS channel. If non-zero, 2124 httpd will display no more than the \fIrss_maxitems\fR most recent 2125 items. If set to 0, all available items will be displayed (the 2126 default). */ 2127 2128{ "rss_maxsynopsis", 0, INT, "2.5.0" } 2129/* Maximum RSS item synopsis length. If non-zero, httpd will display 2130 no more than the first \fIrss_maxsynopsis\fR characters of an 2131 item's synopsis. If set to 0, the entire synopsis will be 2132 displayed (the default). */ 2133 2134{ "rss_realm", NULL, STRING, "2.5.0" } 2135/* The realm to present for HTTP authentication of RSS feeds. If not 2136 set (the default), the value of the "servername" option will be 2137 used.*/ 2138 2139# Commented out - used by libsasl 2140# { "sasl_auto_transition", 0, SWITCH, "2.3.17" } 2141/* If enabled, the SASL library will automatically create authentication 2142 secrets when given a plaintext password. See the SASL documentation. */ 2143 2144{ "sasl_maximum_layer", 256, INT, "2.3.17" } 2145/* Maximum SSF (security strength factor) that the server will allow a 2146 client to negotiate. */ 2147 2148{ "sasl_minimum_layer", 0, INT, "2.3.17" } 2149/* The minimum SSF that the server will allow a client to negotiate. 2150 A value of 1 requires integrity protection; any higher value 2151 requires some amount of encryption. */ 2152 2153# Commented out - used by libsasl 2154# { "sasl_option", 0, STRING, "2.3.17" } 2155/* Any SASL option can be set by preceding it with \fBsasl_\fR. This 2156 file overrides the SASL configuration file. */ 2157 2158# Commented out - used by libsasl 2159# { "sasl_pwcheck_method", NULL, STRING, "2.3.17" } 2160/* The mechanism used by the server to verify plaintext passwords. 2161 Possible values include "auxprop", "saslauthd", and "pwcheck". */ 2162 2163{ "search_batchsize", 20, INT, "3.0.0" } 2164/* The number of messages to be indexed in one batch (default 20). 2165 Note that long batches may delay user commands or mail delivery. */ 2166 2167{ "search_attachment_extractor_url", NULL, STRING, "3.3.1" } 2168/* A HTTP or HTTPS URL to extract search text from rich text attachments 2169 and other media during search indexing. The server at this URL must 2170 implement the following protocol: 2171 2172 1. For each attachment of an email, Cyrus sends a GET request to the 2173 URL <extractor-url>/<cyrus-id>, where <extractor-url> is the 2174 configured URL and <cyrus-id> is a Cyrus-chosen path segment that 2175 uniquely identifies this attachment. 2176 2177 2. If the extractor already has a cached plain text extract of the 2178 attachment identified by <cyrus-id> then it may return HTTP status 2179 code 200 (OK) and the plain text extract with a Content-Type 2180 "text/plain" header. Otherwise it must return HTTP status 404 (Not Found). 2181 2182 3. If Cyrus receives the HTTP status code 404 (Not Found), then it sends 2183 a PUT request to the same URL as previously. The PUT request body 2184 contains the decoded, binary body of the attachment. The Content-Type 2185 request header has the same value as declared in the MIME part 2186 headers, including any type parameters. 2187 2188 4. The extractor must return the plain text extract with either HTTP status 2189 200 (OK) or 201 (Created) and a Content-Type "text/plain" header. 2190 If no text can be extracted, then the extractor may return any return code 2191 in the range 4xx, or 200 and an empty response body. 2192 2193 Any other HTTP status code is treated as an error. For performance 2194 reasons, the Cyrus indexer attempts to keep-alive the TCP connection 2195 to the extractor. 2196 Xapian only. 2197 */ 2198 2199{ "search_index_language", 0, SWITCH, "3.3.1" } 2200/* 2201 If enabled, then messages bodies are stemmed by detected language 2202 in addition to the default English stemmer. 2203 Xapian only. 2204 */ 2205 2206{ "search_index_parts", 0, SWITCH, "3.2.1", "3.2.1" } 2207/* 2208 Deprecated. No longer used. 2209 */ 2210 2211{ "search_index_skip_domains", NULL, STRING, "3.3.1" } 2212/* 2213 A space separated list of domains - if set, any users in the listed domains 2214 will be skipped when indexing. 2215 */ 2216 2217{ "search_index_skip_users", NULL, STRING, "3.3.1" } 2218/* 2219 A space separated list of usernames - if set, any users in the list 2220 will be skipped when indexing. 2221 */ 2222 2223{ "search_query_language", 0, SWITCH, "3.3.0", "3.3.0" } 2224/* 2225 Deprecated. No longer used. 2226 */ 2227 2228{ "search_normalisation_max", 1000, INT, "3.0.0" } 2229/* A resource bound for the combinatorial explosion of search expression 2230 tree complexity caused by normalising expressions with many OR nodes. 2231 These can use more CPU time to optimise than they save IO time in scanning 2232 folders. */ 2233 2234{ "search_engine", "none", ENUM("none", "squat", "xapian"), "3.1.2" } 2235/* The indexing engine used to speed up searching. */ 2236 2237{ "search_fuzzy_always", 0, SWITCH, "3.1.5" } 2238/* Whether to enable RFC 6203 FUZZY search for all IMAP SEARCH. If turned 2239 on, search attributes will be searched using FUZZY search by default. 2240 If turned off, clients have to explicitly use the FUZZY search key to 2241 enable fuzzy search for regular SEARCH commands. */ 2242 2243{ "search_index_headers", 1, SWITCH, "3.0.0" } 2244/* Whether to index headers other than From, To, Cc, Bcc, and Subject. 2245 Experiment shows that some headers such as Received and DKIM-Signature 2246 can contribute up to 2/3rds of the index size but almost nothing to 2247 the utility of searching. Note that if header indexing is disabled, 2248 headers can still be searched, the searches will just be slower. 2249 */ 2250 2251{ "search_indexed_db", "twoskip", STRINGLIST("flat", "skiplist", "twoskip", "zeroskip"), "3.1.6" } 2252/* The cyrusdb backend to use for the search latest indexed uid state. Xapian only. */ 2253 2254{ "search_maxtime", NULL, STRING, "3.0.0" } 2255/* The maximum number of seconds to run a search for before aborting. Default 2256 of no value means search "forever" until other timeouts. */ 2257 2258{ "search_queryscan", 5000, INT, "3.1.7" } 2259/* The minimum number of records require to do a direct scan of all G keys 2260 * rather than indexed lookups. A value of 0 means always do indexed lookups. 2261 */ 2262 2263{ "search_skipdiacrit", 1, SWITCH, "2.5.0" } 2264/* When searching, should diacriticals be stripped from the search 2265 terms. The default is "true", a search for "hav" will match 2266 "Håvard". This is not RFC 5051 compliant, but it backwards 2267 compatible, and may be preferred by some sites. */ 2268 2269{ "search_skiphtml", 0, SWITCH, "3.0.0" } 2270/* If enabled, HTML parts of messages are skipped, i.e. not indexed and 2271 not searchable. Otherwise, they're indexed. */ 2272 2273{ "search_whitespace", "merge", ENUM("skip", "merge", "keep"), "2.5.0" } 2274/* When searching, how whitespace should be handled. Options are: 2275 "skip" (default in 2.3 and earlier series) - where a search for 2276 "equi" would match "the quick brown fox". "merge" - the default, 2277 where "he qu" would match "the quick brownfox", and "keep", 2278 where whitespace must match exactly. The default of "merge" is 2279 recommended for most cases - it's a good compromise which 2280 keeps words separate. */ 2281 2282{ "search_snippet_length", 255, INT, "3.0.0" } 2283/* The maximum byte length of a snippet generated by the XSNIPPETS 2284 command. Only supported by the Xapian search backend, which 2285 attempts to always fill search_snippet_length bytes in the 2286 generated snippet. */ 2287 2288{ "search_stopword_path", NULL, STRING, "3.1.7" } 2289/* The absolute base path to the search stopword lists. If not specified, 2290 no stopwords will be taken into account during search indexing. Currently, 2291 the only supported and default stop word file is english.txt. */ 2292 2293# Commented out - there's no such thing as "searchpartition-name", 2294# but we need this for the man page 2295# { "searchpartition-name", NULL, STRING, "3.1.4" } 2296/* The pathname where to store the xapian search indexes of \fIsearchtier\fR 2297 for mailboxes of partition \fIname\fR. This must be configured for the 2298 \fIdefaultsearchtier\fR and any additional search tier (see squatter for 2299 details). 2300.PP 2301 For example: if \fIdefaultpartition\fR is defined as part1 and 2302 \fIdefaultsearchtier\fR as tier1 then the configuration must contain 2303 an entry \fItier1searchpartition-part1\fR that defines the path where to 2304 store this tier1's search index for the part1 partition. 2305.PP 2306 This option MUST be specified for xapian search. */ 2307 2308{ "seenstate_db", "twoskip", STRINGLIST("flat", "skiplist", "twoskip", "zeroskip"), "3.1.6" } 2309/* The cyrusdb backend to use for the seen state. */ 2310 2311{ "sendmail", "/usr/sbin/sendmail", STRING, "2.3.17" } 2312/* The pathname of the sendmail executable. Sieve invokes sendmail 2313 for sending rejections, redirects and vacation responses. */ 2314 2315{ "sendmail_auth_id", "CYRUS_SENDMAIL_AUTH_ID", STRING, "3.1.3" } 2316/* The name of an environment variable to set when invoking sendmail. 2317 The value of this environment variable will contain the user id 2318 of the currently authenticated user. If no user is authenticated 2319 the environment variable is not set. */ 2320 2321{ "serverlist", NULL, STRING, "2.3.17" } 2322/* Whitespace separated list of backend server names. Used for 2323 finding server with the most available free space for proxying 2324 CREATE. */ 2325 2326{ "serverlist_select_mode", "freespace-most", STRINGLIST("random", "freespace-most", "freespace-percent-most", "freespace-percent-weighted", "freespace-percent-weighted-delta"), "2.5.0" } 2327/* Server selection mode. 2328.PP 2329.IP \fIrandom\fR 5 2330(pseudo-)random selection 2331.\" 2332.IP \fIfreespace-most\fR 5 2333backend with the most (total) free space (KiB) 2334.\" 2335.IP \fIfreespace-percent-most\fR 5 2336backend whose partition has the most free space (%) 2337.\" 2338.IP \fIfreespace-percent-weighted\fR 5 2339same as for partition selection, comparing the free space (%) of the least used 2340partition of each backend 2341.\" 2342.IP \fIfreespace-percent-weighted-delta\fR 5 2343same as for partition selection, comparing the free space (%) of the least used 2344partition of each backend. 2345.PP 2346 */ 2347 2348{ "serverlist_select_usage_reinit", 0, INT, "2.5.0" } 2349/* For a given session, number of \fBoperations\fR (e.g. backend selection) 2350 for which backend usage data are cached. */ 2351 2352{ "serverlist_select_soft_usage_limit", 0, INT, "2.5.0" } 2353/* Limit of backend usage (%): if a backend is over that limit, it is 2354 automatically excluded from selection mode. 2355.PP 2356If all backends are over that limit, this feature is not used anymore. 2357 */ 2358 2359{ "servername", NULL, STRING, "2.3.17" } 2360/* This is the hostname visible in the greeting messages of the POP, 2361 IMAP and LMTP daemons. If it is unset, then the result returned 2362 from gethostname(2) is used. This is also the value used by murder 2363 clusters to identify the host name. It should be resolvable by 2364 DNS to the correct host, and unique within an active cluster. If 2365 you are using low level replication (e.g. drbd) then it should be 2366 the same on each copy and the DNS name should also be moved to 2367 the new master on failover. */ 2368 2369{ "serverinfo", "on", ENUM("off", "min", "on"), "2.3.17" } 2370/* The server information to display in the greeting and capability 2371 responses. Information is displayed as follows: 2372 2373.IP 2374 "off" = no server information in the greeting or capabilities 2375.br 2376 "min" = \fIservername\fR in the greeting; no server information in the capabilities 2377.br 2378 "on" = \fIservername\fR and product version in the greeting; 2379product version in the capabilities 2380.PP 2381*/ 2382 2383{ "sharedprefix", "Shared Folders", STRING, "2.3.17" } 2384/* If using the alternate IMAP namespace, the prefix for the shared 2385 namespace. The hierarchy delimiter will be automatically appended. 2386*/ 2387 2388{ "sieve_allowreferrals", 1, SWITCH, "2.3.17" } 2389/* If enabled, timsieved will issue referrals to clients when the 2390 user's scripts reside on a remote server (in a Murder). 2391 Otherwise, timsieved will proxy traffic to the remote server. */ 2392 2393{ "sieve_duplicate_max_expiration", "90d", DURATION, "3.1.8" } 2394/* Maximum expiration time for duplicate message tracking records. 2395.PP 2396 For backward compatibility, if no unit is specified, seconds is 2397 assumed. */ 2398*/ 2399 2400{ "sieve_extensions", "fileinto reject vacation vacation-seconds notify include envelope environment body relational regex subaddress copy date index imap4flags mailbox mboxmetadata servermetadata variables editheader extlists duplicate ihave fcc special-use redirect-dsn redirect-deliverby mailboxid vnd.cyrus.log vnd.cyrus.jmapquery snooze", BITFIELD("fileinto", "reject", "vacation", "vacation-seconds", "notify", "include", "envelope", "environment", "body", "relational", "regex", "subaddress", "copy", "date", "index", "imap4flags=imapflags", "mailbox", "mboxmetadata", "servermetadata", "variables", "editheader", "extlists", "duplicate", "ihave", "fcc", "special-use", "redirect-dsn", "redirect-deliverby", "mailboxid", "vnd.cyrus.log=x-cyrus-log", "vnd.cyrus.jmapquery=x-cyrus-jmapquery", "snooze=vnd.cyrus.snooze=x-cyrus-snooze"), "3.3.1" } 2401/* Space-separated list of Sieve extensions allowed to be used in 2402 sieve scripts, enforced at submission by timsieved(8). Any 2403 previously installed script will be unaffected by this option and 2404 will continue to execute regardless of the extensions used. This 2405 option has no effect on options that are disabled at compile time 2406 (e.g., "regex"). */ 2407 2408{ "sieve_maxscriptsize", 32, INT, "2.3.17" } 2409/* Maximum size (in kilobytes) any sieve script can be, enforced at 2410 submission by timsieved(8). */ 2411 2412{ "sieve_maxscripts", 5, INT, "2.3.17" } 2413/* Maximum number of sieve scripts any user may have, enforced at 2414 submission by timsieved(8). */ 2415 2416{ "sieve_utf8fileinto", 0, SWITCH, "2.3.17" } 2417/* If enabled, the sieve engine expects folder names for the 2418 \fIfileinto\fR action in scripts to use UTF8 encoding. Otherwise, 2419 modified UTF7 encoding should be used. */ 2420 2421{ "sieve_sasl_send_unsolicited_capability", 0, SWITCH, "2.3.17" } 2422/* If enabled, timsieved will emit a capability response after a successful 2423 SASL authentication, per draft-martin-managesieve-12.txt . */ 2424 2425{ "sieve_use_lmtp_reject", 1, SWITCH, "3.1.1" } 2426/* Enabled by default. If reject can be done via LMTP, then return a 550 2427 rather than generating the bounce message in Cyrus. */ 2428 2429{ "sieve_vacation_min_response", "3d", DURATION, "3.1.8" } 2430/* Minimum time interval between consecutive vacation responses, per 2431 draft-ietf-vacation-seconds.txt. The default is 3 days. 2432.PP 2433 For backward compatibility, if no unit is specified, seconds is 2434 assumed. */ 2435 2436{ "sieve_vacation_max_response", "90d", DURATION, "3.1.8" } 2437/* Maximum time interval between consecutive vacation responses, per 2438 draft-ietf-vacation-seconds.txt. The default is 90 days. The 2439 minimum is 7 days. 2440.PP 2441 For backward compatibility, if no unit is specified, seconds is 2442 assumed. */ 2443 2444{ "sievedir", "/var/imap/sieve", STRING, "2.3.17" } 2445/* If sieveusehomedir is false, this directory is searched for Sieve 2446 scripts. */ 2447 2448{ "sievenotifier", NULL, STRING, "2.3.17" } 2449/* Notifyd(8) method to use for "SIEVE" notifications. If not set, "SIEVE" 2450 notifications are disabled. 2451.PP 2452 This method is only used when no method is specified in the script. */ 2453 2454{ "sieveusehomedir", 0, SWITCH, "2.3.17" } 2455/* If enabled, lmtpd will look for Sieve scripts in user's home 2456 directories: ~user/.sieve. */ 2457 2458{ "anysievefolder", 0, SWITCH, "2.5.0" } 2459/* It must be "yes" in order to permit the autocreation of any INBOX subfolder 2460 requested by a sieve filter, through the "fileinto" action. (default = no) */ 2461 2462{ "singleinstancestore", 1, SWITCH, "2.3.17" } 2463/* If enabled, imapd, lmtpd and nntpd attempt to only write one copy 2464 of a message per partition and create hard links, resulting in a 2465 potentially large disk savings. */ 2466 2467{ "skiplist_always_checkpoint", 1, SWITCH, "2.3.17" } 2468/* If enabled, this option forces the skiplist cyrusdb backend to 2469 always checkpoint when doing a recovery. This causes slightly 2470 more IO, but on the other hand leads to more efficient databases, 2471 and the entire file is already "hot". */ 2472 2473{ "skiplist_unsafe", 0, SWITCH, "2.3.17" } 2474/* If enabled, this option forces the skiplist cyrusdb backend to 2475 not sync writes to the disk. Enabling this option is NOT RECOMMENDED. */ 2476 2477 2478{ "smtp_backend", "sendmail", STRINGLIST("host", "sendmail"), "3.1.4" } 2479/* The SMTP backend to use for sending email. 2480 2481 The \"host\" backend sends message submissions via 2482 a TCP socket to the SMTP host defined in the config 2483 option smtp_host. 2484 2485 The \"sendmail\" backend forks the Cyrus process into 2486 the executable defined in the config option sendmail. 2487 The executable must accept \"-bs\" as command line 2488 argument, read from stdin and must implement the minimum 2489 SMTP protocol as defined in section 4.5.1 of RFC 5321. 2490 2491 If the SMTP EHLO command reports AUTH (RFC 4954) as a 2492 supported extension, then the MAIL FROM command includes 2493 the AUTH parameter, with its value set to the name of any 2494 authenticated user which triggered the email. The AUTH 2495 parameter is omitted if the user is unknown to the calling 2496 process. 2497 2498 If the directory 2499 \fIconfigdirectory\fR/log/smtpclient.\ \fIsmtp_backend\fR 2500 exists, then telemetry logs for outgoing SMTP sessions will 2501 be created in this directory. 2502 */ 2503 2504{ "smtp_host", "localhost:587", STRING, "3.1.4" } 2505/* The SMTP host to use for sending mail (also see the 2506 smtp_backend option). The value of this option must 2507 the name or IP address of a TCP host, followed optionally 2508 by a colon and the port or service to use. The default 2509 port is 587. TLS may be activated by appending \"/tls\" 2510 to the value. Authentication is enabled if smtp_auth_authname 2511 is set. Authentication can be explicitly disabled by appending 2512 \"/noauth\" to the host address. */ 2513 2514{ "smtp_auth_authname", NULL, STRING, "3.1.4" } 2515/* The authentication name to use when authenticating to the SMTP 2516 server defined in smtp_host. */ 2517 2518{ "smtp_auth_password", NULL, STRING, "3.1.4" } 2519/* The password to use when authenticating to the SMTP server defined 2520 in smtp_host. */ 2521 2522{ "smtp_auth_realm", NULL, STRING, "3.1.4" } 2523/* The authentication SASL realm to use when authenticating to a SMTP 2524 server. */ 2525 2526{ "soft_noauth", 1, SWITCH, "2.3.17" } 2527/* If enabled, lmtpd returns temporary failures if the client does not 2528 successfully authenticate. Otherwise lmtpd returns permanent failures 2529 (causing the mail to bounce immediately). */ 2530 2531{ "sortcache_db", "twoskip", STRINGLIST("skiplist", "twoskip", "zeroskip"), "3.1.6" } 2532/* The cyrusdb backend to use for caching sort results (currently only 2533 used for xconvmultisort) */ 2534 2535{ "specialuse_extra", NULL, STRING, "2.5.0" } 2536/* Whitespace separated list of extra special-use attributes 2537 that can be set on a mailbox. RFC 6154 currently lists 2538 what special-use attributes can be set. This allows 2539 extending that list in the future or adding your own 2540 if needed. */ 2541 2542{ "specialuse_protect", "\\Archive \\Drafts \\Important \\Junk \\Sent \\Trash", STRING, "3.1.7" } 2543/* Whitespace separated list of special-use attributes 2544 to protect the mailboxes for. If set, don't allow 2545 mailboxes with these special use attributes to be deleted 2546 or renamed to have a different parent. Default is the built-in list*/ 2547 2548{ "specialusealways", 1, SWITCH, "3.1.1" } 2549/* If enabled, this option causes LIST and LSUB output to always include 2550 the XLIST "special-use" flags */ 2551 2552{ "sql_database", NULL, STRING, "2.3.17" } 2553/* Name of the database which contains the cyrusdb table(s). */ 2554 2555{ "sql_engine", NULL, STRINGLIST("mysql", "pgsql", "sqlite"), "2.3.17" } 2556/* Name of the SQL engine to use. */ 2557 2558{ "sql_hostnames", "", STRING, "2.3.17" } 2559/* Comma separated list of SQL servers (in host[:port] format). */ 2560 2561{ "sql_passwd", NULL, STRING, "2.3.17" } 2562/* Password to use for authentication to the SQL server. */ 2563 2564{ "sql_user", NULL, STRING, "2.3.17" } 2565/* Username to use for authentication to the SQL server. */ 2566 2567{ "sql_usessl", 0, SWITCH, "2.3.17" } 2568/* If enabled, a secure connection will be made to the SQL server. */ 2569 2570{ "srs_alwaysrewrite", 0, SWITCH, "2.5.0" } 2571/* If true, perform SRS rewriting for ALL forwarding, even when not required. */ 2572 2573{ "srs_domain", NULL, STRING, "3.1.2" } 2574/* The domain to use in rewritten addresses. This must point only to machines 2575 which know the encoding secret used by this system. When present, SRS is 2576 enabled. */ 2577 2578{ "srs_hashlength", 0, INT, "3.1.2" } 2579/* The hash length to generate in a rewritten address. */ 2580 2581{ "srs_secrets", NULL, STRING, "3.1.2" } 2582/* A list of secrets with which to generate addresses. */ 2583 2584{ "srs_separator", NULL, STRING, "3.1.2" } 2585/* The separator to appear immediately after SRS[01] in rewritten addresses. */ 2586 2587{ "srvtab", "", STRING, "2.3.17" } 2588/* The pathname of \fIsrvtab\fR file containing the server's private 2589 key. This option is passed to the SASL library and overrides its 2590 default setting. */ 2591 2592{ "submitservers", NULL, STRING, "2.3.17" } 2593/* A list of users and groups that are allowed to resolve "urlauth=submit+" 2594 IMAP URLs, separated by spaces. Any user listed in this will be 2595 allowed to fetch the contents of any valid "urlauth=submit+" IMAP URL: 2596 use with caution. */ 2597 2598{ "subscription_db", "flat", STRINGLIST("flat", "skiplist", "twoskip", "zeroskip"), "3.1.6" } 2599/* The cyrusdb backend to use for the subscriptions list. */ 2600 2601{ "suppress_capabilities", NULL, STRING, "3.0.0" } 2602/* Suppress the named capabilities from any capability response. Use the 2603 exact case as it appears in the response, e.g. 2604 "suppress_capabilities: ESEARCH QRESYNC WITHIN XLIST LIST-EXTENDED" 2605 if you have a murder with 2.3.x backends and don't want clients being 2606 confused by new capabilities that some backends don't support. */ 2607 2608{ "statuscache", 0, SWITCH, "2.3.17" } 2609/* Enable/disable the imap status cache. */ 2610 2611{ "statuscache_db", "twoskip", STRINGLIST("skiplist", "sql", "twoskip", "zeroskip"), "3.1.6" } 2612/* The cyrusdb backend to use for the imap status cache. */ 2613 2614{ "statuscache_db_path", NULL, STRING, "2.5.0" } 2615/* The absolute path to the statuscache db file. If not specified, 2616 will be configdirectory/statuscache.db */ 2617 2618{ "sync_authname", NULL, STRING, "2.5.0" } 2619/* The authentication name to use when authenticating to a sync server. 2620 Prefix with a channel name to only apply for that channel */ 2621 2622{ "sync_batchsize", 8192, INT, "3.0.0" } 2623/* the number of messages to upload in a single mailbox replication. 2624 Default is 8192. If there are more than this many messages appended 2625 to the mailbox, generate a synthetic partial state and send that. */ 2626 2627{ "sync_cache_db", "twoskip", STRINGLIST("skiplist", "sql", "twoskip", "zeroskip"), "3.3.1" } 2628/* The cyrusdb backend to use for the replication cache. */ 2629 2630{ "sync_cache_db_path", NULL, STRING, "3.3.1" } 2631/* The path for the replication cache. Prefix with a 2632 channel name to apply for that channel. NOTE, it's 2633 quite important to have a different one per backend! */ 2634 2635{ "sync_host", NULL, STRING, "2.5.0" } 2636/* Name of the host (replica running sync_server(8)) to which 2637 replication actions will be sent by sync_client(8). 2638 Prefix with a channel name to only apply for that channel */ 2639 2640{ "sync_log", 0, SWITCH, "2.3.17" } 2641/* Enable replication action logging by lmtpd(8), imapd(8), pop3d(8), 2642 and nntpd(8). The log {configdirectory}/sync/log is used by 2643 sync_client(8) for "rolling" replication. */ 2644 2645{ "sync_log_chain", 0, SWITCH, "2.4.0" } 2646/* Enable replication action logging by sync_server as well, allowing 2647 chaining of replicas. Use this on 'B' for A => B => C replication layout */ 2648 2649{ "sync_log_channels", NULL, STRING, "2.5.0" } 2650/* If specified, log all events to multiple log files in directories 2651 specified by each "channel". Each channel can then be processed 2652 separately, such as by multiple sync_client(8)s in a mesh replication 2653 scheme, or by squatter(8) for rolling search index updates. 2654 .PP 2655 You can use "" (the two-character string U+22 U+22) to mean the 2656 default sync channel. */ 2657 2658{ "sync_log_unsuppressable_channels", "squatter", STRING, "2.5.0" } 2659/* If specified, the named channels are exempt from the effect of setting 2660 sync_log_chain:off, i.e. they are always logged to by the sync_server 2661 process. This is only really useful to allow rolling search indexing 2662 on a replica. */ 2663 2664{ "sync_password", NULL, STRING, "2.5.0" } 2665/* The default password to use when authenticating to a sync server. 2666 Prefix with a channel name to only apply for that channel */ 2667 2668{ "sync_port", NULL, STRING, "3.0.0" } 2669/* Name of the service (or port number) of the replication service on 2670 replica host. Prefix with a channel name to only apply for that 2671 channel. If not specified, and if sync_try_imap is set to "yes" 2672 (the default), then the replication client will first try "imap" 2673 (port 143) to check if imapd supports replication. otherwise it 2674 will default to "csync" (usually port 2005). */ 2675 2676{ "sync_realm", NULL, STRING, "2.5.0" } 2677/* The authentication realm to use when authenticating to a sync server. 2678 Prefix with a channel name to only apply for that channel */ 2679 2680{ "sync_repeat_interval", "1s", DURATION, "3.1.8" } 2681/* Minimum interval between replication runs in rolling replication 2682 mode. If a replication run takes longer than this time, we repeat 2683 immediately. Prefix with a channel name to only apply for that 2684 channel. 2685.PP 2686 For backward compatibility, if no unit is specified, seconds is 2687 assumed. */ 2688 2689{ "sync_rightnow_channel", NULL, STRING, "3.3.1" } 2690/* if set, run sync_client to this channel immediately. As with channels, 2691 set this value to '""' to sync the default channel! */ 2692 2693{ "sync_shutdown_file", NULL, STRING, "2.5.0" } 2694/* Simple latch used to tell sync_client(8) that it should shut down at the 2695 next opportunity. Safer than sending signals to running processes. 2696 Prefix with a channel name to only apply for that channel */ 2697 2698{ "sync_timeout", "30m", DURATION, "3.1.8" } 2699/* How long to wait for a response before returning a timeout failure 2700 when talking to a replication peer (client or server). The minimum 2701 duration is 3 seconds, the default is 30 minutes. 2702.PP 2703 For backward compatibility, if no unit is specified, seconds is 2704 assumed. */ 2705 2706{ "sync_try_imap", 1, SWITCH, "3.0.0" } 2707/* Whether sync_client should try to perform an IMAP connection 2708 before falling back to csync. If this is set to "no", 2709 sync_client will only use csync. Prefix with a channel name to 2710 apply only for that channel */ 2711 2712{ "syslog_prefix", NULL, STRING, "3.1.8" } 2713/* String to be prepended to the process name in syslog entries. Can 2714 be further overridden by setting the $CYRUS_SYSLOG_PREFIX environment 2715 variable. 2716.PP 2717 Using the $CYRUS_SYSLOG_PREFIX environment variable has the additional 2718 advantage that it can be set before the \fBimapd.conf\fR is read, so 2719 errors while reading the config file can be syslogged with the correct 2720 prefix. */ 2721 2722{ "syslog_facility", NULL, STRING, "2.5.0" } 2723/* Configure a syslog facility. The default is whatever is compiled 2724 in. Allowed values are: DAEMON, MAIL, NEWS, USER, and LOCAL0 2725 through to LOCAL7 */ 2726 2727{ "tcp_keepalive", 0, SWITCH, "2.4.0" } 2728/* Enable keepalive on TCP connections */ 2729 2730{ "tcp_keepalive_cnt", 0, INT, "2.4.0" } 2731/* Number of TCP keepalive probes to send before declaring the 2732 connection dead (0 == system default) */ 2733 2734{ "tcp_keepalive_idle", "0", DURATION, "3.1.8" } 2735/* How long a connection must be idle before keepalive probes are sent 2736 (0 == system default). 2737.PP 2738 For backward compatibility, if no unit is specified, seconds is 2739 assumed. */ 2740 2741{ "tcp_keepalive_intvl", "0", DURATION, "3.1.8" } 2742/* Time between keepalive probes (0 == system default). 2743.PP 2744 For backward compatibility, if no unit is specified, seconds is 2745 assumed. */ 2746 2747{ "temp_path", "/tmp", STRING, "3.3.0" } 2748/* The pathname to store temporary files in. It is recommended to 2749 use an in-memory filesystem such as tmpfs for this path. */ 2750 2751{ "telemetry_bysessionid", 0, SWITCH, "3.0.0" } 2752/* If true, log by sessionid instead of PID for telemetry */ 2753 2754{ "timeout", "32m", DURATION, "3.1.8" } 2755/* The length of the IMAP server's inactivity autologout timer. 2756 The minimum value is 30 minutes. The default is 32 minutes, 2757 to allow a bit of leeway for clients that try to NOOP every 2758 30 minutes. 2759.PP 2760 For backward compatibility, if no unit is specified, minutes 2761 is assumed. */ 2762 2763{ "imapidletimeout", NULL, DURATION, "3.1.8" } 2764/* Timeout for idling clients (RFC 2177). If not set (the default), 2765 the value of "timeout" will be used instead. 2766.PP 2767 For backward compatibility, if no unit is specified, minutes 2768 is assumed. */ 2769 2770{ "tls_ca_file", NULL, STRING, "2.5.0", "2.5.0", "tls_client_ca_file" } 2771/* Deprecated in favor of \fItls_client_ca_file\fR. */ 2772 2773{ "tls_ca_path", NULL, STRING, "2.5.0", "2.5.0", "tls_client_ca_dir" } 2774/* Deprecated in favor of \fItls_client_ca_dir\fR. */ 2775 2776{ "tlscache_db", "twoskip", STRINGLIST("skiplist", "sql", "twoskip", "zeroskip"), "2.5.0", "2.5.0", "tls_sessions_db" } 2777/* Deprecated in favor of \fItls_sessions_db\fR. */ 2778 2779{ "tlscache_db_path", NULL, STRING, "2.5.0", "2.5.0", "tls_sessions_db_path" } 2780/* Deprecated in favor of \fItls_sessions_db_path\fR. */ 2781 2782{ "tls_cert_file", NULL, STRING, "2.5.0", "2.5.0", "tls_server_cert" } 2783/* Deprecated in favor of \fItls_server_cert\fR. */ 2784 2785{ "tls_cipher_list", "DEFAULT", STRING, "2.5.0", "2.5.0", "tls_ciphers" } 2786/* Deprecated in favor of \fItls_ciphers\fR. */ 2787 2788{ "tls_ciphers", "DEFAULT", STRING, "2.5.0" } 2789/* The list of SSL/TLS ciphers to allow. The format of the string 2790 (and definition of "DEFAULT") is described in \fBciphers(1)\fR. 2791.PP 2792 See also Mozilla's server-side TLS recommendations: 2793.PP 2794 https://wiki.mozilla.org/Security/Server_Side_TLS */ 2795 2796{ "tls_crl_file", NULL, STRING, "3.1.2" } 2797/* Path to a file containing the Certificate Revocation List */ 2798 2799{ "tls_client_ca_dir", NULL, STRING, "2.5.0" } 2800/* Path to a directory containing the CA certificates used to verify 2801 client SSL certificates used for authentication. */ 2802 2803{ "tls_client_ca_file", NULL, STRING, "2.5.0" } 2804/* Path to a file containing the CA certificate(s) used to verify 2805 client SSL certificates used for authentication. */ 2806 2807{ "tls_client_cert", NULL, STRING, "2.5.0" } 2808/* File containing the certificate presented to a server for authentication 2809 during STARTTLS. A value of "disabled" will disable this server's use 2810 of certificate-based authentication. */ 2811 2812{ "tls_client_certs", "optional", ENUM("off", "optional", "require"), "2.5.0" } 2813/* Disable ("off"), allow ("optional", default) or require ("require") the 2814 use of SSL certificates by clients to authenticate themselves. */ 2815 2816{ "tls_client_key", NULL, STRING, "2.5.0" } 2817/* File containing the private key belonging to the tls_client_cert 2818 certificate. A value of "disabled" will disable this server's use 2819 of certificate-based authentication. */ 2820 2821{ "tls_eccurve", "prime256v1", STRING, "2.5.0" } 2822/* The elliptic curve used for ECDHE. Default is NIST Suite B prime256. 2823 See 'openssl ecparam -list_curves' for possible values. */ 2824 2825{ "tls_key_file", NULL, STRING, "2.5.0", "2.5.0", "tls_server_key" } 2826/* Deprecated in favor of \fItls_server_key\fR. */ 2827 2828{ "tls_required", 0, SWITCH, "3.0.0" } 2829/* If enabled, require a TLS/SSL encryption layer to be negotiated 2830 prior to ANY authentication mechanisms being advertised or allowed. */ 2831 2832{ "tls_prefer_server_ciphers", 0, SWITCH, "2.5.0" } 2833/* Prefer the ciphers on the server side instead of client side. */ 2834 2835{ "tls_server_ca_dir", NULL, STRING, "2.5.0" } 2836/* Path to a directory with CA certificates used to verify certificates 2837 offered by the server, when cyrus acts as client. This directory must 2838 have filenames with the hashed value of the certificates (see 2839 openssl(1)). */ 2840 2841{ "tls_server_ca_file", NULL, STRING, "2.5.0" } 2842/* Path to a file containing CA certificates used to verify certificates 2843 offered by the server, when cyrus acts as client. */ 2844 2845{ "tls_server_cert", NULL, STRING, "3.1.8" } 2846/* File containing the certificate, including the full chain, presented to clients. 2847 Two certificates can be set, e.g RSA and EC, if the filenames are separated with 2848 comma without spaces. */ 2849 2850{ "tls_server_dhparam", NULL, STRING, "3.1.4" } 2851/* File containing the DH parameters belonging to the certificate in 2852 tls_server_cert. */ 2853 2854{ "tls_server_key", NULL, STRING, "3.1.8" } 2855/* File containing the private key belonging to the certificate in 2856 tls_server_cert. If not set, tls_server_cert must contain both private and 2857 public key. Two files with keys can be set, if two certificates are used, in 2858 which case the files must be separated with comma without spaces */ 2859 2860{ "tls_sessions_db", "twoskip", STRINGLIST("skiplist", "sql", "twoskip", "zeroskip"), "3.1.6" } 2861/* The cyrusdb backend to use for the TLS cache. */ 2862 2863{ "tls_sessions_db_path", NULL, STRING, "2.5.0" } 2864/* The absolute path to the TLS sessions db file. If not specified, 2865 will be configdirectory/tls_sessions.db */ 2866 2867{ "tls_session_timeout", "24h", DURATION, "3.1.8" } 2868/* The length of time that a TLS session will be cached for later 2869 reuse. The maximum value is 24 hours, also the default. A 2870 value of 0 will disable session caching. 2871.PP 2872 For backward compatibility, if no unit is specified, minutes is 2873 assumed. */ 2874 2875{ "tls_versions", "tls1_0 tls1_1 tls1_2 tls1_3", STRING, "3.1.8" } 2876/* A list of SSL/TLS versions to not disable. Cyrus IMAP SSL/TLS starts 2877 with all protocols, and subtracts protocols not in this list. Newer 2878 versions of SSL/TLS will need to be added here to allow them to get 2879 disabled. */ 2880 2881{ "uidl_format", "cyrus", ENUM("uidonly", "cyrus", "dovecot", "courier"), "3.0.0" } 2882/* Choose the format for UIDLs in pop3. Possible values are "uidonly", 2883 "cyrus", "dovecot" and "courier". "uidonly" forces the old default 2884 of UID, "cyrus" is UIDVALIDITY.UID. Dovecot is 8 digits of leading 2885 hex (lower case) each UID UIDVALIDITY. Courier is UIDVALIDITY-UID. */ 2886 2887{ "umask", "077", STRING, "2.3.17" } 2888/* The umask value used by various Cyrus IMAP programs. */ 2889 2890{ "userdeny_db", "flat", STRINGLIST("flat", "skiplist", "sql", "twoskip", "zeroskip"), "3.1.6" } 2891/* The cyrusdb backend to use for the user access list. */ 2892 2893{ "userdeny_db_path", NULL, STRING, "2.5.0" } 2894/* The absolute path to the userdeny db file. If not specified, 2895 will be configdirectory/user_deny.db */ 2896 2897{ "username_tolower", 1, SWITCH, "2.3.17" } 2898/* Convert usernames to all lowercase before login/authentication. This 2899 is useful with authentication backends which ignore case during 2900 username lookups (such as LDAP). */ 2901 2902{ "userprefix", "Other Users", STRING, "2.3.17" } 2903/* If using the alternate IMAP namespace, the prefix for the other users 2904 namespace. The hierarchy delimiter will be automatically appended. */ 2905 2906# xxx badly worded 2907{ "unix_group_enable", 1, SWITCH, "2.3.17" } 2908/* Should we look up groups when using auth_unix (disable this if you are 2909 not using groups in ACLs for your IMAP server, and you are using auth_unix 2910 with a backend (such as LDAP) that can make getgrent() calls very 2911 slow) */ 2912 2913{ "unixhierarchysep", 1, SWITCH, "3.0.0" } 2914/* Use the UNIX separator character '/' for delimiting levels of 2915 mailbox hierarchy. Turn off to use the netnews separator 2916 character '.'. Note that with the newnews separator, no dots may 2917 occur in mailbox names. The default switched in 3.0 from off to on. */ 2918 2919{ "virtdomains", "off", ENUM("off", "userid", "on"), "3.1.8" } 2920/* Configure virtual domain support. 2921.PP 2922.IP off 2923Cyrus does not know or care about domains. Only the local part of email 2924addresses is ever considered. This is not recommended for any deployment, 2925but is currently the default. 2926.\" 2927.IP userid 2928The user's domain is determined by splitting a fully qualified userid at the 2929last '@' or '%' symbol. If the userid is unqualified, the \fIdefaultdomain\fR 2930will be used. This is the recommended configuration for all deployments. 2931If you wish to provide calendaring services you must use this configuration. 2932.\" 2933.IP on 2934Fully qualified userids are respected, as per "userid". Unqualified userids 2935will have their domain determined by doing a reverse lookup on the IP address 2936of the incoming network interface, or if no record is found, the 2937\fIdefaultdomain\fR will be used. 2938 2939.PP 2940 */ 2941 2942{ "virusscan_notification_subject", "Automatically deleted mail", STRING, "3.1.8" } 2943/* The text used in the subject of email notifications created by 2944 \fBcyr_virusscan(8)\fR when deleting infected mail. */ 2945 2946{ "virusscan_notification_template", NULL, STRING, "3.1.8" } 2947/* The absolute path to a file containing a template to use to describe 2948 infected messages that have been deleted by \fBcyr_virusscan(8)\fR. 2949 See \fBcyr_virusscan(8)\fR for specification of the format of this file. 2950 If not specified, the builtin default template will be used. */ 2951 2952{ "xbackup_enabled", 0, SWITCH, "3.0.0" } 2953/* Enable support for the XBACKUP command in imapd. If enabled, admin 2954 users can use this command to provoke a replication of specified users 2955 to the named backup channel. */ 2956 2957# Commented out - there's no such thing as "xlist-flag", but we need 2958# this for the man page 2959# { "xlist-flag", NULL, STRING, "3.0.0" } 2960/* Set the special-use flag \fIflag\fR on the specified folder when it 2961 is autocreated (see the \fIautocreate_inbox_folders\fR option). For 2962 example, if \fBxlist-junk: Spam\fR is set, and the folder \fBSpam\fR 2963 is autocreated, the special-use flag \fB\\Junk\fR will be set on it. 2964.PP 2965 (This option is so named for backward compatibility with old config 2966 files.) 2967 */ 2968 2969{ "lmtp_catchall_mailbox", NULL, STRING, "2.5.0" } 2970/* Mail sent to mailboxes which do not exist, will be delivered to 2971 this user. NOTE: This must be an existing local user name with an 2972 INBOX, NOT an email address! */ 2973 2974{ "zoneinfo_db", "twoskip", STRINGLIST("flat", "skiplist", "twoskip", "zeroskip"), "3.1.6" } 2975/* The cyrusdb backend to use for zoneinfo. This database is used by the 2976 "tzdist" \fIhttpmodules\fR, and is managed by \fBctl_zoneinfo(8)\fR.*/ 2977 2978{ "zoneinfo_db_path", NULL, STRING, "2.5.0" } 2979/* The absolute path to the zoneinfo db file. If not specified, 2980 will be configdirectory/zoneinfo.db */ 2981 2982{ "zoneinfo_dir", NULL, STRING, "3.2.0" } 2983/* The absolute path to the zoneinfo directory, containing timezone 2984 definitions as generated by the vzic tool. If not specified, whatever 2985 definitions libical finds will be used. 2986.PP 2987 If you are providing a Time Zone Data Distribution Service (i.e. you have 2988 "tzdist" listed in \fIhttpmodules\fR), then this configuration option MUST 2989 be specified. */ 2990 2991{ "object_storage_enabled", 0, SWITCH, "3.0.0" } 2992/* Is Object storage enabled for this server. You also need to have 2993 archiving enabled and archivepartition for the mailbox. 2994 Only email files will be stored on object Storage archive partition will be 2995 used to store any other files */ 2996 2997{ "object_storage_dummy_spool", NULL, STRING, "3.0.0" } 2998/* Dummy object storage spool; this is for test only. 2999 Spool where user directory (container) will be created to store all emails 3000 in a flat structure */ 3001 3002{ "openio_namespace", NULL, STRING, "3.0.0" } 3003/* The OpenIO namespace used to store archived email messages. A namespace 3004 identifies the physical platform cyrus must contact. This directive is used 3005 by the OpenIO's SDK to locate its platform entry point. */ 3006 3007{ "openio_account", NULL, STRING, "3.0.0" } 3008/* The OpenIO account used to account for stored emails. Accounts are unique 3009 in their namespace. They provides virtual partitions, with quotas and QoS 3010 features. */ 3011 3012{ "openio_rawx_timeout", "30s", DURATION, "3.1.8" } 3013/* The OpenIO timeout to query to the RAWX services (default 30 sec). */ 3014 3015{ "openio_proxy_timeout", "5s", DURATION, "3.1.8" } 3016/* The OpenIO timeout to query to the PROXY services (default 5 sec). */ 3017 3018{ "openio_autocreate", 0, SWITCH, "3.0.0" } 3019/* Allow the OpenIO SDK to autocreate containers. Mainly destined to be turned 3020 on development environments. In production, the container should have been 3021 provisioned with the mailboxes. */ 3022 3023{ "openio_verbosity", NULL, STRING, "3.0.0" } 3024/* Sets the logging verbosity of the OpenIO's internal behavior. Admissible 3025 values are: "warning", "notice", "info", "debug", "trace", "quiet". 3026 The default verbosity is "warning". Set to "notice" for a few lines on a 3027 per-client basis. Set to "info" for a few lines on a per-request basis. Set 3028 to "debug" Set to "trace" to activate the underlying libcurl debug 3029 output. Enabling a verbosity higher to equal than "debug" requires 3030 the cyrus to be set in debug mode. The special "quiet" value disables all 3031 kinds of logging at the GLib level. */ 3032 3033{ "caringo_hostname", NULL, STRING, "3.0.0" } 3034/* The Caringo hostname used to store archived email messages. A hostname 3035 identifies the physical platform cyrus must contact. This directive is used 3036 by the Caringo's SDK (CastorSDK: Caringo Simple Content Storage Protocol (SCSP) 3037 on HTTP 1.1 using a RESTful architecture */ 3038 3039{ "caringo_port", 80, INT, "3.0.0" } 3040/* The port of the caringo server (caringo_hostname); default is 80. */ 3041 3042{ "fastmailsharing", 0, SWITCH, "3.0.0" } 3043/* If enabled, use FastMail style sharing (oldschool full server paths) */ 3044 3045/* 3046.SH SEE ALSO 3047.PP 3048\fBimapd(8)\fR, \fBpop3d(8)\fR, \fBnntpd(8)\fR, \fBlmtpd(8)\fR, 3049\fBhttpd(8)\fR, \fBtimsieved(8)\fR, \fBidled(8)\fR, \fBnotifyd(8)\fR, 3050\fBdeliver(8)\fR, \fBmaster(8)\fR, \fBciphers(1)\fR 3051*/ 3052