mirror of https://github.com/openclaw/openclaw.git
fix: align mobile pairing secure endpoint UX (#60128)
This commit is contained in:
parent
fadd627467
commit
b9897eec7c
|
|
@ -125,10 +125,9 @@ internal fun parseGatewayEndpoint(rawInput: String): GatewayEndpointConfig? {
|
|||
return parseGatewayEndpointResult(rawInput).config
|
||||
}
|
||||
|
||||
internal fun parseGatewayEndpointResult(rawInput: String): GatewayEndpointParseResult {
|
||||
internal fun parseGatewayEndpointResult(rawInput: String): GatewayEndpointParseResult {
|
||||
val raw = rawInput.trim()
|
||||
if (raw.isEmpty()) return GatewayEndpointParseResult(error = GatewayEndpointValidationError.INVALID_URL)
|
||||
if (raw.contains('%')) return GatewayEndpointParseResult(error = GatewayEndpointValidationError.INVALID_URL)
|
||||
|
||||
val normalized = if (raw.contains("://")) raw else "https://$raw"
|
||||
val uri =
|
||||
|
|
|
|||
|
|
@ -163,10 +163,23 @@ class GatewayConfigResolverTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
fun parseGatewayEndpointRejectsLinkLocalIpv6ZoneCleartextWsUrls() {
|
||||
fun parseGatewayEndpointAllowsLinkLocalIpv6ZoneCleartextWsUrls() {
|
||||
val parsed = parseGatewayEndpoint("ws://[fe80::1%25eth0]")
|
||||
|
||||
assertNull(parsed)
|
||||
assertEquals("fe80::1%25eth0", parsed?.host)
|
||||
assertEquals(18789, parsed?.port)
|
||||
assertEquals(false, parsed?.tls)
|
||||
assertEquals("http://[fe80::1%25eth0]:18789", parsed?.displayUrl)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun parseGatewayEndpointAllowsSecureIpv6ZoneUrls() {
|
||||
val parsed = parseGatewayEndpoint("wss://[fe80::1%25wlan0]:443")
|
||||
|
||||
assertEquals("fe80::1%25wlan0", parsed?.host)
|
||||
assertEquals(443, parsed?.port)
|
||||
assertEquals(true, parsed?.tls)
|
||||
assertEquals("https://[fe80::1%25wlan0]", parsed?.displayUrl)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in New Issue