From 10d6e5b244fe7a4f5b595d2348ef0f274717ea77 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 12 Dec 2023 08:59:50 -0300 Subject: [PATCH] [db] remove trailing whitespace from fingerprint Thanks @iNPUTmice for reporting! --- .../src/main/java/org/fdroid/repo/RepoUriGetter.kt | 4 ++-- .../test/java/org/fdroid/repo/RepoUriGetterTest.kt | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libs/database/src/main/java/org/fdroid/repo/RepoUriGetter.kt b/libs/database/src/main/java/org/fdroid/repo/RepoUriGetter.kt index 0048a24a2..3a8782ee0 100644 --- a/libs/database/src/main/java/org/fdroid/repo/RepoUriGetter.kt +++ b/libs/database/src/main/java/org/fdroid/repo/RepoUriGetter.kt @@ -26,8 +26,8 @@ internal object RepoUriGetter { else -> it } } - val fingerprint = uri.getQueryParameter("fingerprint")?.lowercase() - ?: uri.getQueryParameter("FINGERPRINT")?.lowercase() + val fingerprint = uri.getQueryParameter("fingerprint")?.lowercase()?.trimEnd() + ?: uri.getQueryParameter("FINGERPRINT")?.lowercase()?.trimEnd() val pathSegments = uri.pathSegments var username: String? = null diff --git a/libs/database/src/test/java/org/fdroid/repo/RepoUriGetterTest.kt b/libs/database/src/test/java/org/fdroid/repo/RepoUriGetterTest.kt index 2d5848b00..77fdd092e 100644 --- a/libs/database/src/test/java/org/fdroid/repo/RepoUriGetterTest.kt +++ b/libs/database/src/test/java/org/fdroid/repo/RepoUriGetterTest.kt @@ -32,6 +32,17 @@ internal class RepoUriGetterTest { assertEquals("foobar", uri.fingerprint) } + @Test + fun testFingerprintWithTrailingWhitespace() { + val uri1 = RepoUriGetter.getUri("https://example.org/repo?fingerprint=foobar ") + assertEquals("https://example.org/repo", uri1.uri.toString()) + assertEquals("foobar", uri1.fingerprint) + + val uri2 = RepoUriGetter.getUri("https://example.org/repo?fingerprint=foobar ") + assertEquals("https://example.org/repo", uri2.uri.toString()) + assertEquals("foobar", uri2.fingerprint) + } + @Test fun testHash() { val uri = RepoUriGetter.getUri("https://example.org/repo?fingerprint=foobar&test=42#hash")