fix: normalize discovered IPv4 Cast receiver addresses

This commit is contained in:
2026-10-24 23:44:57 +02:00
parent f6fe617d92
commit 2391dadc75
3 changed files with 21 additions and 1 deletions
+10
View File
@@ -412,6 +412,16 @@ struct CastSessionCheck {
let fallbackID = discovery.devices.first { $0.name == prefix + "-fallback" }!.id
let device = ownDevices()[0]
require(device.port == second.port?.rawValue, "Discovery preserves the advertised Cast port")
for device in discovery.devices {
guard case .ipv4 = NWEndpoint.Host(device.host) else { continue }
var hints = addrinfo()
hints.ai_family = AF_INET
hints.ai_socktype = SOCK_DGRAM
var addresses: UnsafeMutablePointer<addrinfo>?
let result = getaddrinfo(device.host, "8009", &hints, &addresses)
if let addresses { freeaddrinfo(addresses) }
require(result == 0, "Discovered IPv4 receiver resolves through the native relay's POSIX API")
}
let connection = NWConnection(host: NWEndpoint.Host(device.host),
port: NWEndpoint.Port(rawValue: device.port)!, using: .tcp)
defer { connection.cancel() }