I am using dovecot-lda from cvs (checked out on september the 21st) and dovecot 1.0alpha2 (not yet upgraded ok). I have a strange feeling about "redirect" feature. Let's see two sieve scripts examples: # ex1 require ["fileinto", "vacation"]; if header :is ["blabla"] "blabla" { fileinto "blabla"; } redirect "user@domain.com"; keep; # ex2 require ["fileinto", "vacation"]; redirect "user@domain.com"; keep; In both cases, I redirect mail to an external address, keeping a copy. (this would emulate redirect :copy "user@domain.com"; which is still not implemented). In first example I run a test on headers, but not on the second. The effect is that in the second example, the forwarded mail is "complete" (exactly the original one with routing header modified), but in the first one, the forwared mail is completely messed up: no Subject header, and so on. This could be because as tests are run on the incoming mail, the working in memory of the mail is changed, and then, forwarded. So when no tests are run, the mail remains intact. How can I deal with this ? Is there some nice hotfix that would prevent a few (like 100'000) users to kill me ? Best regards. -- Rene Luria
On Thu, 2005-10-27 at 15:47 +0200, Rene Luria wrote:> I am using dovecot-lda from cvs (checked out on september the 21st) and > dovecot 1.0alpha2 (not yet upgraded ok). > > I have a strange feeling about "redirect" feature.Thanks, others had told about this before but I since it worked with simple tests I thought the bug was somewhere else than dovecot-lda itself.> How can I deal with this ? Is there some nice hotfix that would prevent > a few (like 100'000) users to kill me ?This should work: RCS file: /var/lib/cvs/dovecot-lda/src/mail-send.c,v retrieving revision 1.6 diff -u -r1.6 mail-send.c --- mail-send.c 14 Oct 2005 20:26:41 -0000 1.6 +++ mail-send.c 27 Oct 2005 14:17:26 -0000 @@ -138,12 +138,12 @@ size_t size; int ret; + return_path = mail_get_first_header(mail, "Return-Path"); + input = mail_get_stream(mail, NULL, NULL); if (input == NULL) return -1; - return_path = mail_get_first_header(mail, "Return-Path"); - smbuf[0] = "sendmail"; smbuf[1] = "-i"; /* ignore dots */ if (return_path && *return_path) { -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://dovecot.org/pipermail/dovecot/attachments/20051027/1f4ef174/attachment.pgp