Future Project Plans and Ideas Last Updated: Oct 15, 2004 1. Neural networking should probably be rewritten; the experimental version in DSPAM works, but is not truly "neural" in that each node doesn't recursively process its own interconnections, but all interconnections are processed in parallel (making it very unusable for very large groups). I'm not entirely sure if neural networking is the right term either, as we're not really "training" the network per se; we are calculating an answer to which we do not know the answer to (the N most reliable nodes to a user). The ideal redesign for this would include a set of interconnections to the input node which are processed first, and then depending on weighting the interconnections of the child nodes should be processed, and so on. The output would be the N most reliable nodes for a particular user as determined based on the reliability of the child and sub-child nodes. A quick explanation of the goal here: to find other users in the system who can provide the most reliable council when the filter is uncertain about a message. 2. Another type of neural networking I am considering could be called something like "associative neural inference". The idea behind this is to track interconnections between adjacent words, like chained tokens, only use these interconnections to instantiate tokens which aren't present in a message. For example if "free", "special", and "great" are present in an email and all have a very strong interconnection with the word "offer" (which isn't present), the word offer would be instantiated as a token as if it were in the email. This will give DSPAM another layer of AI in that it will begin to "guess" what the context is about. 3. Internationalization - Still haven't worked with this before. Need to add support for wide character emails. User should have the ability to turn this on/off, as having wide chars Z'd out makes foreign spams easier to identify. 4. Language packs. The DSPAM agent is pretty easy to configure for different languages, as all the basic dialog is in language.h. The CGI should have support for language packs, a single file containing a key to different text, and then code to interpolate those texts in the templates. 5. dspamc LMTP authentication. When using dspamc, I don't like authenticating using MAIL FROM. With LMTP, we should be able to implement SMTP AUTH. What it looks like now: SERVER> 220 DSPAM DLMTP 3.4.0 Authentication Required CLIENT> LHLO Relay1 SERVER> 250-PIPELINING SERVER> 250-ENHANCEDSTATUSCODES SERVER> 250-DSPAMPROCESSMODE SERVER> 250 SIZE CLIENT> MAIL FROM: DSPAMPROCESSMODE="--deliver=innocent -d %u" SERVER> 250 2.1.0 OK CLIENT> RCPT TO: jonz SERVER> 250 2.1.5 OK CLIENT> DATA SERVER> 354 Enter mail, end with "." on a line by itself CLIENT> Subject: Cheap Viagra! CLIENT> CLIENT> Click Here: http://www.cheapviagra.com CLIENT> . SERVER> 250 2.0.0 Message accepted for delivery: INNOCENT What it SHOULD look like: SERVER> 220 DSPAM LMTP 3.4.0 Ready CLIENT> LHLO Relay1 SERVER> 250-PIPELINING SERVER> 250-ENHANCEDSTATUSCODES SERVER> 250-DSPAMPROCESSMODE SERVER> 250-SIZE SERVER> 250 AUTH DIGEST-MD5 CLIENT> AUTH DIGEST-MD5 SERVER> 334 SERVER> PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4 CLIENT> ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ== SERVER> 235 Authentication Successful CLIENT> MAIL FROM: <> DSPAMPROCESSMODE="--deliver=innocent -d %u" SERVER> 250 2.1.0 OK CLIENT> RCPT TO: SERVER> 250 2.1.5 OK CLIENT> DATA SERVER> 354 Enter mail, end with "." on a line by itself CLIENT> Subject: Cheap Viagra! CLIENT> CLIENT> Click Here: http://www.cheapviagra.com CLIENT> . SERVER> 250 2.0.0 Message accepted for delivery: INNOCENT