> I recently wondered about that code. The problem is: > > 1. save_init() is called with dest_mail=NULL > 2. antispam sees that dest_mail=NULL and sets it, and calls > super.save_init() > 3. quota sees that dest_mail != NULL so it doesn't set qt->tmp_mail > 4. mailbox_save_init() stores ctx->dest_mail = NULL (because it > doesn't see the updated value)
Good. I just analysed it down to the same thing :) > So the quota code eventually sees both ctx->dest_mail = NULL and qt- > >tmp_mail = NULL. I'm not really sure what the right fix for this > is.. ctx->dest_mail should be set by something. Perhaps if quota/ > antispam overrides it it should set it, and mailbox_save_init() > shouldn't set it if it's already set.. Ok, so mailbox_save_init() is the code I said about that it only sets it up later. johannes
signature.asc
Description: This is a digitally signed message part