[ingo] URGENT Compatibility Problem between Cyrus and Ingo (Whitelist sieve)

Jan Schneider jan at horde.org
Tue Jul 31 12:17:40 UTC 2007


Zitat von "Chr. v. Stuckrad" <stucki at mi.fu-berlin.de>:

> Hi!
>
> I'm new to the list, because I'm postmaster of {math/inf/mi}.fu-berlin.de
> and we recently installed a cyrus mailstore and then ingo to generate
> sieve filter rules in/on that cyrus.
>
> Way to late I realized a semantic incompatibility between the two
> following installed methods (1,2) of delivering our mail:
>
> What happens is:
>
> 1) the MTA puts Spam (tagged by spamassassin) into <USER+spam at mailstore>
> which cyurus interprets as
> - "if not filtered elsewhere, put into Box named 'spam' foer USER"
>
> 2) INGO creates a 'whitelist' using  sieve clause which does (something like)
> - "if ...adress... is ...in.... then ***keep***"
>
> 3) This 'keep' is interpreted by cyrus/sieve as
> - "do the default action, as if there was no sieve script"
>
> The result is - *NO* WHITELIST - any more, because "keep" results in
> accepting the MTA's default "+spam".  Of course Uers complain ;-)

I'm not sure I was able to follow you completely, but from what you  
write the result should be "no spam filtering anymore", and only  
whitelisted addresses should be affected, which is the expected  
behaviour.

> Now I seem to have two ways out
> A) eighter revoking the whole concept of letting the MTA decide on '+spam',
>    THEN I'd need a default ingo script/database-entry per User
>    *pre*installed to have the spamfilter on-by-default, or
> B) I somehow patch the 'whitelist-Sieve-Script' to
>    use 'fileinto INBOX' instead of 'keep' to safely avoid false-positives.
>
> I'd prefer the latter option, but could not find out how, beause
> the definitions of the whitelist-scripting rely heavily on defaults
> inside ingo, so I could not find the place to patch/adapt it.
>
> Is somebody on the list, who is deep enough into 'ingo-coding' to
> help me, or is there another way to switch 'whitelist's behaviour?

There are two options: either change  
Ingo_Script_sieve::_getWhitelistBlocks() to create the "fileinto" rule  
instead of the "keep" rule. Or change the  
INGO_STORAGE_ACTION_WHITELIST case in Ingo_Script_sieve::generate() to  
look more like the INGO_STORAGE_ACTION_MOVE case.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the ingo mailing list