[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