From f4001aa3560ae2820043965549a0f90f792c99be Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Tue, 20 Jun 2017 21:32:05 +0900 Subject: [PATCH] Replace Hashing.{md5,sha1} with Hashing.murmur3_128 md5 and sha1 are deprecated in Guava 22. Where possible, replace them with the recommended alternatives. In cases where we need to keep using sha1 for compatibility, add a warning suppression with comment. Change-Id: I3f80d52ea4e299c2a7c86fbda25457814bff750c --- .../main/java/com/google/gerrit/httpd/raw/HostPageServlet.java | 2 +- .../main/java/com/google/gerrit/httpd/raw/ResourceServlet.java | 2 +- .../main/java/com/google/gerrit/pgm/init/LibraryDownloader.java | 2 +- .../google/gerrit/server/account/externalids/ExternalId.java | 1 + .../java/com/google/gerrit/server/change/ChangeResource.java | 2 +- .../java/com/google/gerrit/server/change/FileContentUtil.java | 2 +- .../com/google/gerrit/server/change/GetRevisionActions.java | 2 +- .../main/java/com/google/gerrit/server/change/PostReview.java | 2 +- .../src/main/java/com/google/gerrit/server/util/RequestId.java | 2 +- 9 files changed, 9 insertions(+), 8 deletions(-) diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/HostPageServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/HostPageServlet.java index 93673bccd8..51340ae578 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/HostPageServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/HostPageServlet.java @@ -133,7 +133,7 @@ public class HostPageServlet extends HttpServlet { String src = "gerrit_ui/gerrit_ui.nocache.js"; try (InputStream in = servletContext.getResourceAsStream("/" + src)) { if (in != null) { - Hasher md = Hashing.md5().newHasher(); + Hasher md = Hashing.murmur3_128().newHasher(); byte[] buf = new byte[1024]; int n; while ((n = in.read(buf)) > 0) { diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ResourceServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ResourceServlet.java index 914c830ed3..150acc611e 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ResourceServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ResourceServlet.java @@ -312,7 +312,7 @@ public abstract class ResourceServlet extends HttpServlet { this.lastModified = checkNotNull(lastModified, "lastModified"); this.contentType = checkNotNull(contentType, "contentType"); this.raw = checkNotNull(raw, "raw"); - this.etag = Hashing.md5().hashBytes(raw).toString(); + this.etag = Hashing.murmur3_128().hashBytes(raw).toString(); } boolean isStale(Path p, ResourceServlet rs) throws IOException { diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/LibraryDownloader.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/LibraryDownloader.java index fb4e0eb4cd..e0589eda0c 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/LibraryDownloader.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/LibraryDownloader.java @@ -280,7 +280,7 @@ class LibraryDownloader { System.err.flush(); return; } - Hasher h = Hashing.sha1().newHasher(); + Hasher h = Hashing.murmur3_128().newHasher(); try (InputStream in = Files.newInputStream(dst); OutputStream out = Funnels.asOutputStream(h)) { ByteStreams.copy(in, out); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalId.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalId.java index 6f68611e8b..9c456f54f0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalId.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalId.java @@ -96,6 +96,7 @@ public abstract class ExternalId implements Serializable { * Returns the SHA1 of the external ID that is used as note ID in the refs/meta/external-ids * notes branch. */ + @SuppressWarnings("deprecation") // Use Hashing.sha1 for compatibility. public ObjectId sha1() { return ObjectId.fromRaw(Hashing.sha1().hashString(get(), UTF_8).asBytes()); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeResource.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeResource.java index 1bec3d13ce..f27c53bead 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeResource.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeResource.java @@ -137,7 +137,7 @@ public class ChangeResource implements RestResource, HasETag { @Override public String getETag() { CurrentUser user = control.getUser(); - Hasher h = Hashing.md5().newHasher(); + Hasher h = Hashing.murmur3_128().newHasher(); if (user.isIdentifiedUser()) { h.putString(starredChangesUtil.getObjectId(user.getAccountId(), getId()).name(), UTF_8); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/FileContentUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/FileContentUtil.java index 0c2ec68d6c..181505d873 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/FileContentUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/FileContentUtil.java @@ -273,7 +273,7 @@ public class FileContentUtil { // an attacker could upload a *.class file and have us send a ZIP // that can be invoked through an applet tag in the victim's browser. // - Hasher h = Hashing.md5().newHasher(); + Hasher h = Hashing.murmur3_128().newHasher(); byte[] buf = new byte[8]; NB.encodeInt64(buf, 0, TimeUtil.nowMs()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRevisionActions.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRevisionActions.java index e476e73ddb..8a6a1abd91 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRevisionActions.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRevisionActions.java @@ -63,7 +63,7 @@ public class GetRevisionActions implements ETagView { @Override public String getETag(RevisionResource rsrc) { - Hasher h = Hashing.md5().newHasher(); + Hasher h = Hashing.murmur3_128().newHasher(); CurrentUser user = rsrc.getControl().getUser(); try { rsrc.getChangeResource().prepareETag(h, user); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java index 40c6e06656..bebccc4de0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java @@ -745,7 +745,7 @@ public class PostReview comment.key.patchSetId, comment.lineNbr, Side.fromShort(comment.side), - Hashing.sha1().hashString(comment.message, UTF_8), + Hashing.murmur3_128().hashString(comment.message, UTF_8), comment.range); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/util/RequestId.java b/gerrit-server/src/main/java/com/google/gerrit/server/util/RequestId.java index dc7dd3d539..8e8db12e0a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/util/RequestId.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/util/RequestId.java @@ -47,7 +47,7 @@ public class RequestId { private final String str; private RequestId(String resourceId) { - Hasher h = Hashing.sha1().newHasher(); + Hasher h = Hashing.murmur3_128().newHasher(); h.putLong(Thread.currentThread().getId()).putUnencodedChars(MACHINE_ID); str = "["