fix: normalize discovered IPv4 Cast receiver addresses
This commit is contained in:
@@ -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() }
|
||||
|
||||
Reference in New Issue
Block a user