Simon IJskes - QCG wrote:
On 09-11-12 00:31, Peter Firmstone wrote:
Ok, because it's small I think we can consider it, can you provide the
hooks to load different providers?  The non default providers themselves
can be a subproject.  We need to carefully consider security since we're
making it possible for downloaded code to resolve classes.

My SecurityManager and policy providers were developed in skunk, then
merged.  URI changes were made in trunk, although this was a big change
semantically, the code footprint is small.  For large changes to
foundation code we need skunk, not everything can be bolted on or
plugged in.

I have difficulty understanding what you are talking about. Could you try again?

Gr. Simon

Ok, I reimplemented net.jini.security.policy.DynamicPolicyProvider and created org.apache.river.api.security.ConcurrentPolicyFile and a heap of package private support classes, including a policy parser based on Harmony code. These policy providers have no cache and utilise immutability for concurrency. Then there's org.apache.river.api.security.CombinerSecurityManager, which caches security check results for concurrent code to support very fast repeated security checks. That was all performed in a skunk branch, then merged after passing qa tests. It has since been slimmed down somewhat as well and undergone some minor refactorings.

The changes I made to support URI in place of URL, where it made sense to, was committed directly to the stable trunk. But the effort involved is much less than that required for the policy providers and security manager, which would have been practical to develop in trunk.

I was basically saying in a very roundabout way that skunk has its place, for more complex changes.

Cheers,

Peter.

Reply via email to