On Thu, Nov 28, 2013 at 09:09:32AM -0700, LuKreme wrote: > Also, the Fields are all single words, and almost all the parameters > have multiple_words_with_underscores, so there might be something > there. > > myhostname mydomain myorigin mydestination and mynetworks seem > to be the only parameter labels without an _ on my system, for > example. They all conveniently start with "my".
Counter-examples exist: $ postconf -d | awk '{print $1}' | egrep -v _ | egrep -v '^my' biff relayhost stress users are free to create their own parameters. You may, for example, have seen some of my posts that introduce ${indexed}... At Morgan Stanley I implemented a separate postmast(1) utility, that could be used to show all, or just non-default, master.cf entries, and to insert or delete master.cf entries. It did not support granular access to the components of an entry. In postmast(1) there was no ambiguity between "." in a service name and "." between the service name and the service type, because these were specified separately "postmast [-s <service>] [-t <type>] ...". While integrating a super-set of postmast(1) functionality into postconf(1) Wietse has switched from "." to "/", but this may not solve the problem because some service names have "/" in them (paths of sockets outside /var/spool/postfix/{private,public}). To safely eliminate the ambiguity we can either use white-space to separate the name and type: # Single type $ postconf -F "smtp inet" # Any type $ postconf -F smtp or make the type mandatory with the empty string or "any" as a wildcard: # Single type $ postconf -F smtp.inet # Any type $ postconf -F smtp. OR $ postconf -F smtp.any I think "." is less visually intrusive than "/", and since "/" does not eliminate the ambiguity, I would revert the separator to "." with the next snapshot, with "any" for a wildcard: # inet type $ postconf -F smtp.inet # any type $ postconf -F smtp.any With ".<type>" required, the ambiguity goes away. -- Viktor.