Bug 782904

Summary: rawhide dovecot breaks
Product: [Fedora] Fedora Reporter: Nicolas Mailhot <nicolas.mailhot>
Component: dovecotAssignee: Michal Hlavinka <mhlavink>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhlavink
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-21 14:27:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
server config none

Description Nicolas Mailhot 2012-01-18 20:12:54 UTC
Description of problem:

The attached config does not work in rawhide dovecot

The last working version is dovecot-2.1-0.3.rc1.fc17.x86_64

Comment 1 Nicolas Mailhot 2012-01-18 20:15:50 UTC
Created attachment 556111 [details]
server config

Comment 2 Michal Hlavinka 2012-01-19 16:34:34 UTC
> The attached config does not work in rawhide dovecot

Please describe what you mean by "does not work" exactly. What error do you get? What does not work? etc...

I've tried to run dovecot-2.1-0.4.rc3.fc17 with that configuration and only error I got was about missing certificates. When I changed that path in /etc/dovecot/conf.d/10-ssl.conf to default value from dovecot rpm, it worked fine.

Comment 3 Nicolas Mailhot 2012-01-19 21:12:37 UTC
(In reply to comment #2)
> > The attached config does not work in rawhide dovecot
> 
> Please describe what you mean by "does not work" exactly.

neither evo nor squirrelmail manage to talk to dovecot

> What error do you
> get? What does not work? etc...

Jan 19 22:00:59 arekh dovecot: imap-login: Login: user=<nim>, method=PLAIN, rip=192.168.0.4, lip=192.168.0.4, mpid=3649, TLS
Jan 19 22:00:59 arekh dovecot: imap(nim): Error: user nim: Initialization failed: Namespace '': Mail storage autodetection failed with home=/home/nim
Jan 19 22:00:59 arekh dovecot: imap(nim): Error: Invalid user settings. Refer to server log for more information.

Comment 4 Nicolas Mailhot 2012-02-10 07:57:43 UTC
still broken with
dovecot-2.1-0.6.rc5.fc17.x86_64.rpm
dovecot-pigeonhole-2.1-0.6.rc5.fc17.x86_64.rpm

Comment 5 Michal Hlavinka 2012-02-10 13:49:18 UTC
try if one of the following helps:
1) in 10-mail.conf change "namespace {" to "namespace inbox {"

2) add this to 10-mail.conf

namespace inbox {
     inbox = yes
}


does it change anything?

Comment 6 Nicolas Mailhot 2012-02-10 21:59:37 UTC
(In reply to comment #5)
> try if one of the following helps:
> 1) in 10-mail.conf change "namespace {" to "namespace inbox {"

This part seems sufficient to repair dovecot

Thanks a lot for the tip!

I wonder why it suddenly started to mater…

Comment 7 Nicolas Mailhot 2012-02-11 11:33:23 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > try if one of the following helps:
> > 1) in 10-mail.conf change "namespace {" to "namespace inbox {"
> 
> This part seems sufficient to repair dovecot

Unfortunately, not

With this change dovecot 1:2.1-0.6.rc5.fc17 can be accessed by impa clients but it breaks lda sieve now

dovecot: lda(nim): Error: sieve: failed to open script /home/nim/.local/share/dovecot/sieve (view user logfile /home/nim/.local/share/dovecot/sieve.log for more information)

sieve: info: started log at Feb 11 12:24:02.
main_script: line 3: error: included personal script '00-spam.sieve' does not exist.
main_script: line 4: error: included personal script '20-bogues.sieve' does not exist.
main_script: line 5: error: included personal script '20-listes.sieve' does not exist.
main_script: line 6: error: included personal script '20-vendeurs.sieve' does not exist.
main_script: line 7: error: included personal script '20-annonces.sieve' does not exist.
main_script: line 8: error: included personal script '20-charges.sieve' does not exist.
main_script: line 9: error: included personal script '30-famille.sieve' does not exist.
main_script: error: validation failed.

So this new dovecot version does not find the sieve personal script directory anymore

