sieve filter rules *SOLVED*

Michael M. Rach michael at rach.org
Mon Jun 30 14:22:27 EDT 2008


I had a very similar problem.  I utilize Smartsieve for script 
management, it also began failing login after cyrus-imap version 2.3.10.
I traced the change to a return statement in timsieved/parser.c.
The attached diff reverts parser to it pre 2.3.11 behavior.  
Interestingly, the return type of capabilities(...) is still int.
I have no clue what this change may break elsewhere, but now 2.3.12p2 
works with Smartsieve as before.

899,901c899
< /*    return capabilities(sieved_out, sieved_saslconn, starttls_done, 
authenticated);
< */
<     return result;
---
 >     return capabilities(sieved_out, sieved_saslconn, starttls_done, 
authenticated);



dick hoogendijk wrote:
> On Mon, 30 Jun 2008 16:06:52 +0200 (CEST)
> "Simon Matter" <simon.matter at invoca.ch> wrote:
>
>   
>>> dick hoogendijk wrote:
>>> And I'm sure it's the latter rule: "STARTTLS" that's causing the
>>> failure. Older versions of cyrus imap did not send this and then
>>> avelsieve + squirrelmail worked fine. What can I do except retun to
>>> the older stable release?
>>>       
>> I also have "STARTTLS" and it works for me, so I don't think that's
>> the problem.
>>     
>
> I found the problem!
>
> It's in plugins/avelsieve/include/managesieve.lib.php
>
> The default file contains this piece of code:
>
>    elseif(strcmp($this->item[0], "STARTTLS") == 0) {
>       $this->capabilities['starttls'] = true;
>           }
>
> This worked OK because the -OLDER- timsieved did NOT respond with
> "STARTTLS" and so the capabilities starttls was true.
>
> The -NEW- timsieved simply needs ONE change: 0 -> 1
> The new code then becomes:
>
>    elseif(strcmp($this->item[0], "STARTTLS") == 0) {
>       $this->capabilities['starttls'] = true;
>          }
>
> After this very simple change, avelsieve starts working again with
> Squirrelmail and timsieved v2.3.11 and up.
>
>   



More information about the Info-cyrus mailing list