Functional And Technical Specs

From MailWasher Server

Below are the functional and technical specs for MailWasher Server. Note: MailWasher Server was initially referenced as 'MailWasher+ or MW+' and First Alert! was referenced as 'CFS'.

mw func spec
Initial functional spec

mw techspec
Initial Technical spec

pcr1
administrative interface
Use web interface for MW+ administration
Simplify administrative permissions
Rejected e−mail functionality
Keep rejected e−mails for a limited configurable amount of time only
Password−protect user access to rejected e−mail web server
Use user accounts for both administrators and end users
Protocol support
Use native CFS access protocol

pcr2
Rejected e−mail functionality
Allow secondary e−mail addresses to be listed for each user account
Allow wildcards in secondary e−mail addresses
Check secondary e−mail addresses when mapping rejected e−mails to user accounts
Offer option for rejected e−mails not matching an existing user account
Optionally auto−create user accounts as required
Realtime blackhole DNS lists
Support both domain−name−based and IP−based realtime blackhole DNS lists
Cache RBL DNS answers/non−answers within the server

pcr3
User−configurable options
Blackholed and blacklisted e−mails
Save RBL−blackholed e−mails as blocked e−mails
Optionally allow rescue of RBL−blackholed e−mails
Save sender−address−blacklisted e−mails as blocked e−mails
Optionally allow rescue of sender−address−blacklisted e−mails
Blocked message rescue functionality
Optionally offer 'Download' link for rescuable e−mails
Add 'Downloaded' field to 'Blocked e−mails for accounts' table

pcr4-funcspec
Registration keys
Disable all anti−spam functionality outside license period
Include CFS username and password in registration key
Extended setup process
Extend current setup process to help the user configure the system
Style setup pages as a wizard
Redirect user to front page if wizard is complete
Start MPD at the same time as the MWI
Name changes
Rename 'blocked' messages
Rename 'reject' submissions
Expanded configurability of system e−mail messages
Make Subject line of e−mail templates customizable
Ignore messages not to a specific system e−mail address
Add junk mail submission address option
Add rejection notice format option
Make 'no junk message attached' message customizable
Make 'new account created' message customizable
Make 'quarantined message summary' message customizable
Make outgoing SMTP server and port customizable
Split message blocking option page
Other web interface changes
Show confirmation page when user rescues a message
Use radio buttons to select the CFS proxying option
RBL list
Store RBL listings on the SMAS
Provide administrator interface to modify and distribute RBL listing
Provide RBL listings to native CFS clients

pcr4-techspec
Registration keys
Disable all anti−spam functionality outside license period
Include CFS username and password in registration key
System configuration changes
Additional configuration table fields
Remove unused system configuration fields
Database name changes
Weakly validate hostname or domain name
Ignore messages not to a specific system e−mail address
Rename e−mail settings system configuration page
Add outgoing SMTP server and port options
Split message blocking option page
Add rejection notice e−mail template subject option'
Rejection notice substitution tokens
Add rejection notice reply format option
Junk mail submissions configuration page
Add junk mail submission e−mail address option
Add 'no junk message attached' e−mail template options
Make 'new account created' message customizable
Make 'quarantined message summary' message customizable
Use radio buttons to select the CFS proxying option
Changed MPD startup behaviour
Other web interface changes
Show confirmation page when user rescues a message
Installer changes
Start MPD at the same time as the MWI
Initial setup wizard
Extend current setup process to help the user configure the system
Style setup pages as a wizard
Redirect user to front page if wizard is complete
Setup wizard state diagram
Welcome page
Create an administrator account page
Enter registration key page
Confirm registration key page
Content Filtation System
Content Filtration System access page
Validate proxy server port
Attempt to connect to the CFS
Connected to the Content Filtration System page
Download and install initial CFS categories list
Download and install initial RBL services list
Primary e−mail domain
Primary e−mail domain page
System e−mail addresses
System e−mail addresses page
Final step
Create initial configuration
Wizard finished page

pcr5 - funcspec
Web interface changes
FirstAlert! name change
Demote FirstAlert! category settings page
Phone number fields
Confirm password during initial setup wizard

pcr6 - funcspec
Statistical analysis message filtering
Implement statistical analysis−based message filtering
Provide user−adjustable sensitivity setting
Message training sources
Processing statistics
Additional processing statistics
Additional uploaded customer statistics

pcr6 - techspec
System configuration
Additional configuration table fields
Web interface System Configuration additions
Statistical content filtering system configuration page
Web interface Setup Wizard additions
Statistical content filtering setup wizard page
Message analysis and evaluation
Parse and decode message for tokenizing
Write library of coded traits
Pre−train on safe traits
Evaluate junk probability
Content analysis statistics data table storage
Store analysis data in a binary file
Data file format
Updated data file using a temporary
Additional customer statistics data
New processing statistics columns
New processing statistics summary column
Rescueing and retraining
Add training and rescued flags to quarantined emails table
Add retraining status index
Update statistics table when rescueing quarantined messages
Update statistics table when downloading quarantined messages
Correct training for rescued messages
Outgoing message approval keys
Add approval key to all outgoing messages Add sender and recipient fields to rescue/approval keys table
Verify sender and recipient fields for rescue/approval keys
Remove approval keys from rescued messages

