Sent this to misc about a month ago, but really didn't get a response. Ports is listed as the maintainer for smtp-vilter. So, if anybody is interested…
Aaron Begin forwarded message: > From: Aaron Jackson <jack...@msrce.howard.edu> > Subject: smtp-vilter bug/feature? > Date: September 6, 2011 2:41:30 PM EDT > To: m...@openbsd.org > > Irene killed my firewall/web server/mail sever, so I'm in the process of > recreating its setup with the current 4.9 release. I was running into a > problem with making smtp-vilter (installed from a package) work the way I > expected it to work. Specifically, the virus backend via clamav and the spam > backend via spam assassin worked fine but I could never get the attachment > backend to work. I kept getting the following message in maillog whenever I > sent an unwanted attachment: > > Sep 2 12:54:52 mushmouth smtp-vilter[32388]: failed to replace message body > > After banging my head for a couple of days (I did search google and the > mailing list without luck) I was able to trace the error message to line 1817 > of engine.c: > > if ((virus_strategy == STRATEGY_NOTIFY_RECIPIENT) > || (error_strategy == STRATEGY_NOTIFY_RECIPIENT) > || (spam_strategy == STRATEGY_NOTIFY_RECIPIENT) > || (unwanted_strategy == STRATEGY_NOTIFY_RECIPIENT)) > desc.xxfi_flags |= SMFIF_CHGBODY; > > It turns out that for unwanted content, when smtp-vilter registers with > sendmail, it never sets the change body flag because > STRATEGY_NOTIFY_RECIPIENT is not an allowed strategy for unwanted content. I > made the following change then rebuilt and re-installed, and things seem to > work as expected. > > if ((virus_strategy == STRATEGY_NOTIFY_RECIPIENT) > || (error_strategy == STRATEGY_NOTIFY_RECIPIENT) > || (spam_strategy == STRATEGY_NOTIFY_RECIPIENT) > || (unwanted_strategy == STRATEGY_MARK)) > desc.xxfi_flags |= SMFIF_CHGBODY; > > It seems like a bug to me, but then again the code is a bit complex and I > don't fully understand it. I was just wondering if anybody had any thoughts > about this "fix." I don't know if this will effect anything. Anyway, reading > code is very educational and I did learn a few things in the process. > > Aaron