On Nov 28, 2008, at 3:39 PM, Denis Gervalle wrote:

> Nice idea, telling the wiki that the script is secure enought to be
> included from insecure document seems to be a very secure solution.
> But you should take care of deep inclusion, and what would be the
> logic ? B is set secure and have programming rights, A does not have
> programming rigths, C does and is insecure, do you consider that C has
> programming rights when included by A through B ?
> That could be nice, imagine, C is a generic class runner, B choose the
> class, A is the user document. If A were able to include C, any class
> could be loaded, but through B, only those that B decide upon. Yes
> this could definitely be a nice solution, but it has to be design
> properly.
>
> However, if you should go to this complexity, since we have supported
> the less secure option for long now in velocity, and this does not
> seems to have receive a bad feedback. So why not just treat groovy as
> we treat velocity since the beginning ?
> Moreover, if I were to chose, since velocity programming does not
> require programming rights, I feel it is more sensible to get
> influenced than groovy could be, if you respect some simple security
> rules.

I also would like to see Velocity and Groovy at the same level (and  
all scripts too) with 2 APIs: one that doesn't require programming  
rights and one that would require programming rights.

We would need to protect Groovy scripts (for ex using a custom Java  
Security Policy) so that they cannot access the file system, sockets,  
threads, etc.

Thanks
-Vincent

> Denis
> PS: I wonder if macro written in groovy requires programming rights...
>
> On 28 nov. 08, at 15:13, Thomas Mortagne wrote:
>>
>> I totally agreed than we can't have two way of managing programming
>> rights here.
>>
>> But I'm not sure about what is the good answer.
>>
>> Use containing document to test programing rights:
>> * Cons:
>>   - security: it means the groovy script has to be very careful of
>> what it is doing because a document which include it can influence it
>> be providing its and own objects.
>>
>> * Pros:
>>   - it makes possible to use groovy on private api for Sheet pages
>> like users profiles sheet page in Deni's use case
>>
>> I see another solution: add some document's metadata indicating if  
>> the
>> script can be included by some other document meaning that the
>> programming rights can be tester on the included document or not. It
>> would be false by default. This way someone with programming right  
>> can
>> do some scipt in a page and explicitly indicate this can be used by
>> non-programming document authors.
>>
>>> Thanks for your comments...
>>>
>>> Denis
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to