From 825e8f3dac0b917bd323883edb172760fd59a411 Mon Sep 17 00:00:00 2001 From: grakovne Date: Sun, 22 Dec 2024 12:00:48 +0100 Subject: [PATCH 1/2] Allow Token symbols in custom headers map --- app/build.gradle.kts | 4 ++-- .../lissen/domain/connection/ServerRequestHeader.kt | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0666e2cc..3df0b665 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -29,8 +29,8 @@ android { applicationId = "org.grakovne.lissen" minSdk = 28 targetSdk = 35 - versionCode = 57 - versionName = "1.1.26" + versionCode = 58 + versionName = "1.1.27" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { diff --git a/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt b/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt index e033d045..cd14f328 100644 --- a/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt +++ b/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt @@ -18,6 +18,14 @@ data class ServerRequestHeader( return this.copy(name = name, value = value) } - private fun String.clean(): String = this.replace(Regex("[^a-zA-Z0-9-]"), "").trim() + /** + * Cleans this string to contain only valid tchar characters for HTTP header names as per RFC 7230. + * + * @return A string containing only allowed tchar characters. + */ + private fun String.clean(): String { + val allowed = Regex("[^!#\$%&'*+\\-.^_`|~0-9A-Za-z]") + return this.replace(allowed, "").trim() + } } } From 265468fd2ca6f6df12554d3face8ef1d44fedd4f Mon Sep 17 00:00:00 2001 From: grakovne Date: Sun, 22 Dec 2024 12:02:35 +0100 Subject: [PATCH 2/2] Allow Token symbols in custom headers map --- .../grakovne/lissen/domain/connection/ServerRequestHeader.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt b/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt index cd14f328..b378c85a 100644 --- a/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt +++ b/app/src/main/java/org/grakovne/lissen/domain/connection/ServerRequestHeader.kt @@ -24,8 +24,8 @@ data class ServerRequestHeader( * @return A string containing only allowed tchar characters. */ private fun String.clean(): String { - val allowed = Regex("[^!#\$%&'*+\\-.^_`|~0-9A-Za-z]") - return this.replace(allowed, "").trim() + val invalidCharacters = Regex("[^!#\$%&'*+\\-.^_`|~0-9A-Za-z]") + return this.replace(invalidCharacters, "").trim() } } }