The description of a condition in the chainmail configuration file consists of one more more primitive conditions joined by boolean operators and, or and not. Usual operator precedence applies. You may also use parentheses to change precedence.

Each primitive condition usually consists of a keyword — condition name — followed by zero, one or several quoted strings — condition parameters. Note that parameters must by double-quoted and separated by blanks. The only exception to this rule is expression condition, described last in this section.

Chainmail knows about the following primitive conditions:

Examples of comlex conditions, comprised of several primitive conditions: