Subscribe: Project News: Clamdmail
Preview: Project News: Clamdmail

Recent posts to news

Recent posts to news

Last Build Date: Sat, 12 Aug 2006 18:21:43 -0000


Code Cleanup

Sat, 12 Aug 2006 18:21:43 -0000

I'm working on a general code cleanup for clamdmail. I've run it through splint and uncovered a number of minor memory leaks an the potential for problems with some C compilers. The updated code is in CVS, and after a bit of testing I'll roll out a new package with the fixes.

I'm also planning to add a couple of enhancements to the installation target, to do things that people commonly forget like creating the temporary directory and assigning it appropriate permissions.

As always, if you're looking for some fancy new feature, or have some other suggestion, please let me know.

Support for an arbitrary number of filters and scanners

Tue, 27 Jun 2006 22:05:13 -0000

Currently clamdmail supports only one scanner and one filter. While external scripting or programs can be used to chain together multiple filters I believe it would be useful to call all such programs directly from clamdmail. My primary goal is to provide easy logging and error handling when calling multiple filters or scanners, so that general-purpose tools like clamav can be combined with custom tools, such as a local blacklist, from within clamdmail.

Initially I was working to avoid configuration files to maximize flexibility from within tools like tcpserver, but I believe my approach going forward will be use environmental variables to control which configuration file(s) are read rather than storing the configuration directly in the environment. That might make DJB sad, but in my opinion it's much easier to manage configure in files than in the environment, particularly between systems.

So next time I get to updating clamdmail, look for a re-vamped configuration system and support for an arbitrary number of scanners and filters.

Not in the plans for the next release, but on the radar for future development is negation and conditional processing, so you could use clamdmail not only to blacklist, but also to whitelist, and possibly to conditionally run scans or filters based on the return codes of previous scanners and filters.