[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