hi |
|
Mail::Toaster (4.06) by Matt Simerson.
A list of site mirrors is at the bottom of this page.
|
|
4.07 - 2005.04.
- Setup.pm
- - added subs: expat, rsync, djbdns
- - try installng SOAP::Lite, RPC/XML, Apache::DBI, and libwww on freebsd & darwin
- -
4.06 - 2005.04.08
There were three major changes to Mail::Toaster with this release.
1. The documentation on the web site got a complete overhaul. They have been extracted from the perl .pod files and moved into Tinderbox. The entire toaster site is now generated from there and is much more versatile than pod files.
2. The ham and spam learning is now much, much, much more efficient. If you use that feature, you should upgrade strictly for this reason alone. To see how much more efficient, see this post in the list archives.
3. Process monitoring. Toaster-watcher.pl will now check for running processes and alert you if any of the critical ones are not running (imapd, snmpd, clamd, sqwebmaild, authdaemond, pop3d, mysql, httpd).
The rest of the changes are all little tweaks here and there so the build process continues to work smoothly.
- all files
- - added 2005 to copyright notice
- Apache.pm
- - added documentation to the vhost_create sub
- contrib/Mail-Ezmlm-0.5.patch
- - added for newer Mail::Ezmlm module. Patches sent to author for future inclusion in Mail::Ezmlm
- FreeBSD.pm
- - run the /etc/rc.shutdown script when deleting a jail (if it exists)
- Makefile.PL
- - removed many of the doc targets. Those files are now generated externally.
- Perl.pm
- - offer to re-fetch sources that already exist for perl modules.
- Qmail.pm
- - set QUEUE_EXTRA if qmail_queue_extra set in t-w.conf
- - use find_qmail_send_control_dir instead of hard coded /var/qmail in check_control sub
- qqtool.pl
- - changed hard coded $qcontrol to $qmail-> find_qmail_send_control_dir call.
- Setup.pm
- - fixes for sqwebmail 5 & courier 4
- - fixed logic for sbin/services symlink
- - add WITHOUT_LDAP to clamav's make call
- - install ucspi & daemontools when building djbdns
- - busted about test sub into many smaller subs (auth_test, vpopmail_test, test_processes, test_crons )
- - created sub for courier-authlib install
- - install a default authdaemonrc file (the port no longer does this)
- - moved various port installs from -s pre down into the sub(s) in which they are required. That'll help avoid installing any un-necessary items. It also makes it easier to port Mail::Toaster to other platforms.
- - busted many parts of the filter sub up into many smaller subs (spamassassin, razor, clamav, simscan). These new subs have targets in toaster_setup.pl so they can be called directly. Again, this makes it more straight forward to port to other platforms.
- - the vpopmail port now installs a sample etc/tcp.smtp. Detect and overwrite it with our documented version.
- - append the list of attachment blocks from toaster-watcher.conf to the simcontrol default example.
- - added a default simscan comment into $vpop/etc/tcp.smtp
- toaster-watcher.conf-dist
- - added install_ezmlm_cgi settings
- - added maildir_learn_interval
- - removed smtpd_chkusr_patch & submit_chkusr_patch
- toaster-watcher.pl
- - added call to learn_mailboxes sub
- - now -v works for verbose output (instead of using -d)
- Toaster.pm
- - rewrote clean_mailboxes, broke each operation out into it's own subroutine. New subs: maildir_learn_ham, maildir_clean_ham, maildir_clean_new, maildir_clean_sent, maildir_clean_trash, maildir_learn_spam, maildir_clean_spam
- - maildir_learn_ham only learns from the new messages since it's last schedule run.
- - split clean_mailboxes into clean and learn_mailboxes
4.05 - 2005.02.28
- Apache.pm
- - restart using apache2.sh start & stop targets (previously used restart)
- - use *:80 as default port for new vhosts
- - try to determine docroot if not passed in
- FreeBSD.pm
- - drive_spin_down needed to call $utility instead of $self->
- - run "make fetchindex" after updating ports
- Logs.pm
- - rbl counting broke in 4.0 updates...fixed
- - updated to recognize new webmail auth logs
- Setup.pm
- - install mail programs in src/mail
- - add full path to svok in autogenerated scripts
- - rewrite conf-* for qmail based on OS settings
- - changed InstallApacheSSLCerts to install_ssl_certs
- - added qmail exit code notes to mailfilter
- - chmod calls all have 5 digits now (padded front)
- - chmod on qmail-scanner-queue wrapper works now
- Utility.pm
- - install_from_source uses new source_sub_dir
4.04 - 2005.02.10
- Apache.pm
- - Apache2 install on Darwin uses DarwinPorts
- - Apache2 will attempt to install from sources on "other" platforms (ie, not FreeBSD,Darwin)
- CGI.pm
- - removed tags (moved into CSS section of index.tmpl
- Darwin.pm
- - added ability to pass port build params
- index.tmpl
- - added hiliteXX CSS tags to alter color of green text on index.cgi page
- Qmail.pm
- - updated to use new Shupp toaster patch (spamthrottle patches are now included)
- - install qmail-smtpd-reject patch
- - added qmaill user create (non-FreeBSD installs)
- - add paths to softlimit & tcpserver in */run files
- - add paths to svc in services.sh
- - add paths to setuidgid & multilog in log/*/run
- qqtool.pl
- - minor internal code formatting changes
- Setup.pm
- - install stunnel for pop3ssl if using qpop3d
- - build dcc with WITHOUT_SENDMAIL
- - updated for clamav /var/db/clamav location
- - added custom-smtp-reject option to simscan
- - added simscan_regex option to simscan
- - added spam_passthru option to simscan
- - qscan_test: also test qmail-scanner c wrapper
- - install clamav from ports on Darwin
- - add clamav user and group on Darwin & Linux
- - better detection of ripmime location in simscan()
- - find spamassassin in other locations (path was hard coded to /usr/local/bin)
- - install pcre on FreeBSD if simscan_regex is set
- - install a custom services on Darwin
- - install ucspi in /opt/local on Darwin
- - install DarwinPortsStart port on Darwin
- - pass cgibindir to sqwebmail build
- - add required users on Linux builds
- toaster-watcher.conf
- - added pop3_ssl_daemon
- - added qmail_smtp_reject_patch
- - added simscan_custom_smtp_reject
- - added simscan_spam_passthru
- - added simscan_regex_scanner
- - updated qmailadmin to v1.2.7
- Utility.pm
- - added /opt/local/sbin to find_the_bin
- contrib/pkgtools.conf
- - also skip xorg* in when using pkg* tools
4.03 - 2004.12.14
- Apache.pm
- - added support for apache suexec option
- - added support for Apache proxy modules
- - contrib/pkgtools.conf
- - added lang/php4 build options
- - added mysql4.1 build options
- FAQ.pod
- FreeBSD.pm - hopefully fixed an error where if your ports tree is missing the port packageit would just silently crash and the script fails. Now it should work.
- Passwd.pm
- - user_archive had problems with File::Basename, reverted back to my path_parse
- Setup.pm
- - rrdutil_test: updated net_snmp variable test to that test doesn't incorrectly fail.
- - added mrm and logmonster install subs
- - vpopmail_relay_clear_minutes wasn't being set
- - added new options for use with simscan 1.0.8
- - fixed qmails_cann to qmail_scanner...
- - added nictool build sub
- - check rc.d/services.sh and update if necessary
- - only install rc.d/services.sh on FreeBSD
- toaster_setup.pl
- - added mrm and logmonster install targets
- - added nictool install target (installs deps)
- toaster-watcher.conf
- - added simscan_trophie
- - added simscan_quarantine
- - added simscan_ripmime
- - simscan_per_domain now defaults to 0
- lib/toaster-watcher.conf.pod
- - updated spamlinks.net URL
- - added simscan notes
4.02 - 2004.11.27
- *.pm
- - reordered subroutines in alpha order so doc page formatting is more orderly.
- contrib/httpd.conf-2.0.patch
- - added for isoqlog/images dir
- Darwin.pm
- - check for darwin ports to be installed any of /usr/ports, /usr/dports, or /usr/darwinports
- FreeBSD.pm
- - added sub drive_spin_down
- Logs.pm & Qmail.pm
- - added "use POSIX" back for floor()
- Mysql.pm
- - replaced POSIX::uname with $o
- - added sub backup()
- - imported sub binlog_on from mrm
- - imported sub status from mrm
- Perl.pm
- - module_install works very well now.
- Qmail.pm
- - update /var/qmail/bin/qmailctl if the latest version is newer.
- - updated /usr/local/sbin/qmail to be a link to /var/qmail/bin/qmailctl
- - replaced several hard coded /var/qmail paths with $qmaildir to honor config settings.
- - check /opt for ssl includes on Darwin
- Setup.pm
- - added testvirus.org note to test sub
- - oops, two ucspi subs, consolidated to one
- - honor install_clamav
- - honor install_maildrop
- - MATT::Bundle installs using module_install
- - RRDutil installs using $perl->module_install
- - updated subs that use install_from_source to use new features.
- - moved qmail-scanner tests to qmail_scanner_test
- - added support for building qmail-scanner as a user other than qscand. Default is now "clamav"
- - install openldap 2.2 (instead of 2.1)
- - also install cronolog, daemontools, and openldap from ports on Darwin
- - check /opt/local for MySQL includes on Darwin
- - added "make snmp" target to rrdutil sub
- - added rrdutil_test sub
- - added --with-cachedir=daemon option to sqwebmail if os == darwin
- - only check or $qmail/configure on FreeBSD
- - netstat runs as -aS (freebsd) or -an (linux) to speed up network port listening tests
- - added subs smtp_test_auth, pop3_test_auth, and imap_test_auth
- toaster_setup.pl
- - added -s imap, -s pop3, and -s smtp targets
- - added -s filtertest, -s authtest
- - updated usage with target section headers
- toaster-watcher.conf
- - install_isoqlog defaults to version "port"
- - added qmail_scanner_suid_wrapper option
- - added qmail_scanner_user = clamav
- Utility.pm
- - added sub fstab_list
- - sudo sub cleaned up considerably, will now attempt source install on FreeBSD if port install fails.
- - chdir_source_dir tries harder before giving up
- - check_pidfile renamed pidfile_check with a backwards compatible sub added.
- - find_the_bin will accept a complete path
- - created subs is_hashref, is_arrayref
- - install_from_source verifies that inputs are hashrefs and gives nice error messages if not
- - logfile_append verifies that it's second input is indeed an array ref
- - added bintest option to install_from_source
- - file_get verifies that a fetch utility (wget, curl, fetch, etc) was found.
- - Added a warning message so that if a luser edits t-w.conf and changes the toaster_dl_* params, we yield a warning message telling them to fix it.
- t/Mysql.t
- t/Passwd.t
- - changed test user to nobody from bin so make test runs clean on Darwin and Linux
- t/Utility.t
- - added tests for install_from_source, is_hashref, is_arrayref
4.01 - 2004.11.19
Many OS X & Linux (platform neutral) support additions.
- Ezmlm.pm
- - changed "use" to "require" for module loads
- - moved module loads into subs where required so "make test" doesn't whine and freak out newbies
- Makefile.PL
- - detect /var/www/data as docroot on linux
- Qmail.pm
- - check for skel in /etc (Linux)
- - don't try stopping qmail-send if it's not running
- - forgot to auto-replace qmail_service keyword
- qqtool.pl - updated several $utility-> that were not updated
- Setup.pm
- - added subs (linux): djbnds, autorespond, ucspi_tcp, daemontools, ripmime, simscan, razor,
- - pre section now attempts to install from sources on any platform it doesn't recognize.
- - test sub needed $toaster->email_send() updated
- - also install p5-Quota as part of -s pre
- - added "make logs" target to mailtoaster build
- - install Ezmlm also installs Mail::Ezmlm
- - isoqlog_conf was ConfigIsoqlog
- - make the test descriptions more descriptive
- - added $qmail->check_rcpthosts to tests
- - added source install for isoqlog ($setup->isoqlog)
- - update /var/log/mail/*/????log files if needed (this was a manual step prior)
- - sqwebmail checks install_sqwebmail before trying to install.
- - vpopmail.pm is installed w/vpopmail on src install
- - added check for install_squirrelmail
- - install squirrelmail works on linux now
- - will accept a specific version to install
- - added source install for maildrop linux
- - install Quota.pm as part of dependencies linux
- - courier-imap from sources works on linux
- - sqwebmail from sources now works on linux
- - install Ezmlm from sources works on linux
- - courier_conf works on (linux)
- - expand_archive file test now works on linux
- - clamav install now works on linux
- t/Darwin.t - skip tests and print OK on other OS
- t/FreeBSD.t - skip tests and print OK on other OS
- toaster_setup.pl
- - fix so "make test" runs more clean on non-FreeBSD
- - added targets: djbdns, isoqlog, daemontools, razor,
- toaster-watcher.conf
- - isoqlog accepts a version now
- - courier-imap accepts a version now
- - squirreilmail accepts a version now
- - Makefile.PL - added Quota, vpopmail, Email::Valid, and Mail::Ezmlm to PREREQ_PM
- *.pm
- - due to relocating lots of code into subs: changed a bunch of die calls to croak and changed a bunch of warn calls to carp
4.00 - 2004.11.16
The changes in 4.0 have been focused on quality assurance. Nearly every bit of code has been reviewed and very little has been left untouched. The primary areas of change are regarding the methods the internal subroutines used to communicate. Now, nearly every method does integrity tests on itself, the input it receives, the results it tried to affect, and returns a result code indicating success or failure. Instead of blindly trying and hoping, actions are tested, and often re-tested to verify their results.
In addition to all the massive internal changes, the test scripts to verify the modules and methods have grown significantly. Version 3.47 had 29 tests, version 4.0 has 84 tests. These tests help assure that future code authors don't inadvertantly make changes that break functionality.
All the modules are now object oriented. This really only matters to other perl progammers who want to use the modules. Each perl module is a package and the interface for that package is an object method. This has allowed me to get rid of all the exported functions. This has the advantage of making it far, far easier for other authors to read the code and find the bits they want to tinker with.
Simscan support has been added and is the preferred scanner, replacing qmail-scanner. I'm sure this will lead to much excitement, joy, and pain. I have more than doubled the amount of documentation related to mail filtering. Most of it is on the mail filtering page of the web site.
Finally, a battery of about 150 tests has been set up. Run toaster_setup.pl -s test and it will run these tests against your mail toaster. It's designed to be very extendible so as common problems creep up, we can add a test for them and make problem resolution easier. My favorite of the tests is testing the mail scanners (simscan & qmail-scanner). It delivers 4 messages (clean, attachment, spam, and viral) to the email admin using each enabled scanner (qmail-scanner, simscan, qscanq, etc) to test the mail scanners configuration.
- admin.cgi
- - updates due to dependency changes
- - removed SetInstruct, SetHeading, SetLogo
- Apache.pm
- - updated subs for new object methods
- - Added Apache1 building for Darwin (Mac OS X)
- - Added BSD copyright notice
- - add apache2_enable to /etc/rc.conf on FreeBSD (Apache port now requires it)
- - add apache2ssl_enable to /etc/rc.conf on FreeBSD
- CGI.pm
- - no subs exported, Exporter removed
- - contrib/Mail-Ezmlm.patch
- - patch to untaint data for use with ezmlm.cgi
- Darwin.pm
- - no subs exported, Exporter removed
- DNS.pm
- - no subs exported, Exporter removed
- Ezmlm.pm
- - no subs exported, Exporter removed
- - updated subs for OO methods
- - added documentation for each method
- - process shell logic rearranged so list function works on the command line.
- FreeBSD.pm
- - added jail_delete
- - jail_start was StartJail
- - jail_create was CreateJail
- - ports_update was UpdatePortsTree
- - jail_create - added option to only sync portions of ports tree relevant to Mail::Toaster
- - put timers on prompts so that automated installs will continue uninterrupted.
- - package_install - try a couple more ftp servers before failing.
- index.cgi
- - updates due to dependency changes
- - removed SetInstruct, SetHeading, SetLogo
- Logs.pm
- - no subs exported, Exporter removed
- mailadmin
- - replaced sudo_setup sub with $utility->sudo
- - updated all external call with new methods
- maillogs
- - updates due to Logs.pm changes
- Makefile.PL - fixed an install bug that caused install
- failures on systems where /usr/local/etc didn't exist
- - implicitely define the permissions on index.cgi
- - implicitely define the permissions on *.conf files
- Mysql.pm
- - no subs exported, Exporter removed
- - total rework of install logic, much easier to control what's installed from the .conf file.
- Passwd.pm
- - added beginning alpha character check to UserSanity
- - added error_code and error_desc to UserSanity result
- - BackupMasterPasswd: fully qualify the system util calls
- - VerifyMasterPasswd: rewrite logic, added results hash
- - users_add was InstallUser
- - user_add - use UserSanity tests, return error codes and descriptions instead of dying, added testing to verify success before returning.
- - added user_archive
- Provision.pm
- - new addition
- - added subs: new, import, mail, mail_usage, web, web_check_setup, web_usage, web_get_options, user, user_archive, quota_set, user_usage, user_options, dns, dns_usage, usage, usage_action, check_what_am_i, what_am_i
- Qmail.pm
- - no subs exported, Exporter removed
- - new subs: new, simscan,
- - netqmail_virgin was InstallNetQmailVirgin
- - rebuild_ssl_temp_keys was Rebuild_SSL_temp_keys
- - qmailctl script new rebuilds the following cdbs:
- /var/qmail/users/assign ** NEW
- /var/qmail/control/morercpthosts ** NEW
- /var/qmail/control/simcontrol ** NEW
- ~vpopmail/etc/tcp.smtp
- /etc/tcp.smtp
- - set_supervise_dir was SetSuperviseDir
- - install_qmail_groups_users was InstallQmailGroupsUsers
- - netqmail was InstallNetQmail
- - install_qmail was InstallQmail
- - smtp_memory_explanation was ReturnSmtpMemoryExplanation
- - get_qmailscanner_virus_sender_ips was GetQmailScannerVirusSenderIPs
- - get_list_of_rwls was GetListOfRWLs
- - test_each_rbl was TestEachRBL
- - build_send_run wsa BuildSendRun
- - build_pop3_run was BuildPOP3Run
- - test_smtpd_config_values ws TestSmtpdConfigValues
- - set_service_dir was SetServiceDir
- - build_smtp_run was BuildSmtpRun
- - build_submit_run was BuildSubmitRun
- - install_qmail_service_run was InstallQmailServiceRun
- - smtpd_restart was RestartQmailSmtpd
- - send_stop was StopQmailSend
- - find_qmail_send_control_dir was FindQmailSendControlDir
- - send_start was StartQmailSend
- - check_control was CheckQmailControl
- - queue_check was CheckQmailQueue
- - queue_process was ProcessQmailQueue
- - check_rcpthosts was CheckRcpthosts
- - config was ConfigQmail
- - configure_qmail_control was ConfigureQmailControl
- - install_supervise_run was InstallQmailSuperviseRunFiles
- - install_supervise_log_run was InstallQmailSuperviseLogRunFiles
- - get_domains_from_assign was GetDomainsFromAssign
- - control_write was WriteQmailControl
- qqtool.pl
- - updates required for new object methods
- Setup.pm
- - Updated MaildropFilterFile to support SpamAssassin 3.0
- - added spamassassin reporting to mailfilter
- - no subs exported, Exporter removed
- - new subs: new, simscan,
- - misc code updates for increased readability
- - added apache2_enable to /etc/rc.conf
- - added lots more comment and sample config lines to fresh installed ~vpopmail/etc/tcp.smtp file
- - courier_config - no longer has to muck with rc.d files
- - check installed vpopmail version and ask before installing the same version again
- - maildrop_filter was InstallMaildropFilterFile
- - vqadmin was InstallVqadmin
- - mysqld was InstallMysqld
- - mattbundle was InstallMATTBundle
- - rrdutil was InstallRRDutil
- - ports was InstallPorts
- - apache was InstallApache
- - vpopmail was InstallVpopmail
- - vpopmail_mysql_privs was SetupVpopMysqlPrivs
- - squirrelmail was InstallSquirrelmail
- - maillogs was InstallMailLogs
- - socklog was InstallSocklog
- - socklog_qmail_control was InstallSocklogQmailControl
- - filtering was InstallFilter
- - maildrop_files was InstallMaildropFiles
- - config_spamassassin was ConfigSpamAssassin
- - config_qmailscanner was ConfigQmailScanner
- - qmail_scanner was InstallQmailScanner
- - qs_old_array_method was QmailScannerOldScannerArrayMethod
- - qs_stats was InstallQmailScannerStats
- - clamav was InstallClamAV
- - build_clam_run was BuildClamRun
- - dependencies was InstallToasterDependencies
- - courier was InstallCourier
- - sqwebmail was InstallSqwebmail
- - qmailadmin was InstallQmailadmin
- - ucspi was InstallUCSPI
- - ezmlm was InstallEzmlm
- - courier_config was ConfigCourier
- - config_vpopmail_etc was ConfigVpopmailEtc
- - supervise was InstallSupervise
- - create_service_dir was CreateServiceDir
- - configure_services was ConfigureServices
- - create_supervise_dirs was CreateSuperviseDirs
- sysadmin
- sysadmin.conf
- toaster_setup.pl
- - creates objects $setup, $qmail, $utility, $freebsd and $apache.
- - Code updates as necessary for object methods
- - added simscan build option
- - added jaildelete option
- - all section does not install MATT::Bundle
- toaster-watcher.conf
- - added filtering_report_spam_spamassassin option
- - added rbl_combined_njabl.org blacklist
- - install_dcc defaults to "on" now
- - toaster_os_release now defaults to 5-stable
- - new settings: toaster_version, install_simscan, supervise_rebuilt_notice, install_apache_suexec, filtering_method, rwl_qmail.bondedsender.org, simscan_*, apache_suexec_*
- - install_clamav_user defaults to clamav
- - smtpd_qmail_queue default=/var/qmail/bin/simscan
- - rwl_enable defaults to on
- - pop3_max_memory_per_connection = 3 (was 2)
- - qmail_scanner_scanners=clamdscan,fast_spamassassin
- - install_mysql defaults to 2 now (was 4)
- - smtpd_qmail_queue defaults to qmail
- Toaster.pm
- - added docs for new and email_send subs
- - added email_send sub
- - updated docs
- toaster-watcher.conf man page
- - added filtering_method notes
- - added filtering_debug & notes
- - added filtering_report* & notes
- - added mysql version build notes
- toaster-watcher.pl
- - create $utility and $qmail objects
- - updates as necessary for object methods
- - only run quarantine processing if it's enabled and install_qmailscanner is enabled
- TODO - added file
- Utility.pm
- - no subs exported, Exporter removed
- - new subs: new, graceful_exit
- - updated docs for all subs, documented return values
- - misc code updates for increased readability
- - updated all self referential calls for use with new OO invocation methods
- - drives_get_mounted now returns dev and procfs mounts
- - check_pidfile was CheckPidFile
- - file_check_writable was CheckFileWritable
- - install_from_sources_php was InstallFromSourcesPHP
- - file_check_readable was CheckFileReadable
- - install_from_source was InstallFromSources
- - input is a hashref instead of argument list
- - values are passed to install_from_sources as hashref
- instead of a list of arguments
- - install_perl_module was InstallPerlModule
- - is_process_running was IsProcessRunning
- - mailtoaster was InstallMailToaster
- - get_dir_files was GetDirFiles
- - file_write was WriteFile
- - file_read was ReadFile
- - clean_tmp_dir was CleanTmpDir
- - file_delete was DeleteFile
- - smarter overall, does checks first
- - added sudo rm for non-root deletes
- - file_archive was ArchiveFile
- - file_append was FileAppend
- - get_the_date was GetTheDate
- - logfile_append was LogFileAppend
- - parse_config was ParseConfigFile
- - archive_expand was ExpandArchive
- - drives_get_mounted was GetMountedDrives
- - yes_or_no was YesOrNo
- - added timer option (timeout if no response)
- - syscmd was SysCmd
- - get_file was FetchFile
- - answer was GetAnswer
- - added timeout feature if no response
- - logfile_append was LogFileAppend
- - chdir_source_dir was CdSrcDir
- - source_warning was SourceWarning
- - sudo was SudoSetup
- - will now offer to install sudo for you
- - changed sudo warning message to be more clear
- - check_homedir_ownership was CheckAllHomeDirOwnership
- - fixed so that stat function works
- t/Apache.t
- t/CGI.t
- t/Darwin.t
- t/DNS.t
- t/Ezmlm.t
- t/Logs.t
- t/Perl.t
- t/Provision.t
- t/Qmail.t
- t/Setup.t
- t/Utility.t
Up:toaster
Next: build-test
Previous: qmail patch
Last modified on 4/14/05.
|
|
|
|