[horde] Ingo and imap4flags

Simon Wilson simon at simonandkate.net
Wed Jul 16 09:50:08 UTC 2014


----- Message from Simon Wilson <simon at simonandkate.net> ---------
     Date: Wed, 16 Jul 2014 18:42:32 +1000
     From: Simon Wilson <simon at simonandkate.net>
Reply-To: simon at simonandkate.net
  Subject: Re: [horde] Ingo and imap4flags
       To: horde at lists.horde.org


> ----- Message from Simon Wilson <simon at simonandkate.net> ---------
>     Date: Wed, 16 Jul 2014 18:27:48 +1000
>     From: Simon Wilson <simon at simonandkate.net>
> Reply-To: simon at simonandkate.net
>  Subject: Re: [horde] Ingo and imap4flags
>       To: horde at lists.horde.org
>
>
>> ----- Message from Simon Wilson <simon at simonandkate.net> ---------
>>    Date: Wed, 16 Jul 2014 18:09:08 +1000
>>    From: Simon Wilson <simon at simonandkate.net>
>> Reply-To: simon at simonandkate.net
>> Subject: [horde] Ingo and imap4flags
>>      To: horde at lists.horde.org
>>
>>
>>> When trying to save a rule that sets a flag, I get this:
>>>
>>> Script not updated: exception 'Ingo_Exception' with message 'There  
>>> was an error activating the script. The driver said: exception  
>>> 'Horde_Exception_Pear' with message 'script errors: line 3:  
>>> unsupported feature' in  
>>> /var/www/horde/ingo/lib/Exception/Pear.php:36 Stack trace: #0  
>>> /var/www/horde/ingo/lib/Transport/Timsieved.php(129):  
>>> Ingo_Exception_Pear::catchError(Object(PEAR_Error)) #1  
>>> /var/www/horde/ingo/lib/Script/Util.php(45):  
>>> Ingo_Transport_Timsieved->setScriptActive(Array) #2  
>>> /var/www/horde/ingo/lib/Script/Util.php(81):  
>>> Ingo_Script_Util::activate(Array) #3  
>>> /var/www/horde/ingo/lib/Basic/Rule.php(198):  
>>> Ingo_Script_Util::update() #4  
>>> /var/www/horde/ingo/lib/Basic/Base.php(48):  
>>> Ingo_Basic_Rule->_init() #5 /var/www/horde/ingo/basic.php(30):  
>>> Ingo_Basic_Base->__construct(Object(Horde_Variables)) #6 {main}  
>>> Next exception 'Ingo_Exception' with message 'script errors: line  
>>> 3: unsupported feature' in  
>>> /var/www/horde/ingo/lib/Exception/Pear.php:36 Stack trace: #0  
>>> /var/www/horde/ingo/lib/Transport/Timsieved.php(129):  
>>> Ingo_Exception_Pear::catchError(Object(PEAR_Error)) #1  
>>> /var/www/horde/ingo/lib/Script/Util.php(45):  
>>> Ingo_Transport_Timsieved->setScriptActive(Array) #2  
>>> /var/www/horde/ingo/lib/Script/Util.php(81):  
>>> Ingo_Script_Util::activate(Array) #3  
>>> /var/www/horde/ingo/lib/Basic/Rule.php(198):  
>>> Ingo_Script_Util::update() #4  
>>> /var/www/horde/ingo/lib/Basic/Base.php(48):  
>>> Ingo_Basic_Rule->_init() #5 /var/www/horde/ingo/basic.php(30):  
>>> Ingo_Basic_Base->__construct(Object(Horde_Variables)) #6 {main}'  
>>> in /var/www/horde/ingo/lib/Script/Util.php:50 Stack trace: #0  
>>> /var/www/horde/ingo/lib/Script/Util.php(81):  
>>> Ingo_Script_Util::activate(Array) #1  
>>> /var/www/horde/ingo/lib/Basic/Rule.php(198):  
>>> Ingo_Script_Util::update() #2  
>>> /var/www/horde/ingo/lib/Basic/Base.php(48):  
>>> Ingo_Basic_Rule->_init() #3 /var/www/horde/ingo/basic.php(30):  
>>> Ingo_Basic_Base->__construct(Object(Horde_Variables)) #4  
>>> {main}[16/7/2014 17:33:27]
>>>
>>> I notice that the script that it is trying to activate uses  
>>> imap4flags to set the flag:
>>>
>>> 1: # Sieve Filter
>>>     2: # Generated by Ingo (http://www.horde.org/apps/ingo/)  
>>> (Wednesday, July 16, 2014,  6:05:31 pm EST)
>>>     3: require ["fileinto", "body", "imap4flags"];
>>>
>>> So I set this line in ingo/config/backends.local.php:
>>>
>>> $backends['sieve']['script'][Ingo::RULE_ALL]['params']['imapflags'] = true;
>>>
>>> Restart httpd.
>>>
>>> But, every time I try and save a rule with flags, Ingo still tries  
>>> to set the script to use imap4flags, and it fails to activate it.
>>>
>>> This was not a problem prior to 5.2 series upgrades, I have  
>>> pre-existing rules that flag (presumably with imapflags)  
>>> successfully.
>>>
>>> Why is Ingo not honouring the instruction to use imapflags? What  
>>> am I doing wrong? :)
>>>
>>> Simon.
>>>
>>> -- 
>>> Simon Wilson
>>> M: 0400 12 11 16
>>
>>
>> ----- End message from Simon Wilson <simon at simonandkate.net> -----
>>
>> Debug:
>>
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] Load config file  
>> (fields.php; app: ingo) [pid 17954 on line 109 of  
>> "/usr/share/pear/Horde/Registry/Loadconfig.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] Load config file  
>> (prefs.php; app: ingo) [pid 17954 on line 109 of  
>> "/usr/share/pear/Horde/Registry/Loadconfig.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] SQL  (0.0004s)
>> 	SELECT pref_name, pref_value FROM horde_prefs WHERE pref_uid = 'simon'
>> 	  AND pref_scope = 'ingo' [pid 17954 on line 208 of  
>> "/usr/share/pear/Horde/Db/Adapter/Pdo/Base.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] Horde_Prefs: Storing  
>> preference value (rules) [pid 17954 on line 130 of  
>> "/var/www/horde/ingo/lib/Storage/Prefs.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "IMPLEMENTATION"  
>> "Cyrus timsieved v2.3.7-Invoca-RPM-2.3.7-12.el5_7.2" [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "SASL" "PLAIN"  
>> [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "SIEVE"  
>> "comparator-i;ascii-numeric fileinto reject vacation imapflags  
>> notify include envelope body relational regex subaddress copy" [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "STARTTLS" [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: OK [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] C: CAPABILITY [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "IMPLEMENTATION"  
>> "Cyrus timsieved v2.3.7-Invoca-RPM-2.3.7-12.el5_7.2" [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "SASL" "PLAIN"  
>> [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "SIEVE"  
>> "comparator-i;ascii-numeric fileinto reject vacation imapflags  
>> notify include envelope body relational regex subaddress copy" [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "STARTTLS" [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: OK [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] C: STARTTLS [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: OK "Begin TLS  
>> negotiation now" [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] STARTTLS negotiation  
>> successful [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] C: CAPABILITY [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "IMPLEMENTATION"  
>> "Cyrus timsieved v2.3.7-Invoca-RPM-2.3.7-12.el5_7.2" [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "SASL" "PLAIN"  
>> [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "SIEVE"  
>> "comparator-i;ascii-numeric fileinto reject vacation imapflags  
>> notify include envelope body relational regex subaddress copy" [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: OK [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] C: AUTHENTICATE  
>> "PLAIN" " " [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: OK [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] C: CAPABILITY [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "IMPLEMENTATION"  
>> "Cyrus timsieved v2.3.7-Invoca-RPM-2.3.7-12.el5_7.2" [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: "SIEVE"  
>> "comparator-i;ascii-numeric fileinto reject vacation imapflags  
>> notify include envelope body relational regex subaddress copy" [pid  
>> 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: OK [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] C: HAVESPACE "ingo"  
>> 6072 [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: OK [pid 17954 on  
>> line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] C: PUTSCRIPT "ingo" {6072+}
>> # Sieve Filter
>> # Generated by Ingo (http://www.horde.org/apps/ingo/) (Wednesday,  
>> July 16, 2014,  6:21:37 pm EST)
>> require ["fileinto", "body", "imap4flags"];
>>
>> SNIP
>>
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: NO {45} [pid 17954  
>> on line 105 of "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>> 2014-07-16T18:21:37+10:00 DEBUG: HORDE [ingo] S: script errors:
>> line 3: unsupported feature [pid 17954 on line 105 of  
>> "/var/www/horde/ingo/lib/Transport/Timsieved.php"]
>>
>> As can be seen the server says "I support imapflags" and Ingo tries  
>> to put imap4flags into the script. :(
>>
>> Simon.
>>
>> -- 
>> Simon Wilson
>> M: 0400 12 11 16
>
>
> ----- End message from Simon Wilson <simon at simonandkate.net> -----
>
> Does the same with "notify" vs "enotify.
>
> Ingo is ignoring:
>
> $backends['sieve']['script'][Ingo::RULE_ALL]['params']['notify'] = true;
>
> To force notify instead of enotify.
>
> Simon.
>
> -- 
> Simon Wilson
> M: 0400 12 11 16


----- End message from Simon Wilson <simon at simonandkate.net> -----

Set

Horde::debug($vars['imapflags']);

in Sieve/Action/Flag.php at line 55:

2014-07-16T19:08:08+10:00 DEBUG: Variable information:
bool(false)

Backtrace:
1. Ingo_Basic_Base->__construct() /var/www/horde/ingo/basic.php:30
2. Ingo_Basic_Script->_init() /var/www/horde/ingo/lib/Basic/Base.php:48
3. Ingo_Script_Sieve->generate() /var/www/horde/ingo/lib/Basic/Script.php:42
4. Ingo_Script_Sieve->_generate() /var/www/horde/ingo/lib/Script/Sieve.php:441
5. Ingo_Script_Sieve_Action_Flag->__construct()  
/var/www/horde/ingo/lib/Script/Sieve.php:498
6. Horde::debug() /var/www/horde/ingo/lib/Script/Sieve/Action/Flag.php:55

2014-07-16T19:08:08+10:00 DEBUG: Variable information:
bool(false)

Backtrace:
1. Ingo_Basic_Base->__construct() /var/www/horde/ingo/basic.php:30
2. Ingo_Basic_Script->_init() /var/www/horde/ingo/lib/Basic/Base.php:48
3. Ingo_Script_Sieve->generate() /var/www/horde/ingo/lib/Basic/Script.php:42
4. Ingo_Script_Sieve->_generate() /var/www/horde/ingo/lib/Script/Sieve.php:441
5. Ingo_Script_Sieve_Action_Flag->__construct()  
/var/www/horde/ingo/lib/Script/Sieve.php:507
6. Horde::debug() /var/www/horde/ingo/lib/Script/Sieve/Action/Flag.php:55

Should be true   :(

If I cheat and change line 54 of  
/var/www/horde/ingo/lib/Script/Sieve/Action/Flag.php to be:

         $this->_vars['imapflags'] = 'true';
instead of
         $this->_vars['imapflags'] = !empty($vars['imapflags']);

Then the script saves successfully using imapflags.

Same ugly hack works for notify.

Simon.

-- 
Simon Wilson
M: 0400 12 11 16
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-keys
Size: 1339 bytes
Desc: PGP Public Key
URL: <http://lists.horde.org/archives/horde/attachments/20140716/5b3c21d7/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: PGP Digital Signature
URL: <http://lists.horde.org/archives/horde/attachments/20140716/5b3c21d7/attachment-0003.bin>


More information about the horde mailing list