I have cut all the irrelevant and whiny crap from the quotes, and I ask that others please not continue that off-topic and useless discussion. One part of this, q.v., deserves to be addressed.
On Saturday 05 November 2011 09:03:18 David Southwell wrote: > On Saturday 05 November 2011 06:42:12 Simon Brereton wrote: > > On 5 November 2011 08:21, David Southwell > > <ad...@vizion2000.net> wrote: snip > > > Clearly postfix is need of an intelligent parser that will to > > > pinpoint errors such as this in master.cf and main.cf. That is > > > because stupid computers are better at parsing chores than > > > human beings. > > > > Postfix has such a parser - which is why the documentation points > > out that lines should not start with a white-space. snip > You are failing to distinguish between a diagnostic parser and an > executive parser. An executive parser rejects incorrectly > configured lines at runtime. A diagnostic parser would tell you > that there is an excess space at a specific location. A really > good executive parser would also log the location of incorrectly > configured lines to facilitate the work of an administrator. And that would be far more difficult than you imagine. How is this parser to know that the administrator did not intend to continue the logical line? It needs a DWIM filter. # a master.cf logical line submission inet n - n - - smtpd -o smtpd_tls_auth_only=yes -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=$submission_rcpt_restrictions -o milter_macro_daemon_name=ORIGINATING -o syslog_name=postfix-587 # a master.cf typo pickup fifo n - n 60 1 pickup In this case we have a Postfix daemon, smtpd(8), which obviously should not have "pickup fifo ..." as a command argument. This one is potentially detectable by an automated parser. # a master.cf logical line dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient} # a master.cf typo mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} How is your executive parser going to know that dovecot-lda is not expecting "mailman unix ..." on its command line? It's easy to fuss and point fingers at inadequacies in software, but to address those shortcomings takes quite a bit of work. Wietse has said many times here that his time to spend on Postfix is limited. His approach was to provide clear and complete documentation of postconf(5) and master(5) files. The sample files in the source tarball include the syntax instructions as comments at the top. The fact is: if you follow directions carefully, you will not be bitten by mistakes of this nature. There is exactly one person to accept the "blame" here, if you want to talk about blame. But this list is not the place for that. -- Offlist mail to this address is discarded unless "/dev/rob0" or "not-spam" is in Subject: header