Closed atanasdb closed 6 years ago
Skimmed through it, but I can't say I have reviewed all the low level stuff thoroughly. Is there anything I can skip over?
What will change for the developer using the library?
You could skip those: _WriteMemoryCallback sockoptcallback MemoryStruct opensocket These are widely used libcurl constructs, that are in most of their examples.
isInterfaceEnabled -> Just trust that it works :) I mean that en0 is Wifi, and pdp_ip0 is cellular.
This will only affect WebView users of the SDK that have both wifi and cellular turned on. In this case the wellknown endpoint will be fetched (to get the "whitelisted" network_authentication_target_urls) and an interception filter will be registered in the webview. Requests to network_authentication_target_urls will be performed with libcurl. Before the actual requests to those urls, we use the libcurl feature to pre-select the request's socket's interface ( so we can forward those requests through the cellular interface).
Should not affect users that are not in the previous set of conditions.
Ok, I removed the instructions as they might be confusing.
Add the possibility to execute request towards specific URLs found from the .well-known configuration API using the cellular network interface, thus achieving successful HE even when both WiFi and cellular are on.
See design doc at https://confluence.skunk-works.no/confluence/x/30BRAg.