Ongoing work to add client profile and run browser inside it. Project: http://git-wip-us.apache.org/repos/asf/river-container/repo Commit: http://git-wip-us.apache.org/repos/asf/river-container/commit/b8f2c0c0 Tree: http://git-wip-us.apache.org/repos/asf/river-container/tree/b8f2c0c0 Diff: http://git-wip-us.apache.org/repos/asf/river-container/diff/b8f2c0c0
Branch: refs/heads/master Commit: b8f2c0c00e32ef93694db8170ea58879d2c25fd0 Parents: 36463b4 Author: Greg Trasuk <[email protected]> Authored: Mon Nov 18 05:54:47 2013 -0500 Committer: Greg Trasuk <[email protected]> Committed: Mon Nov 18 05:54:47 2013 -0500 ---------------------------------------------------------------------- browser-module/src/main/root/browser.config | 6 +++++- .../container/deployer/StarterServiceLifeCycleSM.java | 4 ++++ .../org/apache/river/container/deployer/StatusEvents.java | 2 +- .../src/main/root/profile/client/service-starter.cfg | 10 ++++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/river-container/blob/b8f2c0c0/browser-module/src/main/root/browser.config ---------------------------------------------------------------------- diff --git a/browser-module/src/main/root/browser.config b/browser-module/src/main/root/browser.config index 105a29b..b5fea76 100644 --- a/browser-module/src/main/root/browser.config +++ b/browser-module/src/main/root/browser.config @@ -17,6 +17,10 @@ com.sun.jini.example.browser { serviceInvocationConstraints=InvocationConstraints.EMPTY; servicePreparer = - new BasicProxyPreparer(true, new BasicMethodConstraints(serviceInvocationConstraints), + new BasicProxyPreparer(false, new BasicMethodConstraints(serviceInvocationConstraints), + new Permission[] { new RuntimePermission("accessClassInPackage.com.sun.proxy") } ); + + leasePreparer = + new BasicProxyPreparer(false, new BasicMethodConstraints(serviceInvocationConstraints), new Permission[] { new RuntimePermission("accessClassInPackage.com.sun.proxy") } ); } http://git-wip-us.apache.org/repos/asf/river-container/blob/b8f2c0c0/river-container-core/src/main/java/org/apache/river/container/deployer/StarterServiceLifeCycleSM.java ---------------------------------------------------------------------- diff --git a/river-container-core/src/main/java/org/apache/river/container/deployer/StarterServiceLifeCycleSM.java b/river-container-core/src/main/java/org/apache/river/container/deployer/StarterServiceLifeCycleSM.java index 6eb4ed9..355074a 100644 --- a/river-container-core/src/main/java/org/apache/river/container/deployer/StarterServiceLifeCycleSM.java +++ b/river-container-core/src/main/java/org/apache/river/container/deployer/StarterServiceLifeCycleSM.java @@ -87,6 +87,10 @@ public class StarterServiceLifeCycleSM { new String[]{ getStatus() }); } + public void exception(Throwable ex) { + logger.log(Level.SEVERE, MessageNames.EXCEPTION_THROWN, ex); + } + public class Idle { /* * To start from idle means to prepare, and then start. http://git-wip-us.apache.org/repos/asf/river-container/blob/b8f2c0c0/river-container-core/src/main/java/org/apache/river/container/deployer/StatusEvents.java ---------------------------------------------------------------------- diff --git a/river-container-core/src/main/java/org/apache/river/container/deployer/StatusEvents.java b/river-container-core/src/main/java/org/apache/river/container/deployer/StatusEvents.java index d9e0269..4d71092 100644 --- a/river-container-core/src/main/java/org/apache/river/container/deployer/StatusEvents.java +++ b/river-container-core/src/main/java/org/apache/river/container/deployer/StatusEvents.java @@ -30,7 +30,7 @@ interface StatusEvents { public void stopFailed(); - public void exception(Exception ex); + public void exception(Throwable ex); public void timeout(); } http://git-wip-us.apache.org/repos/asf/river-container/blob/b8f2c0c0/test-container/src/main/root/profile/client/service-starter.cfg ---------------------------------------------------------------------- diff --git a/test-container/src/main/root/profile/client/service-starter.cfg b/test-container/src/main/root/profile/client/service-starter.cfg index 4df90b2..b53cc07 100644 --- a/test-container/src/main/root/profile/client/service-starter.cfg +++ b/test-container/src/main/root/profile/client/service-starter.cfg @@ -41,6 +41,13 @@ grant { java.security.SecurityPermission "getDomainCombiner"; java.security.SecurityPermission "createAccessControlContext"; java.security.SecurityPermission "getPolicy"; + + // BasicProxyPreparer requirements: + javax.security.auth.AuthPermission "getSubject"; + // Should not be required once UmbrellaGrantPolicy is implemented. + // TODO: Config file parser doesn't recognize \" + net.jini.security.GrantPermission "delim=| java.lang.RuntimePermission |accessClassInPackage.com.sun.proxy|"; + net.jini.security.policy.UmbrellaGrantPermission; com.sun.jini.thread.ThreadPoolPermission "getSystemThreadPool"; com.sun.jini.thread.ThreadPoolPermission "getUserThreadPool"; @@ -53,6 +60,9 @@ grant { java.util.PropertyPermission "*" "read"; java.lang.RuntimePermission "accessClassInPackage.com.sun.proxy"; + + // Only in client configuration - apps can call System.exit() + java.lang.RuntimePermission "exitVM.*"; } classloader {
