[Dovecot] Tilde expansion in ManageSieve for dovecot-1.1.
Stephan Bosch
stephan at rename-it.nl
Thu Aug 13 10:39:35 EEST 2009
Stephen O'Dor schreef:
> 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 );
>> }
>>
>
This was fixed some time ago:
http://hg.rename-it.nl/dovecot-1.1-managesieve/rev/2515d477da9f
> 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).
Best workaround is to just explicitly specify sieve_storage= in your
config file, meaning that ManageSieve will not use your mail location.
Regards,
--
Stephan Bosch
stephan at rename-it.nl
More information about the dovecot
mailing list