Skip to content

Commit 6f55e76

Browse files
MariamalmesferMariam Almesfer
authored and
Mariam Almesfer
committed
Upgrade Okie to version 3.6.0 (from 1.17.2) and OkHttp jar to version 4.12.0 to address CVE-2023-3635.
1 parent a3843f6 commit 6f55e76

File tree

8 files changed

+759
-8
lines changed

8 files changed

+759
-8
lines changed

pom.xml

+14-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
<dep.slice.version>0.38</dep.slice.version>
5050
<dep.testing-mysql-server-5.version>0.6</dep.testing-mysql-server-5.version>
5151
<dep.aws-sdk.version>1.12.560</dep.aws-sdk.version>
52-
<dep.okhttp.version>3.9.0</dep.okhttp.version>
52+
<dep.okhttp.version>4.12.0</dep.okhttp.version>
5353
<dep.jdbi3.version>3.4.0</dep.jdbi3.version>
5454
<dep.oracle.version>19.3.0.0</dep.oracle.version>
5555
<dep.drift.version>1.40</dep.drift.version>
@@ -216,6 +216,19 @@
216216

217217
<dependencyManagement>
218218
<dependencies>
219+
<dependency>
220+
<groupId>com.squareup.okio</groupId>
221+
<artifactId>okio-jvm</artifactId>
222+
<version>3.6.0</version>
223+
</dependency>
224+
225+
<!-- pull up to the version used in okio-jvm to avoid conlict with okhttp-* -->
226+
<dependency>
227+
<groupId>org.jetbrains.kotlin</groupId>
228+
<artifactId>kotlin-stdlib-jdk8</artifactId>
229+
<version>1.9.10</version>
230+
</dependency>
231+
219232
<dependency>
220233
<groupId>org.eclipse.jetty</groupId>
221234
<artifactId>jetty-bom</artifactId>

presto-client/pom.xml

+15
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,19 @@
117117
<scope>test</scope>
118118
</dependency>
119119
</dependencies>
120+
121+
<build>
122+
<plugins>
123+
<plugin>
124+
<groupId>org.apache.maven.plugins</groupId>
125+
<artifactId>maven-dependency-plugin</artifactId>
126+
<configuration>
127+
<ignoredUnusedDeclaredDependencies>
128+
<!-- This is needed to keep Okio in the build and prevent conflicts with OkHttp and Kotlin dependencies. -->
129+
<ignoredUnusedDeclaredDependency>com.squareup.okio:okio-jvm</ignoredUnusedDeclaredDependency>
130+
</ignoredUnusedDeclaredDependencies>
131+
</configuration>
132+
</plugin>
133+
</plugins>
134+
</build>
120135
</project>

presto-client/src/main/java/com/facebook/presto/client/JsonResponse.java

-6
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import javax.annotation.Nullable;
2525

2626
import java.io.IOException;
27-
import java.io.InterruptedIOException;
2827
import java.io.UncheckedIOException;
2928

3029
import static com.google.common.base.MoreObjects.toStringHelper;
@@ -146,11 +145,6 @@ public static <T> JsonResponse<T> execute(JsonCodec<T> codec, OkHttpClient clien
146145
return new JsonResponse<>(response.code(), response.message(), response.headers(), body);
147146
}
148147
catch (IOException e) {
149-
// OkHttp throws this after clearing the interrupt status
150-
// TODO: remove after updating to Okio 1.15.0+
151-
if ((e instanceof InterruptedIOException) && "thread interrupted".equals(e.getMessage())) {
152-
Thread.currentThread().interrupt();
153-
}
154148
throw new UncheckedIOException(e);
155149
}
156150
}

presto-client/src/main/java/com/facebook/presto/client/OkHttpUtil.java

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.facebook.airlift.security.pem.PemReader;
1717
import com.google.common.base.CharMatcher;
1818
import com.google.common.net.HostAndPort;
19+
import okhttp.internal.tls.LegacyHostnameVerifier;
1920
import okhttp3.Call;
2021
import okhttp3.Callback;
2122
import okhttp3.Credentials;
@@ -237,6 +238,7 @@ public static void setupSsl(
237238
sslContext.init(keyManagers, new TrustManager[] {trustManager}, null);
238239

239240
clientBuilder.sslSocketFactory(sslContext.getSocketFactory(), trustManager);
241+
clientBuilder.hostnameVerifier(LegacyHostnameVerifier.INSTANCE);
240242
}
241243
catch (GeneralSecurityException | IOException e) {
242244
throw new ClientException("Error setting up SSL: " + e.getMessage(), e);

0 commit comments

Comments
 (0)