On Fri, 2006-02-17 at 22:21 +0300, Oleg Lapshin wrote:
Then, sort_getenvelope function returns correct value to libsieve.
But nothing happened.
I think, that libsieve don't execute
if envelope :detail to spam1 {
command in sieve-script.
This is a bug in libSieve. I'll work on it
I found in sv_parser/sieve.c:
} else if (!strcmp(envelope, req)) {
if (c-callbacks.getenvelope)
c-support.envelope = 1;
return c-support.reject;
May be there must be:
return c-support.envelope;
???
PS. after some twiks with dbmail code, my sieve script
On Fri, 2006-02-17 at 19:51 +0300, Oleg Lapshin wrote:
I found in sv_parser/sieve.c:
} else if (!strcmp(envelope, req)) {
if (c-callbacks.getenvelope)
c-support.envelope = 1;
return c-support.reject;
May be there must be:
return
On Fri, 2006-02-17 at 09:18 -0800, Aaron Stone wrote:
On Fri, 2006-02-17 at 19:51 +0300, Oleg Lapshin wrote:
I found in sv_parser/sieve.c:
} else if (!strcmp(envelope, req)) {
if (c-callbacks.getenvelope)
c-support.envelope = 1;
return
Try adding this in sort.c, right above the Sieve section:
+ /* Give Sieve access to the envelope recipient. */
+ dbmail_message_set_envelope_recipient(message, destination);
/* Sieve. */
config_get_value(SIEVE, DELIVERY, val);
Now it's OK
But there is also error
On Fri, 2006-02-17 at 22:21 +0300, Oleg Lapshin wrote:
- dbmail_message_set_header(msg, Return-Path, from-data);
+ dbmail_message_set_header(msg, Return-Path, (char *)
(dm_list_getstart(from)-data));
That's a correct fix.
Then, sort_getenvelope function returns correct value to libsieve.