[Tickets #5746] patch to resolve sieve forward/keep ambiguity

bugs at bugs.horde.org bugs at bugs.horde.org
Wed Sep 26 14:26:17 UTC 2007


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=5746
-----------------------------------------------------------------------
 Ticket             | 5746
 Created By         | tdrewry at bu.edu
 Summary            | patch to resolve sieve forward/keep ambiguity
 Queue              | Ingo
 Version            | FRAMEWORK_3
 Type               | Enhancement
 State              | New
 Priority           | 2. Medium
 Owners             | 
+New Attachment     | sieve.php.patch
-----------------------------------------------------------------------


tdrewry at bu.edu (2007-09-26 07:26) wrote:

The attached patch fixes a problem in the keep behavior for the Forward
script by 
creating two Sieve rules to handle 'redirect' and 'keep' as separate
actions.

Currently using Forward with Keep looks like this:
# Forwards
if true {
    redirect "username at server";
    keep;
}

and without Keep:
# Forwards
if true {
    redirect "username at server";
}

The behavior of the first script is to redirect mail as expected and then
immediately 
drop a copy into the Inbox followed by parsing of any additional filters.

The second script will redirect the mail and then continue to parse via
additional rules 
until a stop is encountered.  Mail is not delivered into the Inbox at the
end of the 
script.

The reason why mail does not go to the inbox during a Forward request is
that the 
redirect action disables the implicit keep within Sieve.

The keep action declares an _explicit_ keep action which is the same as
declaring: 
fileinto "Inbox".

This patch results one of the following:

Without Keep:

# Forwards
if true {
    redirect "username at server";
    stop;
}

With Keep:

# Forwards
if true {
    redirect "username at server";
}

... any other rules that exist with the last rule being ...

# Forward Keep Action
if true {
    keep;
    stop;
}

A user can still move the position of the Forwards script within Ingo.
The Forward Keep Action script is always placed at the end.  This script
replicated the 
implicit keep function.

- Tobias Drewry



More information about the bugs mailing list