Comment 8 Nicolas Mailhot 2012-02-11 13:08:30 UTC
dovecot-2.1-0.4.rc3.fc17.x86_64 and dovecot-pigeonhole-2.1-0.4.rc3.fc17.x86_64 are not broken wrt lda & sieve BTW

Comment 9 Nicolas Mailhot 2012-02-11 13:11:35 UTC
*** Bug 782892 has been marked as a duplicate of this bug. ***

Comment 10 Michal Hlavinka 2012-02-14 15:32:14 UTC
I've just tried to reproduce it with dovecot 2.1.rc6 (I did not test sieve with rc5) and it works for me (I've used kmail for managesieve test). Please try with 2.1.rc6. If it does not work for you, are you able to reproduce it with new user? If so, please describe steps how to reproduce this.

Comment 11 Nicolas Mailhot 2012-02-14 18:59:49 UTC
(In reply to comment #10)
> I've just tried to reproduce it with dovecot 2.1.rc6 (I did not test sieve with
> rc5) and it works for me (I've used kmail for managesieve test). Please try
> with 2.1.rc6. If it does not work for you

rc6 does not work. I don't use managesieve, just plain sieve+lda

Comment 12 Nicolas Mailhot 2012-02-14 19:10:58 UTC
# grep -E  '^ *sieve' /etc/dovecot/conf.d/90-sieve.conf 
  sieve = ~/.local/share/dovecot/sieve
  sieve_dir = ~/.local/share/sieve
# adduser bill
# cd /home/bill/
# su bill
$ mkdir -p .local/share/dovecot
$ echo 'require "include";' > .local/share/dovecot/sieve
$ echo 'include :personal "00-spam.sieve";'  >> .local/share/dovecot/sieve
$ mkdir -p .local/share/sieve
$ touch .local/share/sieve/00-spam.sieve
$ echo 'test' | mail -s test bill@localhost
$ cat /home/bill/.local/share/dovecot/sieve.log
sieve: info: started log at Feb 14 20:03:27.
main_script: line 2: error: included personal script '00-spam.sieve' does not exist.
main_script: error: validation failed.

Comment 13 Michal Hlavinka 2012-02-16 16:08:43 UTC
please test these packages, if it works for you:

http://kojipkgs.fedoraproject.org/scratch/mhlavink/task_3796232/

Comment 14 Nicolas Mailhot 2012-02-16 19:47:01 UTC
Those one seem to work fine with lda, thank you!

(I even retested dovecot-2.1-0.7.rc6.fc18.x86_64 to make sure the fix was not due to another package update, and dovecot-2.1-0.7.rc6.fc18.x86_64 was still broken but your scratch packages work)

Comment 15 Michal Hlavinka 2012-02-20 15:34:32 UTC
Those packages had dovecot 2.1.0.rc6 and pigeonhole from 2.1.0.rc3 package. I've checked pigeonhole repository and found out what's going on here. It's not a bug, it's a bug fix. Seems it's this change:
http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/66b7b1636c8c
So instead of
include :personal "00-spam.sieve";
you have to use
include :personal "00-spam";

Please change your sieve scripts, retest with original dovecot package ( yum distro-sync dovecot\* ) and let me know the result. Thanks

Comment 16 Nicolas Mailhot 2012-02-20 18:36:28 UTC
(In reply to comment #15)
> Those packages had dovecot 2.1.0.rc6 and pigeonhole from 2.1.0.rc3 package.
> I've checked pigeonhole repository and found out what's going on here. It's not
> a bug, it's a bug fix. Seems it's this change:
> http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/66b7b1636c8c
> So instead of
> include :personal "00-spam.sieve";
> you have to use
> include :personal "00-spam";
> 
> Please change your sieve scripts, retest with original dovecot package ( yum
> distro-sync dovecot\* ) and let me know the result. Thanks

That seems to work. Thank you for the investigation!

Since this is going to hit other people upgrading previous dovecot versions, maybe the 'do not use extensions' new rule should be documented in the default config files?

Comment 17 Michal Hlavinka 2012-02-21 14:27:29 UTC
I've added missing pigeonhole documentation to dovecot-pigeonhole sub-package. This change is documented there.