@@ -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