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
>

Reply via email to