activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dej...@apache.org
Subject activemq git commit: https://issues.apache.org/jira/browse/AMQ-6013 - init serializable packages statically
Date Tue, 20 Oct 2015 10:31:08 GMT
Repository: activemq
Updated Branches:
  refs/heads/master 490436c13 -> e10063824


https://issues.apache.org/jira/browse/AMQ-6013 - init serializable packages statically


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/e1006382
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/e1006382
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/e1006382

Branch: refs/heads/master
Commit: e100638244c4ca5eb2a1f16bcdc671c9859c2694
Parents: 490436c
Author: Dejan Bosanac <dejan@nighttale.net>
Authored: Tue Oct 20 12:30:46 2015 +0200
Committer: Dejan Bosanac <dejan@nighttale.net>
Committed: Tue Oct 20 12:30:57 2015 +0200

----------------------------------------------------------------------
 .../ClassLoadingAwareObjectInputStream.java     | 20 ++++++++------------
 .../transport/stomp/XStreamSupport.java         |  2 +-
 .../transport/stomp/StompTestSupport.java       |  1 -
 3 files changed, 9 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/e1006382/activemq-client/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java
----------------------------------------------------------------------
diff --git a/activemq-client/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java
b/activemq-client/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java
index f8a7d0c..645a47d 100644
--- a/activemq-client/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java
+++ b/activemq-client/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java
@@ -34,10 +34,15 @@ public class ClassLoadingAwareObjectInputStream extends ObjectInputStream
{
     private static final ClassLoader FALLBACK_CLASS_LOADER =
         ClassLoadingAwareObjectInputStream.class.getClassLoader();
 
-    private static String[] serializablePackages;
+    public static final String[] serializablePackages;
 
     private final ClassLoader inLoader;
 
+    static {
+        serializablePackages = System.getProperty("org.apache.activemq.SERIALIZABLE_PACKAGES",
+                    "java.lang,java.util,org.apache.activemq,org.fusesource.hawtbuf,com.thoughtworks.xstream.mapper").split(",");
+    }
+
     public ClassLoadingAwareObjectInputStream(InputStream in) throws IOException {
         super(in);
         inLoader = in.getClass().getClassLoader();
@@ -83,24 +88,15 @@ public class ClassLoadingAwareObjectInputStream extends ObjectInputStream
{
         }
     }
 
-    public static String[] getSerialziablePackages() {
-       if (serializablePackages == null) {
-           serializablePackages = System.getProperty("org.apache.activemq.SERIALIZABLE_PACKAGES",
-                       "java.lang,java.util,org.apache.activemq,org.fusesource.hawtbuf,com.thoughtworks.xstream.mapper").split(",");
-       }
-
-       return serializablePackages;
-    };
-
     public static boolean isAllAllowed() {
-        return getSerialziablePackages().length == 1 && getSerialziablePackages()[0].equals("*");
+        return serializablePackages.length == 1 && serializablePackages[0].equals("*");
     }
 
     private void checkSecurity(Class clazz) throws ClassNotFoundException {
         if (!clazz.isPrimitive()) {
             if (clazz.getPackage() != null && !isAllAllowed()) {
                boolean found = false;
-               for (String packageName : getSerialziablePackages()) {
+               for (String packageName : serializablePackages) {
                    if (clazz.getPackage().getName().equals(packageName) || clazz.getPackage().getName().startsWith(packageName
+ ".")) {
                        found = true;
                        break;

http://git-wip-us.apache.org/repos/asf/activemq/blob/e1006382/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/XStreamSupport.java
----------------------------------------------------------------------
diff --git a/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/XStreamSupport.java
b/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/XStreamSupport.java
index 94ae7b7..abcca72 100644
--- a/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/XStreamSupport.java
+++ b/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/XStreamSupport.java
@@ -37,7 +37,7 @@ public class XStreamSupport {
         if (ClassLoadingAwareObjectInputStream.isAllAllowed()) {
             stream.addPermission(AnyTypePermission.ANY);
         } else {
-            for (String packageName : ClassLoadingAwareObjectInputStream.getSerialziablePackages())
{
+            for (String packageName : ClassLoadingAwareObjectInputStream.serializablePackages)
{
                 stream.allowTypesByWildcard(new String[]{packageName + ".**"});
             }
         }

http://git-wip-us.apache.org/repos/asf/activemq/blob/e1006382/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/StompTestSupport.java
----------------------------------------------------------------------
diff --git a/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/StompTestSupport.java
b/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/StompTestSupport.java
index 3e1aa94..b783a54 100644
--- a/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/StompTestSupport.java
+++ b/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/StompTestSupport.java
@@ -119,7 +119,6 @@ public class StompTestSupport {
     }
 
     public void startBroker() throws Exception {
-        System.setProperty("org.apache.activemq.SERIALIZABLE_PACKAGES", "*");
         createBroker(true);
 
         XStreamBrokerContext context = new XStreamBrokerContext();


Mime
View raw message