Validate image preview as URI.

Resolves #13392.
This commit is contained in:
Nicholas Tinsley
2024-01-31 14:27:01 -05:00
parent 467dae8132
commit 950d9d5a4c

View File

@@ -2,6 +2,8 @@ package org.thoughtcrime.securesms.util
import okhttp3.HttpUrl
import org.thoughtcrime.securesms.stickers.StickerUrl
import java.net.URI
import java.net.URISyntaxException
import java.util.Objects
import java.util.regex.Pattern
@@ -37,6 +39,10 @@ object LinkUtil {
return false
}
if (!isValidURI(linkUrl)) {
return false
}
return HttpUrl.parse(linkUrl)?.scheme() == "https"
}
@@ -85,5 +91,19 @@ object LinkUtil {
)
}
@JvmStatic
private fun isValidURI(linkUri: String?): Boolean {
return if (linkUri == null) {
false
} else {
try {
val ignored = URI(linkUri)
true
} catch (e: URISyntaxException) {
false
}
}
}
private data class LegalCharactersResult(val isLegal: Boolean, val domain: String? = null)
}