Mail::Toaster 4.07 release announcements

Started by matt, May 17, 2005, 02:28:02 PM

Previous topic - Next topic

matt

4.07 - 2005.05.15

Change Summary:

NicTool: Lots of additional changes to automate the build process. You can almost get it fully installed now.

Darwin support has been extensively upgraded. It now builds quite reliably. The only current known issues on OS X are with OS X 10.4 (Tiger). A new startup plist needs to be written to start up the supervised daemons and other processes. If svscan starts now on 10.4, it maxes out both CPU's while doing nothing. Also on Tiger, the MySQL port from DarwinPorts will not compile without some extra help.

CDB support is now mostly (if not entirely) supported. In all previous versions of Mail::Toaster, MySQL was necessary. I have gone through and built a cdb based Mail::Toaster, adding in all the necessary code tweaks along the way. This may be useful to small mail server operators that don't need MySQL installed, or who can't get it installed.

RBLs are massively updated. All the broken RBLs have been deprecated, all the working RBLs that failed tests (because something changed) have been updated, and a few new RBLs have been added. DNS resolution can also use dig instead of Net::DNS. Net::DNS is currently broken on Mac OS 10.4. Dig also seems to be a bit faster. Can be set with rbl_enable_lookup_using.

The code that generates the supervise/*/run files is now completely rewritten. There are now more sanity checks, default settings, and it will will refuse to create a run file if everything isn't set up correctly. The error messages are more helpful now and better formatted. There is also support for re-writing the */log/run files as well. (previously they were build but never updated).

If you install your qmail somewhere other than /var/qmail, you'll be happy to know that I have removed a dozen more hard links to /var/qmail in the code.

Several of the the qmail control files are now automatically re-written by toaster-watcher.pl. Their values are based on settings in toaster-watcher.conf and if you make a change, the update is made and the postmaster is notified.

