have a look at the TODO-section in doc/amavis.txt

General

* improve resource usage and performance
* modularise configuration
* improve testing/debugging facilities,
  add more tests for different functions of the script
* add SMTP facility to use postfix new content filter interface
  for input, too (??)
* problem: decoding of nested forwarded messages with both
  MIME and non-MIME components
* how to deal with resource limits (eg. 42.zip), non-unpackable
  archive formats?
* documentation: sunsite/metalab.unc.edu is now ibiblio.org
* documentation, faq: update, create a real manual (copyright intro install
  usage trouble shooting glossary index); man pages
* fix issues with broken, infected, and password protected zip archives
  (probably fixed in Archive-Zip 0.12)
* amavisd to check directory perms/owner at startup?

Milter: see thread Drastic milter errors on comp.mail.sendmail; posts by
        Jose Marcio Martins da Cruz

Daemon stuff

* make it work with qmail!
* resource limits?
* later: make it network aware (?)
* fix SIGHUP handler to _not_ terminate process ...
  (seems to work on some systems)

* generalize smtp for input and output

* use file::MMagic instead of file
* add cpio and rpm?

| Looks like the below doesn't work either :-/
| 
| That does assume there's a read_config in every scope in which the
| signal could occur.  Perhaps &main::read_config would be safer?
| 
| Check out page 139 of the 2nd Edition Camel and see how "read_config"
| and \&read_config differ in scope handling.
| 
| I ran into this problem in something I was writing a few years ago.
| I couldn't figure out why my SIGINT handler wasn't working.  Turned out
| I'd set the thing in a different package scope (in a required file, I think)
| and it wasn't visible in the main processing loop.
| 
| I haven't looked at your code, I'm just blathering blindly at this point. ;)

 Mark's idea of letting the client reinject mail (Subject: FYI: postfix,
 amavis(d) and local_recipient_maps)

