You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2018/04/03 13:29:11 UTC

svn commit: r1828236 - in /felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework: Felix.java util/Util.java

Author: pauls
Date: Tue Apr  3 13:29:11 2018
New Revision: 1828236

URL: http://svn.apache.org/viewvc?rev=1828236&view=rev
Log:
FELIX-5816: make random configurable (SecureRandom v.s. normal) for uuid generation.

Modified:
    felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/Felix.java
    felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/util/Util.java

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/Felix.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=1828236&r1=1828235&r2=1828236&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/Felix.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/Felix.java Tue Apr  3 13:29:11 2018
@@ -682,7 +682,7 @@ public class Felix extends BundleImpl im
                 // Spec says we get a new UUID for each invocation of init().
                 m_configMutableMap.put(
                     FelixConstants.FRAMEWORK_UUID,
-                    Util.randomUUID());
+                    Util.randomUUID("true".equalsIgnoreCase(_getProperty(FelixConstants.FRAMEWORK_UUID_SECURE))));
 
                 // Initialize event dispatcher.
                 m_dispatcher.startDispatching();

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/util/Util.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/util/Util.java?rev=1828236&r1=1828235&r2=1828236&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/util/Util.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/apache/felix/framework/util/Util.java Tue Apr  3 13:29:11 2018
@@ -850,11 +850,18 @@ public class Util
      *
      * @return an UUID instance.
      */
-    public static String randomUUID() {
-        byte[] data;
-        // lock on the class to protect lazy init
-        SecureRandom rng = new SecureRandom();
-        rng.nextBytes(data = new byte[16]);
+    public static String randomUUID(boolean secure) {
+        byte[] data = new byte[16];
+        if (secure)
+        {
+            SecureRandom rng = new SecureRandom();
+            rng.nextBytes(data);
+        }
+        else
+        {
+            Random rng = new Random();
+            rng.nextBytes(data);
+        }
         long mostSigBits = (data[0] & 0xFFL) << 56;
         mostSigBits |= (data[1] & 0xFFL) << 48;
         mostSigBits |= (data[2] & 0xFFL) << 40;