You're correct, thanks for pointing that out! There are a few other problems yet to work out, I also noticed an issue if the specified mailbox does not exist, among other things -- totally missed this one.
In this version, I tried to avoid changes to the db layer, but it looks like that won't hold up for much longer... Aaron On Mon, 28 Apr 2003, Jesse Norell wrote: > > Hello Aaron, > > > The flow I sketched in my pipe.c rewrite first copies messages into a > > target user's INBOX, and then calls the function execute_filters(useridnr, > > msgidnr). The filters can then run on the header and/or body and toss the > > message around as needed, sending a rejection to the From address and > > deleting it, forwarding and possibly deleting it, or just moving it to > > another mailbox. > > Just a thought - it seems there'd be a race-condition here where > a message has been inserted into INBOX, but before the filters get > executed to move it somewhere else, a user reads their mailbox (eg. > via imap). I don't know if this would cause any actual errors (I > noticed in a recent imap trace posted that it queried for message > metadata matching both message_idnr and mailbox_idnr - if the latter > changed since having been looked up, it could), or just an > inconsistent view of the mailbox. Considering some of those filters > will likely be for matching virus headers, etc., there's a chance > someone could end up opening such a message that should have been > deleted. > > Also, I've not looked at your code, so you may well have addressed > this.... > > Jesse > > > -- > Jesse Norell > jesse (at) kci.net > > _______________________________________________ > Dbmail-dev mailing list > [email protected] > http://twister.fastxs.net/mailman/listinfo/dbmail-dev >
