Hi there,
Encountered something weird when doing beta test on Monterey Beta 8 while all good with Monterey Beta 6:
We use system extension for NETransparentProxyProvider and we block QUIC traffics by below codes:
override func handleNewUDPFlow(_ flow: NEAppProxyUDPFlow, initialRemoteEndpoint remoteEndpoint: NWEndpoint) -> Bool {
let ep = remoteEndpoint as! NWHostEndpoint
flow.open(withLocalEndpoint: nil) { [unowned self] error in
guard error == nil else {
flow.closeReadWithError(error)
flow.closeWriteWithError(error)
return
}
}
if ep.port == "80" || ep.port == "443" {
flow.closeReadWithError(nil)
flow.closeWriteWithError(nil)
return
}
...
}
That works pretty well all through Big Sur to Monterey Beta 6. But when I upgraded to Beta 8 with the same, the system suffers:
- Chrome has no network access anymore.
- System extension get stuck when first time removed (need a second time to be removed)
- Sometimes the whole macOS has no network access at all.
All these can be recovered by simply let QUIC traffics through or not capturing them. But we need to block such traffic in order that Chrome browser falls back to TCP mode.
Thanks in advance for any suggestion!
Regards Richard