diff options
author | Sven Selberg <svense@axis.com> | 2020-12-21 16:28:06 +0100 |
---|---|---|
committer | Sven Selberg <svense@axis.com> | 2020-12-21 16:28:06 +0100 |
commit | 310e3a422d999554eadcb7fbf213b96560bab4cb (patch) | |
tree | 96fdbed0afafe771d9f3ead8b3d9b3dc6e6c4b4b | |
parent | 79e752bd3db0e0ccaea370fb73adbf41d4b2e006 (diff) | |
parent | 76e33f109dfc7c8089c02e147e42435221159ebb (diff) |
Merge branch 'stable-3.1' into stable-3.2
* stable-3.1:
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: Ia708f5a927da3f8ec8beef2470abfcf011843d5c
17 files changed, 60 insertions, 17 deletions
@@ -818,26 +818,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 9e78b7e2b8..69a7797b82 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 336b6fb97f..c600844dda 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.AccountGroup; 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 0cc5802142..4a04bba8af 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 84473318e4..cbbd0578b0 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 d9a932663d..5c06613ce8 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 ec6d3637e5..355f9315d9 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 c4491497be..b4f6974cdf 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( |