autocreate.sieve doesn't work correct. temporary files

ellie timoney ellie at fastmail.com
Mon Oct 5 20:51:22 EDT 2015


Hi Artyom,

Yeah wow, this is really gross.

I'm pretty sure the gibberish in those "??????Default.script.bc"
filenames is just whatever junk was in the (uninitialised)
sieve_script_dir variable.

I've had a rummage around, and there's a user_sieve_path() function in
imap/user.c that does the heavy lifting of finding a user's sieve script
directory.  Looks like sieve_script_dir wanted to be the result of that.
Your fix is on the right track. :)

I've attached a patch for 2.5.x that fixes these paths using
user_sieve_path().  It also fixes the assumption that the sievedir
value will end in a "/", which it doesn't by default, and shouldn't
need to.  Can you try it out and see how it goes?  (The patch should
apply cleanly on any version of 2.5, this file has barely changed since
it was created.)

The rest of the autocreate_sieve() function is pretty awful too --
there's almost certainly more bugs in there, and fixing the paths might
just shake them out.  I'd like to tidy this up significantly (and make
some test cases for it), but in the meantime hopefully this will get you
moving forward.

Cheers,

ellie

On Tue, Oct 6, 2015, at 12:56 AM, Artyom Aleksandrov wrote:
> Guys I don't understand hot it can work.
>
> I added additional logging and found that sieve_script_dir is not
> defined. After adding this definition the problem gone.
>
>
> 147     /* Check if autocreate_sieve_compiledscript is defined in
> imapd.conf */ 148     if(!(compiled_source_script =
> config_getstring(IMAPOPT_AUTOCREATE_SIEVE_SCRIPT_COMPILED))) { 149
> syslog(LOG_WARNING, "autocreate_sieve: autocreate_sieve_compiledscript
> option is not defined. Compiling it"); 150         do_compile = 1; 151
> } 152 153    char userletter[1]; 154    userletter[0]=userid[0]; 155
> snprintf(sieve_script_dir, MAX_FILENAME,
> "%s%s/%s/",sieve_dir,userletter,userid);
>
>
>
> On Thu, Oct 1, 2015 at 8:49 PM, Artyom Aleksandrov
> <mailing.list at tem4uk.ru> wrote:
>> Is it works? Which version do you use? Could you guest the reason of
>> the problem? How I can troubleshoot it?
>>
>> :/var/lib/cyrus# ls -la
>> total 2176 -rw-------  1 cyrus mail     124 Sep 25 16:04
>> ??????Default.script.bc -rw-------  1 cyrus mail     231 Sep 25 16:04
>> ??????Default.script.script lrwxrwxrwx  1 cyrus mail      17 Sep 25
>> 16:04 ??????defaultbc -> Default.script.bc -rw-------  1 cyrus mail
>> 124 Jul  2 12:38 ??N???Default.script.bc -rw-------  1 cyrus mail
>> 231 Jul  2 12:38 ??N???Default.script.script lrwxrwxrwx  1 cyrus mail
>> 17 Jul  2 12:38 ??N???defaultbc -> Default.script.bc -rw-------  1
>> cyrus mail     124 Sep 22 15:10 0#?>??Default.script.bc -rw-------  1
>> cyrus mail     231 Sep 22 15:10 0#?>??Default.script.script
>> lrwxrwxrwx  1 cyrus mail      17 Sep 22 15:10 0#?>??defaultbc ->
>> Default.script.bc
>>
>>
>> On Thu, Oct 1, 2015 at 7:55 PM, Alvin Starr <alvin at netvel.net> wrote:
>>> I use autocreate.
>>>
>>>
      So there is at least one.
>>>
>>>
>>>
      On 10/01/2015 12:18 PM, Artyom Aleksandrov wrote:
>>>> Does anybody use autocreate_sieve?
>>>>
>>>> On Sat, Sep 26, 2015 at 1:30 AM, Artyom
          Aleksandrov <mailing.list at tem4uk.ru> wrote:
>>>>>
>>>>> Hello,I want to create default sieve scipt for
                    all my users but I stuck with strange problem that
                    looks like the bug. Unfortunately I've never wrote
                    on C so it's difficult for me to find it.
>>>>>
                    When Cyrus (2.5.3 or 2.5.6) create default sieve
                    script it doesn't put file in sieve_dir/?/user
                    folder. It jist creates tmp files in configdirectory
                    with names like this
>>>>> -rw-------  1 cyrus
                    mail   124 Sep 26 00:41 ?&?P??default.script.bc
>>>>>
                    -rw-------  1 cyrus mail   231 Sep 26 00:41
                    ?&?P??default.script.script
>>>>>
                    lrwxrwxrwx  1 cyrus mail    17 Sep 26 00:41
                    ?&?P??defaultbc -> default.script.bc
>>>>>
>>>>> There are not checks in this stage so my syslog is
                  clean of error.
>>>>> Everything seems fine.
>>>>>
>>>>> Sep 26 00:41:34 imapsync
                    cyrus/imap[26117]: autocreate_sieve: Problem
                    opening compiled script file: default.script.bc.
                    Compiling it
>>>>>
                    Sep 26 00:41:34 imapsync cyrus/imap[26117]:
                    autocreate_sieve: Compiled sieve script was
                    successfully saved in default.script.bc
>>>>>
                    Sep 26 00:41:34 imapsync cyrus/imap[26117]:
                    autocreate_sieve: User XXXX, default sieve script
                    creation succeeded
>>>>>
>>>>> My setting: autocreate_sieve_script:
                    /var/spool/sieve/global/default.script
>>>>>
                    autocreate_sieve_script_compile: yes
>>>>>
                    autocreate_sieve_script_compiled: default.script.bc
>>>>>
                    sievedir: /var/spool/sieve/
>>>>>
                  Distributive: Ubuntu 14.04.3
>>>>>
>>>>>
>>>>> I'll be glad for any help. )
>>>>>
>>>>>
              Best regards, Artyom
>>>>
>>>>
>>>>
>>>> ----
Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info:
http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe:
>>>> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
>>>>
>>>
>>>
>>> --
Alvin Starr                   ||   voice: (905)513-7688[1] Netvel Inc.
||   Cell:  (416)806-0133[2] alvin at netvel.net              ||
>>>
>>>
>>>
>>> ----
>>>
Cyrus Home Page: http://www.cyrusimap.org/
>>>
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
>>>
To Unsubscribe:
>>> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
> ----
> Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info:
> http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus



Links:

  1. tel:%28905%29513-7688
  2. tel:%28416%29806-0133
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20151006/c545229c/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sieve-dir.patch
Type: text/x-patch
Size: 4276 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20151006/c545229c/attachment.bin 


More information about the Cyrus-devel mailing list