Skip to content

Commit 60bfa06

Browse files
committed
In progress changes.
1 parent 24500f4 commit 60bfa06

File tree

2 files changed

+36
-34
lines changed

2 files changed

+36
-34
lines changed

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

Lines changed: 28 additions & 28 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,35 +167,35 @@ 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();
184-
for (ManagedChannelProvider provider : providers()) {
185-
Collection<Class<? extends SocketAddress>> channelProviderSocketAddressTypes
186-
= provider.getSupportedSocketAddressTypes();
187-
if (!channelProviderSocketAddressTypes.containsAll(nameResolverSocketAddressTypes)) {
188-
error.append("; ");
189-
error.append(provider.getClass().getName());
190-
error.append(": does not support 1 or more of ");
191-
error.append(Arrays.toString(nameResolverSocketAddressTypes.toArray()));
192-
continue;
193-
}
194-
ManagedChannelProvider.NewChannelBuilderResult result
195-
= provider.newChannelBuilder(target, creds);
196-
if (result.getChannelBuilder() != null) {
197-
return result.getChannelBuilder();
198-
}
184+
for (ManagedChannelProvider provider : providers()) {
185+
Collection<Class<? extends SocketAddress>> channelProviderSocketAddressTypes
186+
= provider.getSupportedSocketAddressTypes();
187+
if (!channelProviderSocketAddressTypes.containsAll(nameResolverSocketAddressTypes)) {
188+
error.append("; ");
189+
error.append(provider.getClass().getName());
190+
error.append(": does not support 1 or more of ");
191+
error.append(Arrays.toString(nameResolverSocketAddressTypes.toArray()));
192+
continue;
193+
}
194+
ManagedChannelProvider.NewChannelBuilderResult result
195+
= provider.newChannelBuilder(target, creds);
196+
if (result.getChannelBuilder() != null) {
197+
return result.getChannelBuilder();
198+
}
199199
error.append("; ");
200200
error.append(provider.getClass().getName());
201201
error.append(": ");
@@ -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();
@@ -225,4 +225,4 @@ public ProviderNotFoundException(String msg) {
225225
super(msg);
226226
}
227227
}
228-
}
228+
}

okhttp/src/main/java/io/grpc/okhttp/OkHttpClientTransport.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@
111111
import javax.annotation.Nullable;
112112
import javax.annotation.concurrent.GuardedBy;
113113
import javax.net.SocketFactory;
114-
import javax.net.ssl.ExtendedSSLSession;
115114
import javax.net.ssl.HandshakeCompletedListener;
116115
import javax.net.ssl.HostnameVerifier;
117116
import javax.net.ssl.SSLParameters;
@@ -232,7 +231,7 @@ private static Map<ErrorCode, Status> buildErrorCodeToStatusMap() {
232231
private final boolean useGetForSafeMethods;
233232
@GuardedBy("lock")
234233
private final TransportTracer transportTracer;
235-
private final ConcurrentHashMap<String, Boolean> authoritiesAllowedForPeer =
234+
private final ConcurrentHashMap<String, Boolean> authorityVerificationStatuses =
236235
new ConcurrentHashMap<>();
237236

238237
@GuardedBy("lock")
@@ -433,9 +432,12 @@ public ClientStream newStream(
433432
StatsTraceContext.newClientContext(tracers, getAttributes(), headers);
434433
if (socket instanceof SSLSocket && callOptions.getAuthority() != null
435434
&& channelCredentials != null && channelCredentials instanceof TlsChannelCredentials) {
435+
if (hostnameVerifier != null) {
436+
hostnameVerifier.verify(callOptions.getAuthority(), ((SSLSocket) socket).getSession());
437+
}
436438
boolean isAuthorityValid;
437-
if (authoritiesAllowedForPeer.containsKey(callOptions.getAuthority())) {
438-
isAuthorityValid = authoritiesAllowedForPeer.get(callOptions.getAuthority());
439+
if (authorityVerificationStatuses.containsKey(callOptions.getAuthority())) {
440+
isAuthorityValid = authorityVerificationStatuses.get(callOptions.getAuthority());
439441
} else {
440442
Optional<TrustManager> x509ExtendedTrustManager;
441443
try {
@@ -461,10 +463,10 @@ public ClientStream newStream(
461463
((X509ExtendedTrustManager) x509ExtendedTrustManager.get()).checkServerTrusted(
462464
x509PeerCertificates, "RSA",
463465
new SslSocketWrapper((SSLSocket) socket, callOptions.getAuthority()));
464-
authoritiesAllowedForPeer.put(callOptions.getAuthority(), true);
466+
authorityVerificationStatuses.put(callOptions.getAuthority(), true);
465467
} catch (SSLPeerUnverifiedException | CertificateException e) {
466468
log.log(Level.FINE, "Failure in verifying authority against peer", e);
467-
authoritiesAllowedForPeer.put(callOptions.getAuthority(), false);
469+
authorityVerificationStatuses.put(callOptions.getAuthority(), false);
468470
return new FailingClientStream(Status.INTERNAL.withDescription(
469471
"Failure in verifying authority against peer"),
470472
tracers);

0 commit comments

Comments
 (0)