We are developing a tunnel based on transparent proxy system extension. We want to be able to decide whether to handle certain TCP flows based on FQDN.
So, is there a way to peek into TCPFlow data like we can in ContentFilter which will allow use to parse and check for SNI or Host-header?
As far as I understand, we can read data from flows until we have returned a decision from handleNewFlow.
is there a way to peek into TCPFlow data … ?
No. In a transparent proxy, once you return true from handleNewFlow(_:)
you are responsible for dealing with that flow completely. And handleNewFlow(_:)
is fundamentally synchronous; there’s no way to read data from the flow before responding.
If that’d be useful to you, feel free to file an enhancement request with the details. Be aware that this would be a significant change to the architecture, and so you’re unlikely to see a prompt resolution.
If you do file an ER, please post your bug number, just for the record.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"