[Dovecot] Pigeonhole feature request: automatically copy sieve_global_path (default script) to user's sieve_dir

Tom Hendrikx tom at whyscream.net
Thu Oct 14 11:48:25 EEST 2010


On 14/10/10 10:32, Ed W wrote:
>  On 13/10/2010 08:43, Stephan Bosch wrote:
>>  Op 12-10-2010 5:47, Jerrale G schreef:
>>>  We have used the great managesieve you have merged together, with
>>> sieve, to create pigeonhole. However, when a user creates a custom
>>> script through a GUI of ours, the default, as we expected, would be
>>> ignored. Maybe you could add a retain_sieve_global=yes|no setting OR
>>> be more complex by having the sieve_global_dir copied to the users
>>> sieve_dir on first managesieve script save, if another setting to do
>>> this was set to yes. This way the administrators can create a
>>> skeleton directory and the users can retain the default skeleton
>>> settings.
>> You could put the sieve directory with the default script in your
>> skeleton. I'm not sure though what you need exactly.
>>
> 
> I think that's his point - how to do this economically with many users? 
> What if you want to update the global script later?
> 
> I think all the replies so far misunderstand what he is saying.  I think
> he is describing a situation where he has say a slightly more than
> trivial default script in the global directory, which takes effect when
> the user has no "per user" script set.  His problem is as soon as the
> user creates their own "per user" script then the global script stops
> being used.  He might desire to say provide a standardised: Spam, Out of
> office, etc set of filters, PLUS allow the user to add their own filters
> - if later he wants to update the "standardised default script" for all
> users then this gets complex using some of the possible solutions (eg
> copying into the skel)
> 
> So he is making the case that the user innocently adds one extra tiny
> feature to the default config of his mailserver, but at that point all
> the normal functionality also stops working... User is baffled, places
> support call to find that they really need to create a much more complex
> per user script including all the (previously) default stuff?
> 
> Perhaps a workaround for his situation is for the global script to
> include the per-user script? Does pigeon hole allow for this?  In this
> way the global script can run and then pass control over to the user
> created script if it exists?
> 
> Ed W
> 

I solved this by:

sieve_global_dir=/etc/dovecot/sieve.d/

In file /etc/dovecot/sieve.d/global-spam.sieve, add your fancy stuff.
Then, create for each user (and in the /etc/skel/ dir) a new default
sieve file with content:

==============
require ["include"];

# Everytime you remove this line, god kills a kitten
include :global "global-spam.sieve";

# Add your own stuff here
==============

The user can still shoot himself in the foot, but can add stuff to his
own sieve file without killing all your hard work.

--
Regards,
	Tom

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
Url : http://dovecot.org/pipermail/dovecot/attachments/20101014/022254ce/attachment.bin 


More information about the dovecot mailing list