Skip to content

Commit 3e2ef72

Browse files
committed
Address review comments.
1 parent 0d310b3 commit 3e2ef72

File tree

5 files changed

+283
-231
lines changed

5 files changed

+283
-231
lines changed

api/src/main/java/io/grpc/ManagedChannelRegistry.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,10 @@ public int compare(ManagedChannelProvider o1, ManagedChannelProvider o2) {
9999
public static synchronized ManagedChannelRegistry getDefaultRegistry() {
100100
if (instance == null) {
101101
List<ManagedChannelProvider> providerList = ServiceProviders.loadAll(
102-
ManagedChannelProvider.class,
103-
getHardCodedClasses(),
104-
ManagedChannelProvider.class.getClassLoader(),
105-
new ManagedChannelPriorityAccessor());
102+
ManagedChannelProvider.class,
103+
getHardCodedClasses(),
104+
ManagedChannelProvider.class.getClassLoader(),
105+
new ManagedChannelPriorityAccessor());
106106
instance = new ManagedChannelRegistry();
107107
for (ManagedChannelProvider provider : providerList) {
108108
logger.fine("Service loader found " + provider);
@@ -157,7 +157,7 @@ ManagedChannelBuilder<?> newChannelBuilder(String target, ChannelCredentials cre
157157

158158
@VisibleForTesting
159159
ManagedChannelBuilder<?> newChannelBuilder(NameResolverRegistry nameResolverRegistry,
160-
String target, ChannelCredentials creds) {
160+
String target, ChannelCredentials creds) {
161161
NameResolverProvider nameResolverProvider = null;
162162
try {
163163
URI uri = new URI(target);
@@ -167,23 +167,23 @@ ManagedChannelBuilder<?> newChannelBuilder(NameResolverRegistry nameResolverRegi
167167
}
168168
if (nameResolverProvider == null) {
169169
nameResolverProvider = nameResolverRegistry.getProviderForScheme(
170-
nameResolverRegistry.getDefaultScheme());
170+
nameResolverRegistry.getDefaultScheme());
171171
}
172172
Collection<Class<? extends SocketAddress>> nameResolverSocketAddressTypes
173-
= (nameResolverProvider != null)
174-
? nameResolverProvider.getProducedSocketAddressTypes() :
175-
Collections.emptySet();
173+
= (nameResolverProvider != null)
174+
? nameResolverProvider.getProducedSocketAddressTypes() :
175+
Collections.emptySet();
176176

177177
List<ManagedChannelProvider> providers = providers();
178178
if (providers.isEmpty()) {
179179
throw new ProviderNotFoundException("No functional channel service provider found. "
180-
+ "Try adding a dependency on the grpc-okhttp, grpc-netty, or grpc-netty-shaded "
181-
+ "artifact");
180+
+ "Try adding a dependency on the grpc-okhttp, grpc-netty, or grpc-netty-shaded "
181+
+ "artifact");
182182
}
183183
StringBuilder error = new StringBuilder();
184184
for (ManagedChannelProvider provider : providers()) {
185185
Collection<Class<? extends SocketAddress>> channelProviderSocketAddressTypes
186-
= provider.getSupportedSocketAddressTypes();
186+
= provider.getSupportedSocketAddressTypes();
187187
if (!channelProviderSocketAddressTypes.containsAll(nameResolverSocketAddressTypes)) {
188188
error.append("; ");
189189
error.append(provider.getClass().getName());
@@ -192,7 +192,7 @@ ManagedChannelBuilder<?> newChannelBuilder(NameResolverRegistry nameResolverRegi
192192
continue;
193193
}
194194
ManagedChannelProvider.NewChannelBuilderResult result
195-
= provider.newChannelBuilder(target, creds);
195+
= provider.newChannelBuilder(target, creds);
196196
if (result.getChannelBuilder() != null) {
197197
return result.getChannelBuilder();
198198
}
@@ -205,7 +205,7 @@ ManagedChannelBuilder<?> newChannelBuilder(NameResolverRegistry nameResolverRegi
205205
}
206206

207207
private static final class ManagedChannelPriorityAccessor
208-
implements ServiceProviders.PriorityAccessor<ManagedChannelProvider> {
208+
implements ServiceProviders.PriorityAccessor<ManagedChannelProvider> {
209209
@Override
210210
public boolean isAvailable(ManagedChannelProvider provider) {
211211
return provider.isAvailable();
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
/*
2+
* Copyright 2024 The gRPC Authors
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package io.grpc.internal;
18+
19+
import java.security.Principal;
20+
import java.security.cert.Certificate;
21+
import javax.net.ssl.SSLPeerUnverifiedException;
22+
import javax.net.ssl.SSLSession;
23+
import javax.net.ssl.SSLSessionContext;
24+
25+
/** A no-op ssl session, to facilitate overriding only the required methods in specific
26+
* implementations.
27+
*/
28+
public class NoopSslSession implements SSLSession {
29+
@Override
30+
public byte[] getId() {
31+
return new byte[0];
32+
}
33+
34+
@Override
35+
public SSLSessionContext getSessionContext() {
36+
return null;
37+
}
38+
39+
@Override
40+
@SuppressWarnings("deprecation")
41+
public javax.security.cert.X509Certificate[] getPeerCertificateChain() {
42+
throw new UnsupportedOperationException("This method is deprecated and marked for removal. "
43+
+ "Use the getPeerCertificates() method instead.");
44+
}
45+
46+
@Override
47+
public long getCreationTime() {
48+
return 0;
49+
}
50+
51+
@Override
52+
public long getLastAccessedTime() {
53+
return 0;
54+
}
55+
56+
@Override
57+
public void invalidate() {
58+
}
59+
60+
@Override
61+
public boolean isValid() {
62+
return false;
63+
}
64+
65+
@Override
66+
public void putValue(String s, Object o) {
67+
}
68+
69+
@Override
70+
public Object getValue(String s) {
71+
return null;
72+
}
73+
74+
@Override
75+
public void removeValue(String s) {
76+
}
77+
78+
@Override
79+
public String[] getValueNames() {
80+
return new String[0];
81+
}
82+
83+
@Override
84+
public Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException {
85+
return new Certificate[0];
86+
}
87+
88+
@Override
89+
public Certificate[] getLocalCertificates() {
90+
return new Certificate[0];
91+
}
92+
93+
@Override
94+
public Principal getPeerPrincipal() throws SSLPeerUnverifiedException {
95+
return null;
96+
}
97+
98+
@Override
99+
public Principal getLocalPrincipal() {
100+
return null;
101+
}
102+
103+
@Override
104+
public String getCipherSuite() {
105+
return null;
106+
}
107+
108+
@Override
109+
public String getProtocol() {
110+
return null;
111+
}
112+
113+
@Override
114+
public String getPeerHost() {
115+
return null;
116+
}
117+
118+
@Override
119+
public int getPeerPort() {
120+
return 0;
121+
}
122+
123+
@Override
124+
public int getPacketBufferSize() {
125+
return 0;
126+
}
127+
128+
@Override
129+
public int getApplicationBufferSize() {
130+
return 0;
131+
}
132+
}

examples/example-tls/build.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ def grpcVersion = '1.70.0-SNAPSHOT' // CURRENT_GRPC_VERSION
2828
def protocVersion = '3.25.5'
2929

3030
dependencies {
31-
implementation "io.grpc:grpc-api:${grpcVersion}"
32-
implementation "io.grpc:grpc-okhttp:${grpcVersion}"
3331
implementation "io.grpc:grpc-protobuf:${grpcVersion}"
3432
implementation "io.grpc:grpc-stub:${grpcVersion}"
3533
compileOnly "org.apache.tomcat:annotations-api:6.0.53"
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
/*
2+
* Copyright 2024 The gRPC Authors
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package io.grpc.okhttp;
18+
19+
import java.io.IOException;
20+
import javax.net.ssl.HandshakeCompletedListener;
21+
import javax.net.ssl.SSLSession;
22+
import javax.net.ssl.SSLSocket;
23+
24+
/** A no-op ssl socket, to facilitate overriding only the required methods in specific
25+
* implementations.
26+
*/
27+
class NoopSslSocket extends SSLSocket {
28+
@Override
29+
public String[] getSupportedCipherSuites() {
30+
return new String[0];
31+
}
32+
33+
@Override
34+
public String[] getEnabledCipherSuites() {
35+
return new String[0];
36+
}
37+
38+
@Override
39+
public void setEnabledCipherSuites(String[] suites) {
40+
41+
}
42+
43+
@Override
44+
public String[] getSupportedProtocols() {
45+
return new String[0];
46+
}
47+
48+
@Override
49+
public String[] getEnabledProtocols() {
50+
return new String[0];
51+
}
52+
53+
@Override
54+
public void setEnabledProtocols(String[] protocols) {
55+
56+
}
57+
58+
@Override
59+
public SSLSession getSession() {
60+
return null;
61+
}
62+
63+
@Override
64+
public void addHandshakeCompletedListener(HandshakeCompletedListener listener) {
65+
66+
}
67+
68+
@Override
69+
public void removeHandshakeCompletedListener(HandshakeCompletedListener listener) {
70+
71+
}
72+
73+
@Override
74+
public void startHandshake() throws IOException {
75+
76+
}
77+
78+
@Override
79+
public void setUseClientMode(boolean mode) {
80+
81+
}
82+
83+
@Override
84+
public boolean getUseClientMode() {
85+
return false;
86+
}
87+
88+
@Override
89+
public void setNeedClientAuth(boolean need) {
90+
91+
}
92+
93+
@Override
94+
public boolean getNeedClientAuth() {
95+
return false;
96+
}
97+
98+
@Override
99+
public void setWantClientAuth(boolean want) {
100+
101+
}
102+
103+
@Override
104+
public boolean getWantClientAuth() {
105+
return false;
106+
}
107+
108+
@Override
109+
public void setEnableSessionCreation(boolean flag) {
110+
111+
}
112+
113+
@Override
114+
public boolean getEnableSessionCreation() {
115+
return false;
116+
}
117+
}

0 commit comments

Comments
 (0)