[Kolab-devel] NEW KEP: KEP #14: Non-conflicting edits of RFC5228/Sieve scripts by multiple editors

Jeroen van Meeuwen (Kolab Systems) vanmeeuwen at kolabsys.com
Fri Sep 2 11:45:44 CEST 2011


Aleksander Machniak wrote:
> Forget my previous messages. After some thinking and brain-storming with
> others I have new ideas. The KEP is not about assigning scripts to
> client apps, it's about forbidding access to some scripts.
> 

"Forbidding" is the operative word, but let's note that it is not so much 
"forbidding access" to a script, but preventing the user from editing it.

> So, we have "generic-client" applications (Roundcube, Kontact, etc.) and
> "dummy-client" applications (UCS, other management suites).

I would call these "management" rather then "dummy"; The word "dummy" suggests 
they are placeholders and do not actually do anything.

> Now,
> dummy-clients are working with only one file and probably are not
> activate that script via managesieve (it is a requirement if we want to
> use MASTER file, which must be active and not replaced by other script).
> 
> Generic-clients must to know the list of existing scripts excluding
> those from dummy-clients and understand KEP-specific MASTER file format.
> 
> How I see the format? Let's get a sample MASTER file.
> 
> require ["include"];
> 

Note that here may be a personal "white-list" of sorts.

> # Some global include for all users in the installation
> include :global "all-users.siv";

> # The script maintained by the general management system
> include :personal :readonly "dummy1.siv";
> # The script maintained by another management system
> include :personal :readonly "dummy2.siv";

Note there is no such parameter as ':readonly'. Clients can currently only 
prevent the user from editing these scripts by namespace :global, or by 
excluding those scripts in :personal, named using a naming convention that can 
be matched, such as, for example, "everything that starts with 'mgmt-'".

> # The script(s) maintained by one or more editors available to the user
> include :personal "generic1.siv";
> # The script(s) maintained by one or more editors available to the user
> include :personal "generic2.siv";
> 
> Here we have a new :readonly parameter which defines that specified
> script belongs to dummy-client and cannot be edited by generic-clients.
> (We can call this parameter :dummy or sth else).
> I have no idea if this has a chance to be included in sieve's include
> extension draft.

I'm afraid the solution is a :global <username>1.siv - also read-only, yet 
user-specific.

> KEP also should define that generic-clients can change (in MASTER) only
> the lines with :personal, but without :readonly

and MASTER.siv itself, but given a variety of conditions.

> . There should be at
> least one non-readonly include. If there isn't, generic-client is
> allowed to add it at the end of MASTER script.

Kind regards,

Jeroen van Meeuwen

-- 
Senior Engineer, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
t: +44 144 340 9500
m: +44 74 2516 3817
w: http://www.kolabsys.com

pgp: 9342 BF08
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kolab.org/pipermail/devel/attachments/20110902/abf85d15/attachment.html>


More information about the devel mailing list