From 0d23e7bd04decae4a348b692e85f95707ea4c57b Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Sat, 16 Dec 2023 19:49:42 -0500 Subject: [PATCH 1/4] Upgrade Kotlin to 1.9.21, Okio to 3.7.0 --- gradle/libs.versions.toml | 4 ++-- samples/tlssurvey/build.gradle.kts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2d5832540ebd..66cee7fe64ae 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,14 +2,14 @@ biz-aQute-bnd = "6.4.0" checkStyle = "10.12.5" com-squareup-moshi = "1.15.0" -com-squareup-okio = "3.6.0" +com-squareup-okio = "3.7.0" de-mannodermaus-junit5 = "1.4.0" graalvm = "22.3.2" kotlinx-serialization = "1.6.0" org-bouncycastle = "1.76" org-conscrypt = "2.5.2" org-jetbrains-coroutines = "1.7.3" -org-jetbrains-kotlin = "1.9.0" +org-jetbrains-kotlin = "1.9.21" org-junit-jupiter = "5.10.1" [libraries] diff --git a/samples/tlssurvey/build.gradle.kts b/samples/tlssurvey/build.gradle.kts index c884a4f27f12..948da3648f38 100644 --- a/samples/tlssurvey/build.gradle.kts +++ b/samples/tlssurvey/build.gradle.kts @@ -1,7 +1,7 @@ plugins { kotlin("jvm") application - id("com.google.devtools.ksp").version("1.9.0-1.0.13") + id("com.google.devtools.ksp").version("1.9.21-1.0.16") } application { From 2ae45b6b570d9d0ddfc20eef74cbe4027722216a Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Sat, 16 Dec 2023 20:53:32 -0500 Subject: [PATCH 2/4] Suppress Boolean.hashCode warning --- .../src/main/kotlin/okhttp3/tls/internal/der/certificates.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/okhttp-tls/src/main/kotlin/okhttp3/tls/internal/der/certificates.kt b/okhttp-tls/src/main/kotlin/okhttp3/tls/internal/der/certificates.kt index 7c79fd8ecbf4..9a468cba5b0b 100644 --- a/okhttp-tls/src/main/kotlin/okhttp3/tls/internal/der/certificates.kt +++ b/okhttp-tls/src/main/kotlin/okhttp3/tls/internal/der/certificates.kt @@ -24,6 +24,7 @@ import java.security.cert.CertificateFactory import java.security.cert.X509Certificate import okio.Buffer import okio.ByteString +import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement internal data class Certificate( val tbsCertificate: TbsCertificate, @@ -162,12 +163,14 @@ internal data class SubjectPublicKeyInfo( val subjectPublicKey: BitString ) +@IgnoreJRERequirement // As of AGP 3.4.1, D8 desugars API 24 hashCode methods. internal data class Extension( val id: String, val critical: Boolean, val value: Any? ) +@IgnoreJRERequirement // As of AGP 3.4.1, D8 desugars API 24 hashCode methods. internal data class BasicConstraints( /** True if this certificate can be used as a Certificate Authority (CA). */ val ca: Boolean, From 1f60fd625be7df262030563f4d7dcf690a0ecbfe Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Sat, 16 Dec 2023 23:01:37 -0500 Subject: [PATCH 3/4] call the right cancel --- .../src/jvmMain/kotlin/okhttp3/internal/connection/RealCall.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/okhttp/src/jvmMain/kotlin/okhttp3/internal/connection/RealCall.kt b/okhttp/src/jvmMain/kotlin/okhttp3/internal/connection/RealCall.kt index 033ee5122348..67bc7a511d42 100644 --- a/okhttp/src/jvmMain/kotlin/okhttp3/internal/connection/RealCall.kt +++ b/okhttp/src/jvmMain/kotlin/okhttp3/internal/connection/RealCall.kt @@ -71,7 +71,7 @@ class RealCall( private val timeout = object : AsyncTimeout() { override fun timedOut() { - cancel() + this@RealCall.cancel() } }.apply { timeout(client.callTimeoutMillis.toLong(), MILLISECONDS) From a73b028f3a60fe35d417b4bea9aafc033c17cfea Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Sun, 17 Dec 2023 09:08:55 -0500 Subject: [PATCH 4/4] More AnimalSniffer ignores --- .../jvmMain/kotlin/okhttp3/internal/ws/WebSocketExtensions.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/okhttp/src/jvmMain/kotlin/okhttp3/internal/ws/WebSocketExtensions.kt b/okhttp/src/jvmMain/kotlin/okhttp3/internal/ws/WebSocketExtensions.kt index 4e82c290f8dc..697682d13ad9 100644 --- a/okhttp/src/jvmMain/kotlin/okhttp3/internal/ws/WebSocketExtensions.kt +++ b/okhttp/src/jvmMain/kotlin/okhttp3/internal/ws/WebSocketExtensions.kt @@ -19,6 +19,7 @@ import java.io.IOException import okhttp3.Headers import okhttp3.internal.delimiterOffset import okhttp3.internal.trimSubstring +import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement /** * Models the contents of a `Sec-WebSocket-Extensions` response header. OkHttp honors one extension @@ -56,6 +57,7 @@ import okhttp3.internal.trimSubstring * * [rfc_7692]: https://tools.ietf.org/html/rfc7692#section-7.1 */ +@IgnoreJRERequirement // As of AGP 3.4.1, D8 desugars API 24 hashCode methods. data class WebSocketExtensions( /** True if the agreed upon extensions includes the permessage-deflate extension. */ @JvmField val perMessageDeflate: Boolean = false,