On 8/7/2014 9:21 PM, Benjamin Connelly wrote: > Am I correct: pigeonhole now wants the symlink to the filter file to > use an absolute path instead of the relative paths we had? > > i.e.) sieve-filterfile@ -> /home/mail/domain/user@domain/roundcube.sieve > instead of sieve-filterfile@ -> roundcube.sieve > > Dovecot logs these: > > dovecot: managesieve(u...@domain.org): Warning: sieve-storage: Active > sieve script symlink > /home/mail/domain.org/u...@domain.org/sieve-filterfile is broken: > invalid/unknown path to storage (points to roundcube.sieve). > > and the debug log: > > Jul 29 15:37:59 managesieve(u...@domain.org): Debug: sieve: Pigeonhole > version 0.4.3 initializing > Jul 29 15:37:59 managesieve(u...@domain.org): Debug: sieve: include: > sieve_global_dir is not set; it is currently not possible to include > `:global' scripts. > Jul 29 15:37:59 managesieve(u...@domain.org): Debug: sieve-storage: > using active sieve script path: > /home/mail/domain.org/u...@domain.org/sieve-filterfile > Jul 29 15:37:59 managesieve(u...@domain.org): Debug: sieve-storage: > using sieve script storage directory: > /home/mail/domain.org/u...@domain.org/ > Jul 29 15:37:59 managesieve(u...@domain.org): Debug: sieve-storage: > using permissions from /home/mail/domain.org/u...@domain.org/: > mode=0700 gid=-1 > Jul 29 15:37:59 managesieve(u...@domain.org): Debug: sieve-storage: > relative path to sieve storage in active link: > > I found if I manually delete a symlink and replace it using the full > path: > > sieve-filterfile -> > /home/mail/domain.org/u...@domain.org/roundcube.sieve > > then everybody is happy. So I'm looking to make a configuration change > (and then change all existing symlinks.) I just wanted to check with > the list about the two settings we return as part of the user_query: > > concat(homedir, maildir, 'sieve-filterfile') as sieve, > concat(homedir,maildir) as sieve_dir > > In testing it seems like changing 'sieve' to return not the whole path > but just the link name, actuall causes pigeonhole to properly make the > symlink with full path! Does this seem right?
This is probably the path comparison bug that I fixed implicitly while I added generic sieve script storage support. (A few '*' are missing here: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/file/1c6130ff5dd6/src/lib-sievestorage/sieve-storage-script.c#l40). I initially wondered why nobody encountered and reported this bug before I found it. Then I realized that most people would heed the advice not to put the active script symlink inside the script storage directory (http://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration#line-18), so the relative path to the sieve storage in the active symlink would not be empty. Looks like you didn't. Anyway, your approach is a good workaround for now. Regards, Stephan.