diff options
author | Marco Miller <marco.miller@ericsson.com> | 2020-12-21 12:08:00 -0500 |
---|---|---|
committer | Marco Miller <marco.miller@ericsson.com> | 2020-12-21 12:08:00 -0500 |
commit | 4d1ddbc91bce04c382e9ca0bb9561b14600e9cee (patch) | |
tree | 9828afad0f3db6e0120350822fae8dc2c1388386 | |
parent | 3ed130ebf450bab49c6a49190da7f11fd5d95d80 (diff) | |
parent | 310e3a422d999554eadcb7fbf213b96560bab4cb (diff) |
Merge branch 'stable-3.2' into stable-3.3
* stable-3.2:
ForRef#check should permit internal users to read all refs
Add Jacek Centkowski to developers
Add support for Elasticsearch version 7.10.*
Add support for Elasticsearch version 7.9.*
Align http dependencies with elasticsearch-rest-client
Change-Id: I7515ca92f18a01931a79498d6c366cfb01fd743a
17 files changed, 60 insertions, 17 deletions
@@ -803,26 +803,30 @@ maven_jar( sha1 = "fd369423346b2f1525c413e33f8cf95b09c92cbd", ) -# Note that all of the following org.apache.httpcomponents have newer versions, -# but 4.4.1 is the only version that is available for all of them. -HTTPCOMP_VERS = "4.4.1" +# Base the following org.apache.httpcomponents versions on what +# elasticsearch-rest-client explicitly depends on, except for +# commons-codec (non-http) which is not necessary yet. Note that +# below httpcore version(s) differs from the HTTPCOMP_VERS range, +# upstream: that specific dependency has no HTTPCOMP_VERS version +# equivalent currently. +HTTPCOMP_VERS = "4.5.2" maven_jar( name = "fluent-hc", artifact = "org.apache.httpcomponents:fluent-hc:" + HTTPCOMP_VERS, - sha1 = "96fb842b68a44cc640c661186828b60590c71261", + sha1 = "7bfdfa49de6d720ad3c8cedb6a5238eec564dfed", ) maven_jar( name = "httpclient", artifact = "org.apache.httpcomponents:httpclient:" + HTTPCOMP_VERS, - sha1 = "016d0bc512222f1253ee6b64d389c84e22f697f0", + sha1 = "733db77aa8d9b2d68015189df76ab06304406e50", ) maven_jar( name = "httpcore", - artifact = "org.apache.httpcomponents:httpcore:" + HTTPCOMP_VERS, - sha1 = "f5aa318bda4c6c8d688c9d00b90681dcd82ce636", + artifact = "org.apache.httpcomponents:httpcore:4.4.12", + sha1 = "21ebaf6d532bc350ba95bd81938fa5f0e511c132", ) # Test-only dependencies below. diff --git a/java/com/google/gerrit/elasticsearch/ElasticVersion.java b/java/com/google/gerrit/elasticsearch/ElasticVersion.java index bba1577147..c9323b2ec5 100644 --- a/java/com/google/gerrit/elasticsearch/ElasticVersion.java +++ b/java/com/google/gerrit/elasticsearch/ElasticVersion.java @@ -24,7 +24,9 @@ public enum ElasticVersion { V7_5("7.5.*"), V7_6("7.6.*"), V7_7("7.7.*"), - V7_8("7.8.*"); + V7_8("7.8.*"), + V7_9("7.9.*"), + V7_10("7.10.*"); private final String version; private final Pattern pattern; diff --git a/java/com/google/gerrit/server/permissions/RefControl.java b/java/com/google/gerrit/server/permissions/RefControl.java index fb90a047d5..fd825594b2 100644 --- a/java/com/google/gerrit/server/permissions/RefControl.java +++ b/java/com/google/gerrit/server/permissions/RefControl.java @@ -606,6 +606,10 @@ class RefControl { private boolean can(RefPermission perm) throws PermissionBackendException { switch (perm) { case READ: + /* Internal users such as plugin users should be able to read all refs. */ + if (getUser().isInternalUser()) { + return true; + } if (refName.startsWith(Constants.R_TAGS)) { return isTagVisible(); } diff --git a/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java b/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java index f23cc10cb8..27b4527424 100644 --- a/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java +++ b/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java @@ -26,7 +26,7 @@ public class ElasticReindexIT extends AbstractReindexTests { @ConfigSuite.Default public static Config elasticsearchV7() { - return getConfig(ElasticVersion.V7_8); + return getConfig(ElasticVersion.V7_10); } @Override diff --git a/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java b/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java index f35bcb79eb..36e564cb67 100644 --- a/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java +++ b/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java @@ -28,7 +28,7 @@ public class ElasticIndexIT extends AbstractIndexTests { @ConfigSuite.Default public static Config elasticsearchV7() { - return getConfig(ElasticVersion.V7_8); + return getConfig(ElasticVersion.V7_10); } @Override diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java b/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java index e8cf3e90ea..96e728a409 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java @@ -53,6 +53,10 @@ public class ElasticContainer extends ElasticsearchContainer { return "blacktop/elasticsearch:7.7.1"; case V7_8: return "blacktop/elasticsearch:7.8.1"; + case V7_9: + return "blacktop/elasticsearch:7.9.3"; + case V7_10: + return "blacktop/elasticsearch:7.10.1"; } throw new IllegalStateException("No tests for version: " + version.name()); } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java index 48264906d4..ca614460e3 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryAccountsTest extends AbstractQueryAccountsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java index d9a4d2ebc2..c0f40a9362 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java @@ -46,7 +46,7 @@ public class ElasticV7QueryChangesTest extends AbstractQueryChangesTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); client = HttpAsyncClients.createDefault(); client.start(); } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java index 0fc96f8388..46fb6f0862 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryGroupsTest extends AbstractQueryGroupsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java index 1e56af9556..ef2b644821 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryProjectsTest extends AbstractQueryProjectsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java index 1ec8a5dadd..85e8e9eb1c 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java @@ -42,6 +42,12 @@ public class ElasticVersionTest { assertThat(ElasticVersion.forVersion("7.8.0")).isEqualTo(ElasticVersion.V7_8); assertThat(ElasticVersion.forVersion("7.8.1")).isEqualTo(ElasticVersion.V7_8); + + assertThat(ElasticVersion.forVersion("7.9.0")).isEqualTo(ElasticVersion.V7_9); + assertThat(ElasticVersion.forVersion("7.9.1")).isEqualTo(ElasticVersion.V7_9); + + assertThat(ElasticVersion.forVersion("7.10.0")).isEqualTo(ElasticVersion.V7_10); + assertThat(ElasticVersion.forVersion("7.10.1")).isEqualTo(ElasticVersion.V7_10); } @Test diff --git a/javatests/com/google/gerrit/server/permissions/RefControlTest.java b/javatests/com/google/gerrit/server/permissions/RefControlTest.java index 04536bc0b3..da28ad1cf1 100644 --- a/javatests/com/google/gerrit/server/permissions/RefControlTest.java +++ b/javatests/com/google/gerrit/server/permissions/RefControlTest.java @@ -45,6 +45,7 @@ import com.google.gerrit.entities.PermissionRange; import com.google.gerrit.entities.Project; import com.google.gerrit.exceptions.InvalidNameException; import com.google.gerrit.server.CurrentUser; +import com.google.gerrit.server.InternalUser; import com.google.gerrit.server.account.GroupMembership; import com.google.gerrit.server.account.ListGroupMembership; import com.google.gerrit.server.config.AllProjectsName; @@ -313,6 +314,11 @@ public class RefControlTest { } @Test + public void userRefIsVisibleForInternalUser() throws Exception { + internalUser(localKey).controlForRef("refs/users/default").asForRef().check(RefPermission.READ); + } + + @Test public void branchDelegation1() throws Exception { projectOperations .project(localKey) @@ -1220,6 +1226,10 @@ public class RefControlTest { return projectCache.get(nameKey).orElseThrow(illegalState(nameKey)); } + private ProjectControl internalUser(Project.NameKey localKey) throws Exception { + return projectControlFactory.create(new InternalUser(), getProjectState(localKey)); + } + private ProjectControl user(Project.NameKey localKey, AccountGroup.UUID... memberOf) throws Exception { return user(localKey, null, memberOf); diff --git a/tools/maven/gerrit-acceptance-framework_pom.xml b/tools/maven/gerrit-acceptance-framework_pom.xml index e9272bf15b..49b5fbc416 100644 --- a/tools/maven/gerrit-acceptance-framework_pom.xml +++ b/tools/maven/gerrit-acceptance-framework_pom.xml @@ -41,6 +41,9 @@ <name>Han-Wen Nienhuys</name> </developer> <developer> + <name>Jacek Centkowski</name> + </developer> + <developer> <name>Luca Milanesio</name> </developer> <developer> diff --git a/tools/maven/gerrit-extension-api_pom.xml b/tools/maven/gerrit-extension-api_pom.xml index f1b46e4807..8d25628d59 100644 --- a/tools/maven/gerrit-extension-api_pom.xml +++ b/tools/maven/gerrit-extension-api_pom.xml @@ -41,6 +41,9 @@ <name>Han-Wen Nienhuys</name> </developer> <developer> + <name>Jacek Centkowski</name> + </developer> + <developer> <name>Luca Milanesio</name> </developer> <developer> diff --git a/tools/maven/gerrit-plugin-api_pom.xml b/tools/maven/gerrit-plugin-api_pom.xml index 526edeee1d..5d71d20d0f 100644 --- a/tools/maven/gerrit-plugin-api_pom.xml +++ b/tools/maven/gerrit-plugin-api_pom.xml @@ -41,6 +41,9 @@ <name>Han-Wen Nienhuys</name> </developer> <developer> + <name>Jacek Centkowski</name> + </developer> + <developer> <name>Luca Milanesio</name> </developer> <developer> diff --git a/tools/maven/gerrit-war_pom.xml b/tools/maven/gerrit-war_pom.xml index dda0a73b68..cdb9f58e27 100644 --- a/tools/maven/gerrit-war_pom.xml +++ b/tools/maven/gerrit-war_pom.xml @@ -41,6 +41,9 @@ <name>Han-Wen Nienhuys</name> </developer> <developer> + <name>Jacek Centkowski</name> + </developer> + <developer> <name>Luca Milanesio</name> </developer> <developer> diff --git a/tools/nongoogle.bzl b/tools/nongoogle.bzl index 4b83e2b9c9..05c9e2f113 100644 --- a/tools/nongoogle.bzl +++ b/tools/nongoogle.bzl @@ -93,11 +93,12 @@ def declare_nongoogle_deps(): ) # When upgrading elasticsearch-rest-client, also upgrade httpcore-nio - # and httpasyncclient as necessary. + # and httpasyncclient as necessary. Consider also the other + # org.apache.httpcomponents dependencies in ../WORKSPACE. maven_jar( name = "elasticsearch-rest-client", - artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.8.1", - sha1 = "59feefe006a96a39f83b0dfb6780847e06c1d0a8", + artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.10.1", + sha1 = "b2e89d266c2c0039a69504f78c9230582ea095ee", ) maven_jar( |