46
46
import java .util .List ;
47
47
import java .util .Map ;
48
48
import java .util .Objects ;
49
+ import java .util .Optional ;
49
50
import java .util .Set ;
50
51
import java .util .concurrent .atomic .AtomicReference ;
51
52
import java .util .function .BiFunction ;
114
115
import org .opensearch .plugins .ExtensionAwarePlugin ;
115
116
import org .opensearch .plugins .IdentityPlugin ;
116
117
import org .opensearch .plugins .MapperPlugin ;
118
+ import org .opensearch .plugins .SecureSettingsFactory ;
119
+ import org .opensearch .plugins .SecureTransportSettingsProvider ;
117
120
import org .opensearch .repositories .RepositoriesService ;
118
121
import org .opensearch .rest .RestController ;
119
122
import org .opensearch .rest .RestHandler ;
167
170
import org .opensearch .security .securityconf .DynamicConfigFactory ;
168
171
import org .opensearch .security .setting .OpensearchDynamicSetting ;
169
172
import org .opensearch .security .setting .TransportPassiveAuthSetting ;
173
+ import org .opensearch .security .ssl .OpenSearchSecureSettingsFactory ;
170
174
import org .opensearch .security .ssl .OpenSearchSecuritySSLPlugin ;
171
175
import org .opensearch .security .ssl .SslExceptionHandler ;
172
176
import org .opensearch .security .ssl .http .netty .ValidatingDispatcher ;
173
177
import org .opensearch .security .ssl .transport .DefaultPrincipalExtractor ;
174
- import org .opensearch .security .ssl .transport .SecuritySSLNettyTransport ;
175
178
import org .opensearch .security .ssl .util .SSLConfigConstants ;
176
179
import org .opensearch .security .support .ConfigConstants ;
177
180
import org .opensearch .security .support .GuardedSearchOperationWrapper ;
199
202
import org .opensearch .transport .TransportRequestOptions ;
200
203
import org .opensearch .transport .TransportResponseHandler ;
201
204
import org .opensearch .transport .TransportService ;
205
+ import org .opensearch .transport .netty4 .ssl .SecureNetty4Transport ;
202
206
import org .opensearch .watcher .ResourceWatcherService ;
203
207
204
208
import static org .opensearch .security .dlic .rest .api .RestApiAdminPrivilegesEvaluator .ENDPOINTS_WITH_PERMISSIONS ;
@@ -858,44 +862,44 @@ public <T extends TransportResponse> void sendRequest(
858
862
}
859
863
860
864
@ Override
861
- public Map <String , Supplier <Transport >> getTransports (
865
+ public Map <String , Supplier <Transport >> getSecureTransports (
862
866
Settings settings ,
863
867
ThreadPool threadPool ,
864
868
PageCacheRecycler pageCacheRecycler ,
865
869
CircuitBreakerService circuitBreakerService ,
866
870
NamedWriteableRegistry namedWriteableRegistry ,
867
871
NetworkService networkService ,
872
+ SecureTransportSettingsProvider secureTransportSettingsProvider ,
868
873
Tracer tracer
869
874
) {
870
875
Map <String , Supplier <Transport >> transports = new HashMap <String , Supplier <Transport >>();
871
876
872
877
if (SSLConfig .isSslOnlyMode ()) {
873
- return super .getTransports (
878
+ return super .getSecureTransports (
874
879
settings ,
875
880
threadPool ,
876
881
pageCacheRecycler ,
877
882
circuitBreakerService ,
878
883
namedWriteableRegistry ,
879
884
networkService ,
885
+ secureTransportSettingsProvider ,
880
886
tracer
881
887
);
882
888
}
883
889
884
890
if (transportSSLEnabled ) {
885
891
transports .put (
886
892
"org.opensearch.security.ssl.http.netty.SecuritySSLNettyTransport" ,
887
- () -> new SecuritySSLNettyTransport (
888
- settings ,
893
+ () -> new SecureNetty4Transport (
894
+ migrateSettings ( settings ) ,
889
895
Version .CURRENT ,
890
896
threadPool ,
891
897
networkService ,
892
898
pageCacheRecycler ,
893
899
namedWriteableRegistry ,
894
900
circuitBreakerService ,
895
- sks ,
896
- evaluateSslExceptionHandler (),
897
901
sharedGroupFactory ,
898
- SSLConfig ,
902
+ secureTransportSettingsProvider ,
899
903
tracer
900
904
)
901
905
);
@@ -904,7 +908,7 @@ public Map<String, Supplier<Transport>> getTransports(
904
908
}
905
909
906
910
@ Override
907
- public Map <String , Supplier <HttpServerTransport >> getHttpTransports (
911
+ public Map <String , Supplier <HttpServerTransport >> getSecureHttpTransports (
908
912
Settings settings ,
909
913
ThreadPool threadPool ,
910
914
BigArrays bigArrays ,
@@ -914,11 +918,12 @@ public Map<String, Supplier<HttpServerTransport>> getHttpTransports(
914
918
NetworkService networkService ,
915
919
Dispatcher dispatcher ,
916
920
ClusterSettings clusterSettings ,
921
+ SecureTransportSettingsProvider secureTransportSettingsProvider ,
917
922
Tracer tracer
918
923
) {
919
924
920
925
if (SSLConfig .isSslOnlyMode ()) {
921
- return super .getHttpTransports (
926
+ return super .getSecureHttpTransports (
922
927
settings ,
923
928
threadPool ,
924
929
bigArrays ,
@@ -928,6 +933,7 @@ public Map<String, Supplier<HttpServerTransport>> getHttpTransports(
928
933
networkService ,
929
934
dispatcher ,
930
935
clusterSettings ,
936
+ secureTransportSettingsProvider ,
931
937
tracer
932
938
);
933
939
}
@@ -944,16 +950,15 @@ public Map<String, Supplier<HttpServerTransport>> getHttpTransports(
944
950
);
945
951
// TODO close odshst
946
952
final SecurityHttpServerTransport odshst = new SecurityHttpServerTransport (
947
- settings ,
953
+ migrateSettings ( settings ) ,
948
954
networkService ,
949
955
bigArrays ,
950
956
threadPool ,
951
- sks ,
952
- evaluateSslExceptionHandler (),
953
957
xContentRegistry ,
954
958
validatingDispatcher ,
955
959
clusterSettings ,
956
960
sharedGroupFactory ,
961
+ secureTransportSettingsProvider ,
957
962
tracer ,
958
963
securityRestHandler
959
964
);
@@ -963,14 +968,15 @@ public Map<String, Supplier<HttpServerTransport>> getHttpTransports(
963
968
return Collections .singletonMap (
964
969
"org.opensearch.security.http.SecurityHttpServerTransport" ,
965
970
() -> new SecurityNonSslHttpServerTransport (
966
- settings ,
971
+ migrateSettings ( settings ) ,
967
972
networkService ,
968
973
bigArrays ,
969
974
threadPool ,
970
975
xContentRegistry ,
971
976
dispatcher ,
972
977
clusterSettings ,
973
978
sharedGroupFactory ,
979
+ secureTransportSettingsProvider ,
974
980
tracer ,
975
981
securityRestHandler
976
982
)
@@ -2005,6 +2011,11 @@ public SecurityTokenManager getTokenManager() {
2005
2011
return tokenManager ;
2006
2012
}
2007
2013
2014
+ @ Override
2015
+ public Optional <SecureSettingsFactory > getSecureSettingFactory (Settings settings ) {
2016
+ return Optional .of (new OpenSearchSecureSettingsFactory (settings , sks , sslExceptionHandler ));
2017
+ }
2018
+
2008
2019
public static class GuiceHolder implements LifecycleComponent {
2009
2020
2010
2021
private static RepositoriesService repositoriesService ;
0 commit comments