Geert Stappers: > So I'm also curious if there is a "syntax checker" > that reports missing files.
How would a program know that a string 'foobar' is a file reference 1) in main.cf or master.cf 2) in a file that is referenced by 1) 3) in a file that is referenced by a file that is referenced by 1) 4) and so on. Answer: in many cases the only program that knows if 'foobar' is a file reference is the program that uses 'foobar' as a file reference. For a Postfix configuration checker to answer your question, I see two options. 1) In the configuration checker, duplicate all the parts of all programs that understand file references. Code duplication is undesirable because it makes Postfix more difficult to change. 2) In the configuration checker, ask every Postfix program to "check" the file references that it knows about. Part of this involves starting up the Postfix mail server and running all daemons with a special option, so that each daemon opens all databases, all files, and all sockets, and then terminates without causing permanent side effects other than logging some warnings. The second option makes the most sense because it can reuse the existing code in each daemon program that opens databases as that daemon starts to execute. In the case of the SMTP daemon, that includes database references in smtpd_mumble_restrictions. But this trick cannot check pathnames in non-Postfix programs such as those executed by the spawn(8) or pipe(8) daemons. I do not expect that this option will be implemented soon. It will likely be a multi-year project, just like the effort to make the postconf command understand master.cf, and to make it complain about unknown parameter names. Wietse