Skip to content

Commit 897b17c

Browse files
sirainenslusarz
authored andcommitted
man: doveconf - Document -F parameter
1 parent 20a636e commit 897b17c

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

docs/core/man/doveconf.1.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,32 @@ configuration in easy human readable output.
7777
This matches filters which were configured like:
7878
: **remote 1.2.3.0/24 { # special settings }**
7979

80+
**-F**
81+
: Show the configuration in a filter-based format, which is how Dovecot
82+
internally accesses it. This can be useful for debugging why configuration
83+
is not working as expected.
84+
85+
The settings are grouped into different "structs", which are all accessed
86+
independently. A new struct is started in the output as `# struct_name`.
87+
88+
Next is the list of filters, which begin with `:FILTER` followed by the
89+
filter in the event filter syntax. An empty filter matches everything.
90+
The filters are processed from end to beginning. The settings are taken
91+
from the first matching filter (i.e. the last in the output). Since not
92+
all filters have all settings defined, the processing continues until all
93+
settings have been found.
94+
95+
Named list filter such as `protocols = imap pop3` are shown as
96+
`protocol/imap=yes` and `protocol/pop3=yes # stop list`. The "stop list"
97+
means that the value is not modified by any following filters that match.
98+
If the setting was defined as `protocols { imap=yes, pop3=yes }`, the
99+
"stop list" would be missing, because this setting is only adding the
100+
protocols, not replacing the list.
101+
102+
Settings groups are included in `:INCLUDE` lines. The includes are
103+
processed last, after all filters have been applied, so all settings inside
104+
the groups can be overridden.
105+
80106
**-h**
81107
: Hide the setting's name, show only the setting's value.
82108

0 commit comments

Comments
 (0)