I have a NEFilterDataProvider subclass with the handleNewFlow: method overridden.
The custom method just does this:
[self resumeFlow:theFlow withVerdict:[NEFilterNewFlowVerdict allowVerdict]];
So far what I'm observing is that this does not work as expected:
Yet, it looks like the flow is not resumed.
Questions:
Is the pauseVerdict + resumeFlow:withVerdict: mechanism reliable?
What could be checked since step-by-step-debugging shows that the expected steps are performed to resume the flows?
The custom method just does this:
Check if we're dealing with AFINET or AFINET6.
gather some data using the audit token and proc_pidpath
send a XPC to another process with a completionHandler.
pause the flow by returning [NEFilterNewFlowVerdict pauseVerdict]
[self resumeFlow:theFlow withVerdict:[NEFilterNewFlowVerdict allowVerdict]];
So far what I'm observing is that this does not work as expected:
the network connections work for a while.
then web pages are no more displayed in Safari.
based on some logs, it looks like that the DNS requests do not complete.
Yet, it looks like the flow is not resumed.
Questions:
Is the pauseVerdict + resumeFlow:withVerdict: mechanism reliable?
What could be checked since step-by-step-debugging shows that the expected steps are performed to resume the flows?