Wietse Venema wrote: > While adding a feature I ran into a problem that is so old that I > had to dig into my pre-alpha source code to find when it was > introduced. > > Bugfix (introduced May 19, 1997): removing a parameter > setting from main.cf did not reset the parameter to its > default value. File: global/mail_params.c. > > This has rarely been an issue because most Postfix processes run > for a limited amount of time, and because people usually do "postfix > reload" after making a change, so that all daemons except master > terminate voluntarily. > > A redundant design does have benefits ... > > Wietse > > diff -bcr /var/tmp/postfix-2.6-20090106/src/global/mail_conf.c ./mail_conf.c > *** /var/tmp/postfix-2.6-20090106/src/global/mail_conf.c Sat Apr 10 > 10:52:51 2004 > --- ./mail_conf.c Thu Jan 8 20:45:10 2009 > *************** > *** 173,178 **** > --- 173,181 ---- > && geteuid() != 0) /* untrusted */ > mail_conf_checkdir(var_config_dir); > path = concatenate(var_config_dir, "/", "main.cf", (char *) 0); > + /* In case a name=value pair is removed from main.cf. */ > + if (dict_handle(CONFIG_DICT) != 0) > + dict_unregister(CONFIG_DICT); > dict_load_file(CONFIG_DICT, path); > myfree(path); > }
Just goes to show you.. that the work is never done! -Matt