[jboss-remoting-commits] JBoss Remoting SVN: r4138 - remoting2/branches/2.x/src/etc.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Wed May 7 19:49:11 EDT 2008
Author: ron.sigal at jboss.com
Date: 2008-05-07 19:49:10 -0400 (Wed, 07 May 2008)
New Revision: 4138
Modified:
remoting2/branches/2.x/src/etc/remoting.security.policy.core
Log:
JBREM-920, JBREM-977: Added documentation about MBean proxies; removed some unnecessary permissions and comment lines.
Modified: remoting2/branches/2.x/src/etc/remoting.security.policy.core
===================================================================
--- remoting2/branches/2.x/src/etc/remoting.security.policy.core 2008-05-07 23:42:08 UTC (rev 4137)
+++ remoting2/branches/2.x/src/etc/remoting.security.policy.core 2008-05-07 23:49:10 UTC (rev 4138)
@@ -27,18 +27,27 @@
//**** with the permissions necessary to run the code in the org.jboss.remoting.*
//**** packages. All security sensitive calls in Remoting are wrapped in a
//**** java.security.AccessController.doPrivileged() call, so that Remoting classes
-//**** can function in the context of a java.lang.SecurityManager, given the permissions
-//**** listed below, even if the calling code runs without these restrictions.
+//**** can function in the context of a java.lang.SecurityManager, given the some
+//**** variation on the permissionslisted below, even if the calling code runs without
+//**** these restrictions.
//****
//**** There are two ways in which it may be necessary or desirable to modify the
//**** the permissions listed below.
//****
//**** 1. It may be necessary to change the java.io.FilePermission permissions, according
-//**** to the configuration of certain files. See the "File permissions" section below.
+//**** to the configuration of certain files. See the "File permissions" section below,
+//**** as well as the accompanying remoting.security.policy.tests file, which is used
+//**** to run the Remoting test suite.
//****
-//**** 2. Some permission may be eliminated, according to which Remoting facilities are used.
+//**** 2. If Remoting is configured to operate with one or more MBeans in place of POJOs,
+//**** it might be necessary to grant additional MBeanPermissions. See the MBean
+//**** permissions section below, as well as the MBeanPermissions granted to the
+//**** org.jboss.test.remoting.security.*ProxyTestCase test classes in the accompanying
+//**** remoting.security.policy.tests file, which is used to run the Remoting test suite
//****
-//**** Other than changes made according to item 1, it should not be necessary to grant
+//**** 3. Some permission may be eliminated, according to which Remoting facilities are used.
+//****
+//**** Other than changes made according to items 1 and 2, it should not be necessary to grant
//**** any additional permissions.
//****
//***************************************************
@@ -68,37 +77,32 @@
permission java.io.FilePermission ".", "read, write";
permission java.io.FilePermission "*", "read, write";
-
-/////////////////////////////////////////////////////////////////////////////////////////////
-// Runtime permissions
+// // Some variation of the following would be needed for SSL transports:
+// permission java.io.FilePermission "${keystore}", "read";
+// permission java.io.FilePermission "${truststore}", "read";
- // Used by remote class loading system
- permission java.lang.RuntimePermission "createClassLoader";
- permission java.lang.RuntimePermission "getClassLoader";
- // Used by:
- // org.jboss.remoting.security.SSLSocketBuilder
- // org.jboss.remoting.transport.coyote.CoyoteInvoker
- // org.jboss.remoting.transport.http.HTTPClientInvoker
- // org.jboss.remoting.transport.servlet.web.ServerInvokerServlet
- // org.jboss.remoting.transporter.TransporterHandler
- // org.jboss.remoting.InvokerRegistry
- permission java.lang.RuntimePermission "accessClassInPackage.*";
-
- // Used by org.jboss.remoting.transport.coyote.CoyoteInvoker
- permission java.lang.RuntimePermission "loadLibrary.tcnative-1";
- permission java.lang.RuntimePermission "loadLibrary.libtcnative-1";
-
-
/////////////////////////////////////////////////////////////////////////////////////////////
// MBean permissions
+// // Some variation of the following might be needed if Remoting gets an MBean in place of an ordinary object.
+// permission javax.management.MBeanPermission "*#MBeanServer[*:*]", "setAttribute";
+//
+// // For example, if a Connector is configured with MBean ServerInvocationHandler:
+// permission javax.management.MBeanPermission "com.bluemonkey.ServerInvocationHandler#MBeanServer[*:*]", "setAttribute";
+//
+// // Some variation of the following might be needed if Remoting gets an MBean in place of an ordinary object.
+// //permission javax.management.MBeanPermission *#*[*:*]", "invoke, registerMBean, unregisterMBean";
+//
+// // For example, if a Connector is configured with an MBean ServerSocketFactory:
+// //permission javax.management.MBeanPermission "com.bluemonkey.ServerSocketFactory#createServerSocket[acme:type=serversocketfactory]", "invoke";
+
permission javax.management.MBeanTrustPermission "register";
- // Used by org.jboss.remoting.callback.ServerInvokerCallbackHandler ?? getClassLoader
+ // Used by org.jboss.remoting.callback.ServerInvokerCallbackHandler
permission javax.management.MBeanPermission "*#SSLSocketBuilder[*:*]", "getAttribute";
- permission javax.management.MBeanPermission "*#-[*:*]", "isInstanceOf";
-
+ permission javax.management.MBeanPermission "*#-[*:*]", "isInstanceOf";
+
// Used by org.jboss.remoting.detection.AbstractDetector
permission javax.management.MBeanPermission "*#addServer[remoting:type=NetworkRegistry]", "invoke";
permission javax.management.MBeanPermission "*#updateServer[remoting:type=NetworkRegistry]", "invoke";
@@ -118,16 +122,10 @@
// Used by org.jboss.remoting.network.NetworkRegistryFinder
permission javax.management.MBeanPermission "*#-[*:*]", "queryMBeans";
- // Used by org.jboss.remoting.network.NetworkRegistryQuery // need getClassloaderFor ??
+ // Used by org.jboss.remoting.network.NetworkRegistryQuery
permission javax.management.MBeanPermission "org.jboss.remoting.network.NetworkRegistry#-[*:*]", "isInstanceOf";
-
- // Used by org.jboss.remoting.security.CustomSSLServerSocketFactory // necessary ??
-// permission javax.management.MBeanPermission "org.jboss.remoting.security.CustomSSLServerSocketFactory#*[*:*]", "invoke";
-
- // Used by org.jboss.remoting.security.ServerSocketFactoryWrapper
- permission javax.management.MBeanPermission "*#createServerSocket[*:*]", "invoke";
-
- // Used by org.jboss.remoting.transport.Connector // isInstanceOf ??
+
+ // Used by org.jboss.remoting.transport.Connector
permission javax.management.MBeanPermission "org.jboss.remoting.transport.*#-[jboss.remoting:service=invoker,*]", "registerMBean, unregisterMBean";
// Used by org.jboss.remoting.transport.servlet.web.ServerInvokerServlet
@@ -141,6 +139,27 @@
/////////////////////////////////////////////////////////////////////////////////////////////
+// Runtime permissions
+
+ // Used by remote class loading system
+ permission java.lang.RuntimePermission "createClassLoader";
+ permission java.lang.RuntimePermission "getClassLoader";
+
+ // Used by:
+ // org.jboss.remoting.security.SSLSocketBuilder
+ // org.jboss.remoting.transport.coyote.CoyoteInvoker
+ // org.jboss.remoting.transport.http.HTTPClientInvoker
+ // org.jboss.remoting.transport.servlet.web.ServerInvokerServlet
+ // org.jboss.remoting.transporter.TransporterHandler
+ // org.jboss.remoting.InvokerRegistry
+ permission java.lang.RuntimePermission "accessClassInPackage.*";
+
+ // Used by org.jboss.remoting.transport.coyote.CoyoteInvoker
+ permission java.lang.RuntimePermission "loadLibrary.tcnative-1";
+ permission java.lang.RuntimePermission "loadLibrary.libtcnative-1";
+
+
+/////////////////////////////////////////////////////////////////////////////////////////////
// Socket permissions. Can't create sockets without it.
permission java.net.SocketPermission "*:*", "accept,connect,listen,resolve";
@@ -198,6 +217,8 @@
// Used by Used by org.jboss.remoting.transport.coyote.CoyoteInvoker
permission java.util.PropertyPermission "java.library.path", "read";
+ permission java.util.PropertyPermission "org.apache.tomcat.util.*", "read";
+ permission java.util.PropertyPermission "tomcat.util.buf.StringCache.*", "read";
// Used by org.jboss.remoting.transport.http.HTTPClientInvoker
permission java.util.PropertyPermission "http.basic.password", "read";
@@ -207,16 +228,11 @@
permission java.util.PropertyPermission "org.jboss.security.ignoreHttpsHost" , "read";
// Used by org.jboss.remoting.util.SecurityUtility
-// permission java.util.PropertyPermission "java.security.manager", "read";
permission java.util.PropertyPermission "skipAccessControl", "read";
// Used by org.jboss.remoting.Version
permission java.util.PropertyPermission "jboss.remoting.pre_2_0_compatible", "read";
permission java.util.PropertyPermission "jboss.remoting.version", "read, write";
-
- // ????
- permission java.util.PropertyPermission "org.apache.tomcat.util.*", "read";
- permission java.util.PropertyPermission "tomcat.util.buf.StringCache.*", "read";
/////////////////////////////////////////////////////////////////////////////////////////////
@@ -237,16 +253,10 @@
// Permissions used by Logging
// [TODO - We should use a version of JBoss logging + log4j that does this stuff in privileged blocks]
-// permission java.io.FilePermission "${build.home}${/}src${/}etc${/}log4j.properties", "read";
-// permission java.io.FilePermission "${build.home}${/}src${/}etc${/}log4j.xml", "read";
-// permission java.io.FilePermission "${build.home}${/}lib${/}apache-log4j${/}lib${/}log4j.jar", "read";
-// permission java.io.FilePermission "file:${build.home}/output/lib/jboss-remoting.jar", "read";
-
permission java.io.FilePermission "${remoting.jar.dir}${/}jboss-remoting.jar", "read";
permission java.io.FilePermission "${log4j.jar.dir}${/}log4j.jar", "read";
permission java.io.FilePermission "${log4j.config.dir}${/}log4j.properties", "read";
permission java.io.FilePermission "${log4j.config.dir}${/}log4j.xml", "read";
-// permission java.io.FilePermission "${build.home}${/}output${/}classes${/}-", "read";
permission java.util.PropertyPermission "org.jboss.logging.Logger.pluginClass", "read";
permission java.util.PropertyPermission "log4j.defaultInitOverride", "read";
@@ -260,6 +270,5 @@
permission java.util.PropertyPermission "log4j.debug", "read";
permission java.util.PropertyPermission "log4j.configuration", "read";
permission java.util.PropertyPermission "org.apache.commons.logging.*", "read";
-// permission java.util.PropertyPermission "org.apache.commons.logging.Log", "read";
};
More information about the jboss-remoting-commits
mailing list