Petar Bogdanovic
2015-Jan-12 12:05 UTC
pigeonhole: upgrade 0.4.3 -> 0.4.6 broke script storage
Hi, I ran into some troubles while upgrading pigeonhole: crane dovecot: lda(petar): Error: sieve: Failed to access user storage (temporary failure) crane dovecot: lda(petar): Error: sieve: file storage: Could not find storage root directory; path was left unconfigured and autodetection failed After reading through the changelog, I noticed that there have been some changes in the script storage location syntax but that old prefix-less paths should still work fine. My lda-configuration is very simple: # lda protocol lda { mail_plugins = sieve postmaster_address = <snip> } plugin { sieve = /data/dovecot/user/%u.sieve sieve_extensions = +editheader sieve_max_redirects = 50 } And even if I change $sieve to: sieve = file:/data/dovecot/user/%u.sieve the error messages disappear but based on the sudden unfiltered wave of mails in my INBOX that I usually store somewhere else, I guess the path still doesn't work. Any ideas? Thanks, Petar Bogdanovic -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20150112/35a38850/attachment-0001.sig>
Stephan Bosch
2015-Jan-12 12:19 UTC
pigeonhole: upgrade 0.4.3 -> 0.4.6 broke script storage
Petar Bogdanovic schreef op 12-1-2015 om 13:05:> Hi, > > I ran into some troubles while upgrading pigeonhole: > > crane dovecot: lda(petar): Error: sieve: Failed to access user storage (temporary failure) > crane dovecot: lda(petar): Error: sieve: file storage: Could not find storage root directory; path was left unconfigured and autodetection failed > > After reading through the changelog, I noticed that there have been some > changes in the script storage location syntax but that old prefix-less > paths should still work fine. > > My lda-configuration is very simple: > > # lda > protocol lda { > mail_plugins = sieve > postmaster_address = <snip> > } > plugin { > sieve = /data/dovecot/user/%u.sieve > sieve_extensions = +editheader > sieve_max_redirects = 50 > } > > And even if I change $sieve to: > > sieve = file:/data/dovecot/user/%u.sieve > > the error messages disappear but based on the sudden unfiltered wave of > mails in my INBOX that I usually store somewhere else, I guess the path > still doesn't work.You can enable mail_debug=yes to see where it is looking for the Sieve scripts. Regards, Stephan.
Petar Bogdanovic
2015-Jan-12 13:19 UTC
pigeonhole: upgrade 0.4.3 -> 0.4.6 broke script storage
On Mon, Jan 12, 2015 at 01:19:18PM +0100, Stephan Bosch wrote:> > Petar Bogdanovic schreef op 12-1-2015 om 13:05: > >Hi, > > > >I ran into some troubles while upgrading pigeonhole: > > > > crane dovecot: lda(petar): Error: sieve: Failed to access user storage (temporary failure) > > crane dovecot: lda(petar): Error: sieve: file storage: Could not find storage root directory; path was left unconfigured and autodetection failed > > > >After reading through the changelog, I noticed that there have been some > >changes in the script storage location syntax but that old prefix-less > >paths should still work fine. > > > >My lda-configuration is very simple: > > > > # lda > > protocol lda { > > mail_plugins = sieve > > postmaster_address = <snip> > > } > > plugin { > > sieve = /data/dovecot/user/%u.sieve > > sieve_extensions = +editheader > > sieve_max_redirects = 50 > > } > > > >And even if I change $sieve to: > > > > sieve = file:/data/dovecot/user/%u.sieve > > > >the error messages disappear but based on the sudden unfiltered wave of > >mails in my INBOX that I usually store somewhere else, I guess the path > >still doesn't work. > > You can enable mail_debug=yes to see where it is looking for the Sieve > scripts.Thanks. The following output is with: sieve = /data/dovecot/user/%u.sieve master: Dovecot v2.2.15 starting up for imap lda: Debug: Loading modules from directory: /usr/pkg/lib/dovecot lda: Debug: Module loaded: /usr/pkg/lib/dovecot/lib90_sieve_plugin.so lda(petar): Debug: Effective uid=2000, gid=2000, home=/etc/skel lda(petar): Debug: maildir++: root=/data/dovecot/user/petar, index=, indexpvt=, control=, inbox=/data/dovecot/user/petar, alt lda(petar): Debug: userdb lookup skipped, username taken from USER environment lda(petar): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt lda(petar): Debug: Destination address: petar@<snip> (source: user at hostname) lda(petar): Debug: sieve: Pigeonhole version 0.4.6 (3e924b1b6c5c+) initializing lda(petar): Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts. lda(petar): Debug: sieve: file storage: Performing auto-detection lda(petar): Debug: sieve: file storage: access(/etc/skel, rwx) failed: Permission denied lda(petar): Error: sieve: file storage: Could not find storage root directory; path was left unconfigured and autodetection failed lda(petar): Error: sieve: Failed to access user storage (temporary failure) The inbox-path seems found but the sieve path isn't mentioned. ($HOME is /etc/skel and its read-only.) The following output is with: sieve = file:/data/dovecot/user/%u.sieve master: Dovecot v2.2.15 starting up for imap lda: Debug: Loading modules from directory: /usr/pkg/lib/dovecot lda: Debug: Module loaded: /usr/pkg/lib/dovecot/lib90_sieve_plugin.so lda(petar): Debug: Effective uid=2000, gid=2000, home=/etc/skel lda(petar): Debug: maildir++: root=/data/dovecot/user/petar, index=, indexpvt=, control=, inbox=/data/dovecot/user/petar, alt lda(petar): Debug: userdb lookup skipped, username taken from USER environment lda(petar): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt lda(petar): Debug: Destination address: petar@<snip> (source: user at hostname) lda(petar): Debug: sieve: Pigeonhole version 0.4.6 (3e924b1b6c5c+) initializing lda(petar): Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts. lda(petar): Debug: sieve: file storage: Active script path is unconfigured; using default (path=~/.dovecot.sieve) lda(petar): Debug: sieve: file storage: Using script storage path: /data/dovecot/user/petar.sieve lda(petar): Debug: sieve: file storage: Using active Sieve script path: /etc/skel/.dovecot.sieve lda(petar): Debug: sieve: file storage: Relative path to sieve storage in active link: /data/dovecot/user/petar.sieve/ lda(petar): Debug: sieve: file storage: Using script storage path: /etc/skel/.dovecot.sieve lda(petar): Debug: sieve: file script: File `/etc/skel/.dovecot.sieve' not found lda(petar): Debug: sieve: No active Sieve script exists in user storage `/data/dovecot/user/petar.sieve' (trying default script location instead) lda(petar): Debug: sieve: No default script configured for user lda(petar): Debug: sieve: User has no personal script lda(petar): Debug: sieve: No scripts to execute: reverting to default delivery. # ls -la /data/dovecot/user/petar.* -rw------- 1 petar petar 32946 /data/dovecot/user/petar.sieve -rw------- 1 petar petar 532 /data/dovecot/user/petar.sieve.log -rw------- 1 petar petar 31571 /data/dovecot/user/petar.svbin Shouldn't both variants at least fail identically if no prefix implies `file:'? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20150112/386bcf2c/attachment.sig>