Okay, after knocking down our mail server for an hour to track this down I have a solution. I do not remember where, but somewhere when I was setting this up years ago I read that the method for delivering from postfix->procmail->spamassassin->cyrus was to have postfix deliver to procmail, and procmail instruct spamassassin to do its thing. Then to use the cyrus deliver program with "-a $LOGNAME -m user.$LOGNAME" to deliver the message. Well what was happening is this:

Breakpoint 1, verify_user (user=0x0, domain=0x0, mailbox=0x100f8189 "user.kristina", quotacheck=0, authstate=0x0) at lmtpd.c:554

This combination (user = null and mailbox != null and mailbox does not exist) would cause verify_user to pass userinbox (== null) to autocreate_inbox, which would strcmp without any error checking and segfault.

The solution seems to be to change the deliver line to just "-a $LOGNAME $LOGNAME" and it seems to work properly for everything.

Daniel Hazelbaker

On Apr 26, 2005, at 4:45 PM, Daniel Hazelbaker wrote:

I don't believe it is no symbols, I believe it is smashing the stack somehow (those are the only two entries in the stack). Can't imagine how strcmp is smashing the stack but I suppose anything is possible. I'll try to attach, but I thought lmtpd forked a child process in the same way httpd does, maybe not though.

--- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to