Author: amitj
Date: Thu Mar 9 09:52:29 2017
New Revision: 1786122
URL: http://svn.apache.org/viewvc?rev=1786122&view=rev
Log:
OAK-5827: Don't use SHA-1 for new DataStore binaries
- Uses SHA-256 for binaries
- Removed references to SHA-1 and fix tests.
- Uses JR2 AbstractDataStore DIGEST property to get the digest algorithm to be
used.
Modified:
jackrabbit/oak/trunk/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3DataStoreStatsTest.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/CachingDataStoreTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/IgnoreMissingBinariesTest.java
Modified:
jackrabbit/oak/trunk/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3DataStoreStatsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3DataStoreStatsTest.java?rev=1786122&r1=1786121&r2=1786122&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3DataStoreStatsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3DataStoreStatsTest.java
Thu Mar 9 09:52:29 2017
@@ -108,7 +108,7 @@ public class S3DataStoreStatsTest {
private String getIdForInputStream(final InputStream in)
throws Exception {
- MessageDigest digest = MessageDigest.getInstance("SHA-1");
+ MessageDigest digest = MessageDigest.getInstance("SHA-256");
OutputStream output = new DigestOutputStream(new NullOutputStream(),
digest);
try {
IOUtils.copyLarge(in, output);
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java?rev=1786122&r1=1786121&r2=1786122&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java
Thu Mar 9 09:52:29 2017
@@ -82,11 +82,6 @@ public abstract class AbstractSharedCach
private static final Logger LOG =
LoggerFactory.getLogger(AbstractSharedCachingDataStore.class);
/**
- * The digest algorithm used to uniquely identify records.
- */
- private static final String DIGEST = "SHA-1";
-
- /**
* The root path
*/
private String path;
@@ -246,7 +241,7 @@ public abstract class AbstractSharedCach
}
DataIdentifier identifier = new
DataIdentifier(encodeHexString(digest.digest()));
- LOG.debug("SHA1 of [{}], length =[{}] took [{}] ms ", identifier,
length,
+ LOG.debug("SHA-256 of [{}], length =[{}] took [{}] ms ",
identifier, length,
watch.elapsed(TimeUnit.MILLISECONDS));
// asynchronously stage for upload if the size limit of staging
cache permits
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/CachingDataStoreTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/CachingDataStoreTest.java?rev=1786122&r1=1786121&r2=1786122&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/CachingDataStoreTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/CachingDataStoreTest.java
Thu Mar 9 09:52:29 2017
@@ -434,7 +434,7 @@ public class CachingDataStoreTest extend
OutputStream output = null;
try {
in = new FileInputStream(f);
- MessageDigest digest = MessageDigest.getInstance("SHA-1");
+ MessageDigest digest = MessageDigest.getInstance("SHA-256");
output = new DigestOutputStream(new NullOutputStream(), digest);
IOUtils.copyLarge(in, output);
return encodeHexString(digest.digest());
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java?rev=1786122&r1=1786121&r2=1786122&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java
Thu Mar 9 09:52:29 2017
@@ -154,7 +154,7 @@ public class ConsolidatedDataStoreStatsT
private String getIdForInputStream(final InputStream in)
throws Exception {
- MessageDigest digest = MessageDigest.getInstance("SHA-1");
+ MessageDigest digest = MessageDigest.getInstance("SHA-256");
OutputStream output = new DigestOutputStream(new NullOutputStream(),
digest);
try {
IOUtils.copyLarge(in, output);
Modified:
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/IgnoreMissingBinariesTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/IgnoreMissingBinariesTest.java?rev=1786122&r1=1786121&r2=1786122&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/IgnoreMissingBinariesTest.java
(original)
+++
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/IgnoreMissingBinariesTest.java
Thu Mar 9 09:52:29 2017
@@ -56,7 +56,7 @@ public class IgnoreMissingBinariesTest e
getSourceContainer().close();
}
- assertTrue(new File(blob.getDirectory(),
"c2/b2/b5/c2b2b532305bf4b7c73ea4f2747a788bb668cedc").delete());
+ assertTrue(new File(blob.getDirectory(),
"0c/07/02/0c0702b43bfcc7c0bb1329a10bbc6d5c5ef15856afd714c1331495b95f65b292").delete());
String[] args = getArgs();
log.info("oak2oak {}", Joiner.on(' ').join(args));
@@ -92,4 +92,4 @@ public class IgnoreMissingBinariesTest e
verifyBlob(session);
assertEquals(0,
session.getNode("/libs/sling/xss/config.xml/jcr:content").getProperty("jcr:data").getLength());
}
-}
\ No newline at end of file
+}