[Dovecot] Tilde expansion in ManageSieve for dovecot-1.1.

Stephen O'Dor sodor at digitheon.org
Thu Aug 13 04:04:29 EEST 2009


Greetings all,

I'll skip the details of the setup, except to say that it has a
non-standard (and non-templateable) home directory path for virtual
users. Ran into the following problem when a debian (possibly from
backports) packaged dovecot-1.1.2 was upgraded to a
dovecot-1.1.13-2~bpo50+1 (definately from backports):

sieve-storage: root directory specified by mail data does not exist: ~/Maildir

After some analysis, it would appear that ManageSieve (looks like
0.10.4 is included in the debian backports) doesn't do the tilde
expansion before doing a stat test to see if the ~/Maildir exists.

Here's a quick diff of the change I made to make it work:

sodor at madawg:~/tmp/deb-dove/dovecot-1.1-managesieve-0.10.4/src/lib-sievestorage$
diff sieve-storage.c ../../../sieve-storage.c
73c73
<       const char *root_dir, *dir, *p, *d;
---
>       const char *root_dir, *dir, *p, *d, *home;
127a128,133
>       /* expand tilde in root so that the stat below works */
>     home = getenv("HOME");
>     if (home != NULL && *home != '\0') {
>         root_dir = home_expand_tilde( root_dir, home );
>     }
>


I'm not sure if this was the best way to fix this (or if this is even
a bug, I might just have a crazy setup).

Thanks,

-Steve


More information about the dovecot mailing list