From 1603823f2ceeb70daa6e11be55a3fd9bf0d6f748 Mon Sep 17 00:00:00 2001 From: Tim Brooks Date: Wed, 26 Jul 2017 13:36:20 -0500 Subject: [PATCH] Ensure that security client is used in x-pack This commit is fixing an issue with the build. Currently we have a scenario where a call to build a transport client is not using the security client. This modifies the settings source to ensure that the security client is used. Original commit: elastic/x-pack-elasticsearch@2d6ea1f4e4f15a4e69429be6c2df02b14fbec00c --- .../org/elasticsearch/test/SecuritySettingsSource.java | 8 +++++++- .../security/rest/action/RestAuthenticateActionTests.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/plugin/src/test/java/org/elasticsearch/test/SecuritySettingsSource.java b/plugin/src/test/java/org/elasticsearch/test/SecuritySettingsSource.java index 7cb9f80d8ad..b612920d0c5 100644 --- a/plugin/src/test/java/org/elasticsearch/test/SecuritySettingsSource.java +++ b/plugin/src/test/java/org/elasticsearch/test/SecuritySettingsSource.java @@ -9,6 +9,7 @@ import org.elasticsearch.ElasticsearchException; import org.elasticsearch.analysis.common.CommonAnalysisPlugin; import org.elasticsearch.common.Strings; import org.elasticsearch.common.io.PathUtils; +import org.elasticsearch.common.network.NetworkModule; import org.elasticsearch.common.settings.MockSecureSettings; import org.elasticsearch.common.settings.SecureSettings; import org.elasticsearch.common.settings.SecureString; @@ -138,8 +139,13 @@ public class SecuritySettingsSource extends ClusterDiscoveryConfiguration.Unicas @Override public Settings transportClientSettings() { - Settings.Builder builder = Settings.builder().put(super.transportClientSettings()); + Settings superSettings = super.transportClientSettings(); + Settings.Builder builder = Settings.builder().put(superSettings); addClientSSLSettings(builder, ""); + if (NetworkModule.TRANSPORT_TYPE_SETTING.exists(superSettings) == false) { + builder.put(NetworkModule.TRANSPORT_TYPE_SETTING.getKey(), Security.NAME4); + } + if (randomBoolean()) { builder.put(Security.USER_SETTING.getKey(), transportClientUsername() + ":" + new String(transportClientPassword().getChars())); diff --git a/plugin/src/test/java/org/elasticsearch/xpack/security/rest/action/RestAuthenticateActionTests.java b/plugin/src/test/java/org/elasticsearch/xpack/security/rest/action/RestAuthenticateActionTests.java index c58a2e1d700..e63227e3ee9 100644 --- a/plugin/src/test/java/org/elasticsearch/xpack/security/rest/action/RestAuthenticateActionTests.java +++ b/plugin/src/test/java/org/elasticsearch/xpack/security/rest/action/RestAuthenticateActionTests.java @@ -56,7 +56,7 @@ public class RestAuthenticateActionTests extends SecurityIntegTestCase { ObjectPath objectPath = ObjectPath.createFromResponse(response); assertThat(objectPath.evaluate("username").toString(), equalTo(SecuritySettingsSource.TEST_USER_NAME)); @SuppressWarnings("unchecked") - List roles = (List) objectPath.evaluate("roles"); + List roles = objectPath.evaluate("roles"); assertThat(roles.size(), is(1)); assertThat(roles, contains(SecuritySettingsSource.TEST_ROLE)); }