Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.11 a10b8079e -> ee7023e32
  refs/heads/trunk 3048608c6 -> 60e2e9826


Avoid seeding /dev/urandom on OS X by specifying SHA1PRNG in CipherFactoryTest.

Patch by Jay Zhuang; Reviewed by Ariel Weisberg for CASSANDRA-13370


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

Branch: refs/heads/cassandra-3.11
Commit: ee7023e324cdd3b3442b04ad4b0b1f4b33921d35
Parents: a10b807
Author: Jay Zhuang <jay.zhu...@yahoo.com>
Authored: Fri Mar 24 13:08:50 2017 -0400
Committer: Ariel Weisberg <aweisb...@apple.com>
Committed: Fri Mar 24 13:08:50 2017 -0400

----------------------------------------------------------------------
 CHANGES.txt                                        |  1 +
 .../cassandra/security/CipherFactoryTest.java      | 17 ++++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee7023e3/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 8b13109..071dd1a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.0
+ * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
  * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns 
(CASSANDRA-13247)
  * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern 
(CASSANDRA-13317)
  * Possible AssertionError in UnfilteredRowIteratorWithLowerBound 
(CASSANDRA-13366)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee7023e3/test/unit/org/apache/cassandra/security/CipherFactoryTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/security/CipherFactoryTest.java 
b/test/unit/org/apache/cassandra/security/CipherFactoryTest.java
index 4ba265e..29302b7 100644
--- a/test/unit/org/apache/cassandra/security/CipherFactoryTest.java
+++ b/test/unit/org/apache/cassandra/security/CipherFactoryTest.java
@@ -21,6 +21,7 @@
 package org.apache.cassandra.security;
 
 import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
 
 import javax.crypto.BadPaddingException;
@@ -34,6 +35,9 @@ import org.junit.Test;
 
 import org.apache.cassandra.config.TransparentDataEncryptionOptions;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
 public class CipherFactoryTest
 {
     // http://www.gutenberg.org/files/4300/4300-h/4300-h.htm
@@ -47,7 +51,18 @@ public class CipherFactoryTest
     @Before
     public void setup()
     {
-        secureRandom = new SecureRandom(new byte[] {0,1,2,3,4,5,6,7,8,9} );
+        try
+        {
+            secureRandom = SecureRandom.getInstance("SHA1PRNG");
+            assertNotNull(secureRandom.getProvider());
+        }
+        catch (NoSuchAlgorithmException e)
+        {
+            fail("NoSuchAlgorithmException: SHA1PRNG not found.");
+        }
+        long seed = new java.util.Random().nextLong();
+        System.out.println("Seed: " + seed);
+        secureRandom.setSeed(seed);
         encryptionOptions = 
EncryptionContextGenerator.createEncryptionOptions();
         cipherFactory = new CipherFactory(encryptionOptions);
     }

Reply via email to