Browse Source

Fix usage of `IndexAccessControl` in `CustomAuthorizationEngine` (#90559)

* Fix usage of `IndexAccessControl` in `CustomAuthorizationEngine`

* Make version properties loader more robust

Co-authored-by: Mark Vieira <portugee@gmail.com>
Slobodan Adamović 3 years ago
parent
commit
bd58c74a49

+ 3 - 2
build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/VersionPropertiesPlugin.java

@@ -33,9 +33,10 @@ public class VersionPropertiesPlugin implements Plugin<Project> {
 
     private static File locateElasticsearchWorkspace(Gradle project) {
         if (project.getParent() == null) {
-            // See if "elasticsearch" is one of the included builds, if so use that project directory
+            // See if any of these included builds is the Elasticsearch project
             for (IncludedBuild includedBuild : project.getIncludedBuilds()) {
-                if (includedBuild.getName().equals("elasticsearch")) {
+                File versionProperties = new File(includedBuild.getProjectDir(), "build-tools-internal/version.properties");
+                if (versionProperties.exists()) {
                     return includedBuild.getProjectDir();
                 }
             }

+ 1 - 1
plugins/examples/security-authorization-engine/src/main/java/org/elasticsearch/example/CustomAuthorizationEngine.java

@@ -89,7 +89,7 @@ public class CustomAuthorizationEngine implements AuthorizationEngine {
             indicesAsyncSupplier.getAsync(ActionListener.wrap(resolvedIndices -> {
                 Map<String, IndexAccessControl> indexAccessControlMap = new HashMap<>();
                 for (String name : resolvedIndices.getLocal()) {
-                    indexAccessControlMap.put(name, new IndexAccessControl(true, FieldPermissions.DEFAULT, null));
+                    indexAccessControlMap.put(name, new IndexAccessControl(FieldPermissions.DEFAULT, null));
                 }
                 IndicesAccessControl indicesAccessControl =
                     new IndicesAccessControl(true, Collections.unmodifiableMap(indexAccessControlMap));

+ 0 - 1
plugins/examples/security-authorization-engine/src/test/java/org/elasticsearch/example/CustomAuthorizationEngineTests.java

@@ -145,7 +145,6 @@ public class CustomAuthorizationEngineTests extends ESTestCase {
             assertThat(result.isAuditable(), is(true));
             IndicesAccessControl indicesAccessControl = result.getIndicesAccessControl();
             assertNotNull(indicesAccessControl.getIndexPermissions("index"));
-            assertThat(indicesAccessControl.getIndexPermissions("index").isGranted(), is(true));
         }
 
         // unauthorized