Repository: tomee
Updated Branches:
  refs/heads/tomee-1.7.x e43b197d2 -> 3c2a2e533


backport cipher change from tomee 7


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

Branch: refs/heads/tomee-1.7.x
Commit: 3c2a2e533148c7f7aad1006b93f26a1d20edd219
Parents: e43b197
Author: Ivan Junckes Filho <[email protected]>
Authored: Wed Jan 4 17:17:51 2017 -0200
Committer: Ivan Junckes Filho <[email protected]>
Committed: Wed Jan 4 17:17:51 2017 -0200

----------------------------------------------------------------------
 .../openejb/assembler/classic/Assembler.java      |  2 +-
 .../openejb/util/PropertyPlaceHolderHelper.java   | 18 +++++++++++++++---
 .../DataSourceDefinitionPlaceHolderTest.java      |  4 ++--
 3 files changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/3c2a2e53/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index e1a33b2..46ff758 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -2671,7 +2671,7 @@ public class Assembler extends AssemblerTool implements 
org.apache.openejb.spi.A
             }
         });
 
-        final Properties props = 
PropertyPlaceHolderHelper.holds(serviceInfo.properties);
+        final Properties props = 
PropertyPlaceHolderHelper.simpleHolds(serviceInfo.properties);
         if (serviceInfo.properties.containsKey("Definition")) {
             try { // we catch classcast etc..., if it fails it is not important
                 final InputStream is = new 
ByteArrayInputStream(serviceInfo.properties.getProperty("Definition").getBytes());

http://git-wip-us.apache.org/repos/asf/tomee/blob/3c2a2e53/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
index b3d0283..57f7102 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
@@ -85,8 +85,11 @@ public final class PropertyPlaceHolderHelper {
     }
 
     public static String value(final String aw) {
-        if (aw == null || !aw.contains(PREFIX) || !aw.contains(SUFFIX)) {
-            return aw;
+        if (aw == null) {
+            return null;
+        }
+        if (!aw.contains(PREFIX) || !aw.contains(SUFFIX)) {
+            return decryptIfNeeded(aw);
         }
 
         String value = CACHE.getProperty(aw);
@@ -99,7 +102,15 @@ public final class PropertyPlaceHolderHelper {
         return value;
     }
 
+    public static Properties simpleHolds(final Properties properties) {
+        return holds(properties, false);
+    }
+
     public static Properties holds(final Properties properties) {
+        return holds(properties, true);
+    }
+
+    private static Properties holds(final Properties properties, final boolean 
cache) {
         // we can put null values in SuperProperties, since properties is 
often of this type we need to tolerate it
         final Properties updated = new SuperProperties();
         if (properties == null) {
@@ -109,7 +120,8 @@ public final class PropertyPlaceHolderHelper {
         for (final Map.Entry<Object, Object> entry : properties.entrySet()) {
             final Object rawValue = entry.getValue();
             if (rawValue instanceof String) {
-                updated.put(entry.getKey(), value((String) rawValue));
+                final String value = (String) rawValue;
+                updated.put(entry.getKey(), cache ? value(value) : 
simpleValue(value));
             } else {
                 updated.put(entry.getKey(), rawValue);
             }

http://git-wip-us.apache.org/repos/asf/tomee/blob/3c2a2e53/container/openejb-core/src/test/java/org/apache/openejb/assembler/classic/DataSourceDefinitionPlaceHolderTest.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/test/java/org/apache/openejb/assembler/classic/DataSourceDefinitionPlaceHolderTest.java
 
b/container/openejb-core/src/test/java/org/apache/openejb/assembler/classic/DataSourceDefinitionPlaceHolderTest.java
index d98b9ba..85775a7 100644
--- 
a/container/openejb-core/src/test/java/org/apache/openejb/assembler/classic/DataSourceDefinitionPlaceHolderTest.java
+++ 
b/container/openejb-core/src/test/java/org/apache/openejb/assembler/classic/DataSourceDefinitionPlaceHolderTest.java
@@ -56,7 +56,7 @@ public class DataSourceDefinitionPlaceHolderTest {
         properties.setProperty("jndi", "java:comp/env/superDS");
         properties.setProperty("driver", "org.hsqldb.jdbc.JDBCDataSource");
         properties.setProperty("user", "sa");
-        properties.setProperty("pwd", "");
+        properties.setProperty("pwd", "cipher:Static3DES:snYpqPMRcXg=");
         properties.setProperty("url", "jdbc:hsqldb:mem:superDS");
         return properties;
     }
@@ -86,7 +86,7 @@ public class DataSourceDefinitionPlaceHolderTest {
 
         final BasicDataSource bds = (BasicDataSource) ds;
         assertEquals("sa", bds.getUsername());
-        assertEquals("", bds.getPassword());
+        assertEquals("hello", bds.getPassword());
 
         final Field fieldDs = bds.getClass().getDeclaredField("ds");
         fieldDs.setAccessible(true);

Reply via email to