*.pm
- Condensed SEE ALSO section.
doc/toaster-watcher.conf.pod
- added link to the tnpi MySQL web page
- removed notes about chk-user
Apache.pm
- Don't build with WITH_OPENSSL_PORT unless install_openssl_port is set.
contrib/httpd.conf.*
- added missing /" to phpmyadmin line
contrib/pkgtools.conf
- changed lang/php4 to lang/php*
- changed db/mysql40-server to db/mysql4*
- added line for security/courier-authlib
Darwin.pm
- use the port tool to sync the DarwinPorts (instead of directly using cvs).
DNS.pm
- added ns testing fixups for *.dnsbl.sorbs.net
- removed re-write fixup for korea.services.net (no longer necessary)
- added ns testing fixup for spews.blackhole.us
- added test + ip defs for cn-kr.blackholes.us, *.rfc-ignorant.org
- updated test - ip to 69.39.74.33
- prefer dig instead of Net::DNS for dns lookups (more stable API, and it's already installed everywhere).
Makefile.PL
- use /opt/local/etc on Darwin (instead of /usr/local/etc).
Mysql.pm
- warn user about installing MySQL 4 on FreeBSD 4 w/o linuxthreads
Passwd.pm
- added _formatted sub
- added * for passwd on autocreated users on Darwin (Mac OS X)
Qmail.pm
- rewrote the build_*_run subs. They now use the $toaster->supervised_tcpserver sub to generate their tcpserver invocation syntax. This change revealed several typos that were causing default values to be used instead of values from the config files. It also adds lots of new undefined functionality for the toaster-watcher.conf file by simply adding properly formatted fields.
- by rewriting the code, I modularized it and and removed over 150 lines of redundant code and accomplished much more.
- found several hard coded /var/qmail instances and fixed them.
- test tcpserver for MySQL patch before enabling -S (warn and disable if missing)
- update /service/*/log/run files when necessary
- $qmail->config now updates the following files if they're corresponding values are changed in toaster-watcher.conf: me, concurrencyremote, tarpitcount, tarpitdelay, spfbehavior, mfcheck, sql, .qmail-postmaster, .qmail-root, .qmail-mailer-daemon
- control_create does error checking on the subs that it calls. Checks and reports any differences before making updates. Verifies that updates happen and report any errors.
- control_write: honors all paths as set in toaster-watcher.conf. Also hard codes the paths to the binaries it references in the qmailctl script. Now it doesn't require adding additional directories to $PATH. Also rebuild spamt cdb and simversions.
- sub netqmail: don't do MySQL related stuff if install_mysql = 0, rewrite Makefile and set VPOPMAIL_HOME and -L/path/to/ssl, move duplicated darwin patch stuff to netqmail_darwin_fixups
restart & smtpd_restart both use the $toaster->supervise_restart sub (provides status and error reporting).
added supervise_dir_get, service_dir_get. Now this logic isn't embedded all over the place.
added _set_checkpasswd_bin. This logic was embedded in several subs for generation of smtp/run, pop3/run, submit/run, etc. Consolidated it to one place.
supervised_hostname_qmail: builds the lines for the */run files if the daemons reporting hostname is set to qmail.
added _formatted sub
moved all the new file replacement operations into $utility->install_if_changed sub. That sub handles all the fun stuff like checking to see if the files are different, ownership & permssions, cleaning up, and notifying the admin.
qqtool.pl
- renamed find_qmail_send_control_dir to service_dir_get due to changes in Qmail.pm
Setup.pm
- added subs: expat, rsync, djbdns
- try installing SOAP::Lite, RPC/XML, Apache::DBI, and libwww on freebsd & darwin
- nictool sub now calls the added subs to build it's dependencies. It also installs mysql and apache now as well.
- moved the chunks of code that build razor and clamav on Darwin from spamassassin sub to razor and clamav subs, respectively.
- added build support for qmail-notify
- added support for creating spamassassin/sql.cf
- fallback version of ripmime (if not configured) is now 1.4.0.5 (was 1.4.0.1).
- fallback version of squirrelmail is now 1.4.4 (was 1.4.3a)
- only install pear-DB if squirrelmail_sql is selected.
- warn user to edit php.ini and add pear include path
- sub test_processses: only check for processes that are enabled in toaster-watcher.conf
- sub qmailadmin: only install if install_qmailadmin is enabled
- sub ezmlm: only install if install_ezmlm is enabled
- check for mysql login params in ~/.my.cnf
- clamav supports building a specific version
new subs: cronolog,
- only install [a|i]spell if chosen
- only install MySQL if selected
- only build ezmlm with MySQL support if install_mysql is set.
- don't try installing Mail::Ezmlm unless specified (off by default)
- isoqlog sub much improved for building on Darwin
- maillogs sub does the same job but much smarter, only updates when necessary, output is much cleaner, and errors are reported noticably.
- configure_services will now fix all the common errors made to service directories
- startup_script: new sub that installs a startup script suitable for the OS it's running on.
- don't build ucspi-tcp with MySQL patch unless install_mysql is set
- only install p5-vpopmail if install_ezmlm_cgi is selected
Toaster.pm
- nice the sa-learn process so it doesn't monopolize the CPU while it's running. This should help folks with only one CPU in their box.
- toaster_check previously did some extremely basic supervised directory checking. Now it does a whole suite of tests to catch every common misconfiguration I could think of. This is all handled in the supervised_dir_test subroutine and is extensible for future supervised processes.
- added subs: service_dir_create, service_dir_test, supervise_dirs_create, supervised_dir_test, supervised_do_not_edit_notice, supervised_hostname, supervised_multilog, supervised_log_method, supervise_restart, supervised_tcpserver, _formatted
toaster_setup.pl
- added new -s spamassassin build target
- added -s proctest target (test running processes)
- added -s rbltest target (test rbls)
- also accept -v for debug flag
- added -s config target (updates toaster-watcher.conf)
toaster-watcher.pl
added $qmail->config (rebuilds any qmail control files that have been altered)
toaster-watcher.conf
- added install_qmail_notify, install_spamassassin_sql, install_spamassassin_dbuser, install_spamassassin_dbpass, qmail_spf_behavior, rbl_enable_lookup_using, and install_ripmime
added ssl config section
- manually verified all included rbls, deprecated a few, added a few
- install_clamav now supports a version #
- added install_aspell, install_ispell
t/toaster-watcher.pl
new file
added 21 new tests to verify toaster-watcher functions