Compare commits

...

1 commit

View file

@ -2,30 +2,20 @@ package net.typeblog.lpac_jni
import android.util.Patterns import android.util.Patterns
// example address in GSMA SGP.26, some chips use addresses like this
@Suppress("SpellCheckingInspection")
private val invalidDPAddresses = setOf(
"testrootsmds.gsma.com",
"testrootsmds.example.com",
)
data class EuiccConfiguredAddresses( data class EuiccConfiguredAddresses(
val defaultDPAddress: String, val defaultDPAddress: String,
val rootDSAddress: String val rootDSAddress: String
) { ) {
val discoverable: Boolean
get() = isValidDefaultDPAddress || isValidRootDSAddress
val isValidDefaultDPAddress: Boolean val isValidDefaultDPAddress: Boolean
get() { get() = isValid(defaultDPAddress)
if (defaultDPAddress.isBlank()) return false
return Patterns.DOMAIN_NAME.matcher(defaultDPAddress).matches()
}
val isValidRootDSAddress: Boolean val isValidRootDSAddress: Boolean
get() { get() = isValid(rootDSAddress) || rootDSAddress == "lpa.ds.gsma.com"
if (rootDSAddress.isBlank()) return false }
if (rootDSAddress in invalidDPAddresses) return false
return Patterns.DOMAIN_NAME.matcher(rootDSAddress).matches() private fun isValid(address: String): Boolean {
} if (address.isBlank()) return false
if (address.endsWith(".gsma.com")) return false
if (address.endsWith(".example.com")) return false
return Patterns.DOMAIN_NAME.matcher(address).matches()
} }