pcr7-funcspec
Simplified web interface
Simplify interface for users with limited permissions
Quarantined messages user interface
Add option to change the number of quarantined messages displayed per page
Visually indicate messages delivered since start of previous session
Visually indicate rescued messages
Show message synopsis for each quarantined message
Store and display 'Date sent' timezone
Visible system status and version indications
Show system status and program version in bottom strip in web interface
Multiple notification e−mail templates
Allow multiple notification e−mail templates
Rejection notice templates page
Edit 'rejection notice template' page
Rejection notice templates confirm delete page
Rejection notice templates error page
List multiple templates as options for RBL services and FirstAlert! categories
E−mail address lists
Merge reject and bounce lists
Merge options for reject and bounce lists
Check both the SMTP return−path and message From field addresses against address lists
Initial statistical content analysis service training
Optionally collect incoming messages and request user classification

pcr7-techspec
Simplified web interface
Simplify interface for users with limited permissions
Quarantined messages user interface
Database changes Additional user accounts table fields
Additional quarantined messages table fields
Daemon functionality changes
Update user account login timestamps
Store 'Date sent' timezone
Web Interface changes
Add option to change the number of quarantined messages displayed per page
Visually indicate messages delivered since start of previous session
Visually indicate rescued messages
Show message synopsis for each quarantined message
Display 'Date sent' timezone
Visible system status and version indications
MPD−Mail Conduit protocol extensions
MPD−Mail Conduit protocol extension for status information
Daemon functionality changes
Monitor and track MPD status and performance
Poll MPD for status
Web Interface changes
Show system status and program version in bottom strip in web interface
System configuration database changes
System configuration table changes
Database upgrade procedure
Multiple notification e−mail templates
Database changes
Notification e−mail templates table
Notification e−mail template ID generator
Additional RBL services table fields
Additional FirstAlert! category settings table fields
Daemon functionality changes
Handle multiple notification e−mail templates when quarantining messages
Create default notification e−mail template on initial configuration
Migration from previous versions
Migrate old rejection notice e−mail template
Web Interface changes
List multiple templates as options for RBL services and FirstAlert! categories
Offer interface to edit multiple notification e−mail templates
Rejection notice templates page
Edit 'rejection notice template' page
Rejection notice templates confirm delete page
Rejection notice templates error page
E−mail address lists
Daemon functionality changes
Check both the SMTP return−path and message From field addresses against address lists
Database changes
Address blacklist table structure
Remove reject and bounce address list tables
Migration from previous versions
Migrate the reject and bounce lists to the address blacklist table
Web Interface changes
Merge reject and bounce list management pages
Merge options for reject and bounce lists
Initial statistical content analysis service training
Database changes
Collected messages table
Collected message ID generator
Daemon functionality changes
Don't apply statistical content filtering during collection and training phases
Collect messages and email to request classification when done
Train on classified messages after classification
Web interface changes
Extend statistical content filtering setup wizard page
Extended statistical content filtering setup wizard page
Additional system configuration options
Display message when messages are ready to be classified
Prevent user from deleting account selected to classify collected messages
Collected message classification page
Statistical content analysis filter training page
Explicit session management
Daemon functionality changes
Assign session keys when users log into the web interface
Check session keys and update last−seen timestamp
Remove sessions when user logs out
Time out unused sessions

pcr8-funcspec
Web interface changes
Add 'sticky login' feature

pcr8-techspec
Web interface changes
Add 'sticky login' feature

pcr9-funcspec
Address list import
Add import functionality to address list pages
Core feature set changes
Remove filtering options that conflict with new per−user settings
Continue processing after header addition
Per−user settings and address lists
Additional user permissions
Additional per−user settings
Additional per−user address lists
Extended message filtering feature sequence
Add default permissions settings
Other web interface changes
New front page order'
Qualify name of global address lists
Replace action field in quarantined messages list

pcr9-techspec
Milter protocol support
Replace conduit−MPD protocol with milter protocol
Add support for late−stage recipient and header changes
Support Unix domain sockets for milter protocol
Extend qmail installation script to support domain sockets
Extend milter protocol to provide MPD status information
Processing action changes
Remove accept filtering action
Change accept with header addition filtering action
Remove bounce filtering action
Rename reject filtering actions
Database changes
Additional user accounts table fields
Additional account permissions
Additional configuration table fields
Multi−user address list tables