Mail-Toaster
view release on metacpan or search on metacpan
automatically add pear include path to php.ini, used by squirrel mail
added munin declarations in apache config
updated horde web address, added apache config settings for horde
added periodic (cron) task for dccd cleanup (if installed)
build updates for lighttpd
removed php4 build support
updates for roundcube webmail support
added portmaster build target
added gnupg install to spam assassin build (used by sa-update)
moved rrdtool install from munin into its own sub
added maildrop build option for vpopmail build
added squirrelmail sasql plugin configuration
isoqlog build did not install config file, fixed
update ezmlm-idx build for v7
remove mysql db type, future mysql versions use a different syntax
added qmailadmin catchall preference, defaults to disabled
added horde support to lighttpd config
give smtpd and pop3 processes more RAM (better accomodate 64bit)
reduce default multilog file size from 1M to 100k
change user=matt to 'valid-user' in http config
5.29 - Jun 12, 2011
updated migrate script for compatibility with 5.26 changes
updated lighttpd.conf config file location (FreeBSD port change)
reverted simscan user back to clamav (works more reliably)
if a perl module is already installed, prompt to reinstall
5.28 - Jan 03, 2011
detect location of maillogs when configuring /etc/mailer.conf
allow building qmail with no patches
explicitly include a few more perl modules required by SpamAssassin
automatically password protect isoqlog in apache vhost file
'maillogs yesterday' exits 0, so periodic is content
t/Utility: test if file exists before testing ability to delete
5.27 - Jul 08, 2010
style updates to Ezmlm.pm and fix test failures in t/Ezmlm.t
maillogs fails more gracefully when the log files are unreadable
POD doc cleanups
fixed inverted regexp match that caused control/me to be set to the system
hostname instead of toaster-watcher.conf configured value
added URI to prereq list in Makefile.PL
skip rbl tests if client can't resolv bl.spamcop.net properly
FreeBSD->is_port_installed does a better job of port detection when there
are multiple ports with similar names (qmail, qmailanalog, etc)
corrected whitespace related test error in get_list_of_rbls test
added install_munin to toaster-watcher.conf
fixed 'maillogs yesterday' report
other minor cleanups for PBP and cleaner 'make test' results
5.26 - Jun 31, 2010
added php build and post-install config (php.ini) support for freebsd
replaced inline squirrelmail config with local overrides
added build and post-install config support for lighttpd
added sqlite build option for roundcube when install_mysql = 0
added t/01.syntax (syntax checks for bin/*, lib/*, cgi_files/ezmlm.cgi)
renamed port_install to install_port (see DEVELOP)
added munin install support and configuration
updated t_setup -s mailtoaster target (from $util-> to $toaster->)
cleaned up more debug and log messages
changed API for cwd_source_dir, chown, extract_archive, get_url, is_readable,
is_writable, check_pidfile, install_package
changed some builtin chown calls to using $util->chown
renamed util->file_get to util->get_url
renamed util->file_archive to archive_file
renamed util->pidfile_check to check_pidfile
renamed M:T:U:archive_expand to extract_archive
for objects in classes beneath Mail::Toaster:
new objects inherit debug and fatal settings from the Mail::Toaster object
when loading a M:T:Utility, use $toaster->get_util instead of loading
when a method is run, it can inherit its parents values for debug and
fatal by adding %std_opts to its own parameter validation
removed hundreds of places where debug settings were explicity passed.
renamed M:T:F:package_install to install_package
renamed M:T:F:ports_update to update_ports
fixed vqadmin install directories (due to change in FreeBSD port)
util->get_my_ips is done in perl now, instead of using CLI cut & grep
added config questions for squirrelmail, roundcube, spamassassin, and
phpMyAdmin database passwords (requested by Carmi)
updated Ezmlm.pm and ezmlm.cgi
t_setup.pl -s webmail will try to find the cgi_files folder before error
5.25 - Jun 10, 2010
added M:T:get_util & get_config methods (rathan than having other classes accessing the object data.
removed $conf from calls to M:T:U:install_from_source
M:T:Apache::start method is more reliable
split M:T:Setup::config into config_ methods
renamed M:T:FreeBSD::rc_dot_conf_check to conf_check, and added file option
can be used to add entries to other config files, like make.conf now
first argument to M:T:Utility::find_bin and syscmd are positional
default vpopmail version is now 'port'
new M:T objects include a $util object (it's usually loaded anyway)
pass in $toaster objects when instantiating M:T subclasses
added log and error methods to $toaster class, used by all subclasses
removed M:T:Perl, replaced by methods in $util
added freebsd port options for dovecot and roundcube
abstracted Qmail::netqmail into several methods
added qmail_openssl_ciphers option (thanks Craig Green).
fixed URL to patches directory on www.tnpi.net
install_portupgrade now defaults to off, install_portmaster added
subscribeIMAP.sh test was fatal, now installs if missing
M:T:DNS and t/DNS.t upgraded with better error handling and status reporting
removed M:T:Passwd, replaced with simpler methods in M:T:Qmail
removed qmail_(users) from toaster-watcher.conf (still honored if set)
in t/Qmail.t, service_dir_get tests are non-fatal now
changed IP used in RBL tests (my mail server got whitelisted?!)
changed API for file_read, file_write, file_archive, is_port_installed,
install_port (first arg is filename)
dovecot.conf altered using search/replace function instead of patch
after installing spamassassin, run 'sa-update' to initialize
create a single SSL cert and use it for qmail, dovecot, courier, apache
courier imap startup scripts that broke due to FreeBSD changes are detected
and fixed. rc.conf values are automatically updated by toaster_setup.pl
default cgi-bin location changed to www/cgi-bin.toaster (statically defined
will avoid problems when ports opt to install cgi-bin, or cgi-bin.default,
or cgi-bin-default, or whatever comes next)
qmail_openssl_ciphers renamed openssl_ciphers. Used with Apache as well.
reworked and updated the tests for better reporting and less code
added config for roundcube: creates mysql db, user, and updates configs
added negative smtp-auth test, make sure only valid auth works
reworked bin/toaster-watcher.pl, greatly simplified structure.
many changes in Mail::Toaster.pm, focused on brevity and legibility (-500 l)
improved debug/status event reporting. Now mostly silent (unless -v) until
- Georg von Itzenplitz - allspam target created an empty .qmail with
invalid ownership, sent patch.
- fix for installing phpMyAdmin with php5
- the squirrelmail sub does a better job of setting up squirrelmail with
mysql prefs (no guarantees yet).
- added sub for installing roundcube, domainkeys, and dovecot
- RRDutil was not fetching dist properly
- autorespond failed to build on darwin due to quoting error
- if $config_dir ($prefix/etc) is missing, create it
- added vpopmail_valias to Darwin config tweaks
- added an entire section of Linux config tweaks
- search for gmake is no longer fatal (on Linux, gmake is installed as make)
- isoqlog source build now works again (patches needed to be an arrayref)
- added port_ options for Apache2-SOAP perl module
- added download addresses for NicTool installs
- added WITH_DATABASE to squirrelmail installs (so pear-DB will be installed)
- suppress build time prompt if vpopmail_learn_passwords is disabled
- updated vpopmail creategroup syntax, it now creates user/groups on
Linux/Darwin again.
- only check for service/pop3 symlink if pop3_daemon = qpop3d
5.04 - Nov 25, 2006
Setup.pm - mailfilter generation code generated an invalid filter
file if filtering_spamassassin_method was not = site.
- installing phpmyadmin attempted to install php4-gd
despite install_php = 5.
*.pm - updated calls to darwin->install_port to reflect an internal API change.
5.03 - Nov 8, 2006
Logs.pm - comment out a print statement that caused a snmp counting error in maillogs
Setup.pm - install Params-Validate port on FreeBSD & Darwin
t/maillogs - return a more specific error message if Date::Parse not installed
5.03rc1 - Oct 15, 2006
Packaging Updates
Moved Params::Validate into inc directory (prevent CPAN from
presuming I provide it), moved Changes back into doc/Changes.pod,
added include lib "inc" into all test files (forgot that with 5.02
release).
Better pod descriptions for FreeBSD.pm, Mysql.pm, Apache.pm,
Ezmlm.pm, Darwin.pm, DNS.pm, Provision.pm, Setup.pm, Passwd.pm,
Perl.pm, and Toaster.pm. Updated META.yml to include license.
FreeBSD Port preparations
Default htdocs directory is now /usr/local/www/toaster.
CPAN test tweaks
Don't do passwd test on cygwin. Don't do network tests on Cygwin
toaster-watcher.conf
added install_roundcube option
Darwin.pm
updated $utility calls with MT 5 syntax updates
udpated test file to use Test::More
t/Utility.t
only attempt to chown_system if we are root, don't run get_my_ips on
netbsd (until I figure out why it doesn't work
Changes
added file to distribution
bin/toaster_setup.pl
added RT URL to bug section for reporting
bin/sysadmin
updated for MT 5 syntax
Passwd.pm
mt 5 syntax updates, add in warnings for failures
Qmail.pm
formatting cleanups, and added a few missing debug=>0 settings.
Provision.pm
mt 5 updates and rewrite. If values are missing and we are interactive,
prompt for the missing values.
pass debug and $conf variables in the $provision object (accomplish
the same result with less code)
Utility.pm
ask sub now returns $default value (instead of 0) if not interactive
yes_or_no supports q shortcut for question argument
5.02 - 2006.10.11
toaster-watcher.conf
added options install_ezmlm_mysql, vpopmail_mysql_repl_master_port,
vpopmail_mysql_repl_slave_port
t/Toaster.pm
get_dir_files tests the file size to see if any domains are added
yet (more reliable test)
FreeBSD.pm
fixed a recursion bug in ports_update (portsnap)
install a default portsnap.conf if missing
FreeBSD version detection wasn't working
Apache.pm
added security options to mail-toaster.conf to harden Apache
added PHP AddType declarations
added directory block for phpmyadmin
only add phpmyadmin block if selected in toaster-watcher.conf
Setup.pm
ezmlm mysql support now depends on install_ezmlm_mysql setting
instead of install_mysql.
added support for vpopmail mysql database port number (thanks Erik!)
vpopmail_mysql_database setting is now honored.
busted huge vpopmail sub into a dozen smaller ones for easier
maintenance.
heredoc's used in creation of tcp.smtp used ' and needed "
( run in 0.558 second using v1.01-cache-2.11-cpan-71847e10f99 )