Hi, thank you for patch. But it does not work. ((
First I guest we need NOT here (?)@@ -139,7 +138,7 @@ static int autocreate_sieve(const char *userid, const char *source_script)
}
/* Check if sievedir is defined in imapd.conf */
- if(!(sieve_dir = config_getstring(IMAPOPT_SIEVEDIR))) {
+ if(config_getstring(IMAPOPT_SIEVEDIR)) {
And second creating are failing with follow logs (yes I use 'root' user for testing)}
/* Check if sievedir is defined in imapd.conf */
- if(!(sieve_dir = config_getstring(IMAPOPT_SIEVEDIR))) {
+ if(config_getstring(IMAPOPT_SIEVEDIR)) {
Oct 7 16:54:10 imapsync cyrus/imap[4062]: User root, Inbox subfolders, created 4, subscribed 4
Oct 7 16:54:10 imapsync cyrus/imap[4062]: autocreate_sieve: Unable to create /var/spool/sieve/r/root/default.script.bc.NEW. Unknown error
Oct 7 16:54:10 imapsync cyrus/imap[4062]: autocreate_sieve: User root, default sieve script creation failed
Oct 7 16:54:10 imapsync cyrus/imap[4062]: autocreate_sieve: Unable to create /var/spool/sieve/r/root/default.script.bc.NEW. Unknown error
Oct 7 16:54:10 imapsync cyrus/imap[4062]: autocreate_sieve: User root, default sieve script creation failed
On Tue, Oct 6, 2015 at 3:51 AM, ellie timoney <ellie@xxxxxxxxxxxx> wrote:
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,ellieOn 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 }152153 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@xxxxxxxxx> 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 -latotal 2176-rw------- 1 cyrus mail 124 Sep 25 16:04 ??????Default.script.bc-rw------- 1 cyrus mail 231 Sep 25 16:04 ??????Default.script.scriptlrwxrwxrwx 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.scriptlrwxrwxrwx 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.scriptlrwxrwxrwx 1 cyrus mail 17 Sep 22 15:10 0#?>??defaultbc -> Default.script.bcOn Thu, Oct 1, 2015 at 7:55 PM, Alvin Starr <alvin@xxxxxxxxxx> 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@xxxxxxxxx> 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.bcThere 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 succeededMy 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.3I'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 Netvel Inc. || Cell: (416)806-0133 alvin@xxxxxxxxxx ||----Cyrus Home Page: http://www.cyrusimap.org/List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/To Unsubscribe:----Cyrus Home Page: http://www.cyrusimap.org/List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/To Unsubscribe:
----
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