invalid/unknown path to storage
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(user@domain.org): Warning: sieve-storage: Active sieve script symlink /home/mail/domain.org/user@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(user@domain.org): Debug: sieve: Pigeonhole version 0.4.3 initializing Jul 29 15:37:59 managesieve(user@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(user@domain.org): Debug: sieve-storage: using active sieve script path: /home/mail/domain.org/user@domain.org/sieve-filterfile Jul 29 15:37:59 managesieve(user@domain.org): Debug: sieve-storage: using sieve script storage directory: /home/mail/domain.org/user@domain.org/ Jul 29 15:37:59 managesieve(user@domain.org): Debug: sieve-storage: using permissions from /home/mail/domain.org/user@domain.org/: mode=0700 gid=-1 Jul 29 15:37:59 managesieve(user@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/user@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?
FreeBSD (8.4) dovecot-pigeonhole (0.4.3_1) dovecot2 (2.2.13_3)
Benjamin
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(user@domain.org): Warning: sieve-storage: Active sieve script symlink /home/mail/domain.org/user@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(user@domain.org): Debug: sieve: Pigeonhole version 0.4.3 initializing Jul 29 15:37:59 managesieve(user@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(user@domain.org): Debug: sieve-storage: using active sieve script path: /home/mail/domain.org/user@domain.org/sieve-filterfile Jul 29 15:37:59 managesieve(user@domain.org): Debug: sieve-storage: using sieve script storage directory: /home/mail/domain.org/user@domain.org/ Jul 29 15:37:59 managesieve(user@domain.org): Debug: sieve-storage: using permissions from /home/mail/domain.org/user@domain.org/: mode=0700 gid=-1 Jul 29 15:37:59 managesieve(user@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/user@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-siev...).
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.
participants (2)
-
Benjamin Connelly
-
Stephan Bosch