macOS: remove mobile network tweeks
This commit is contained in:
parent
b3d9d582bf
commit
d3db8519b0
|
@ -107,6 +107,7 @@ class DNSResolver {
|
|||
|
||||
extension Endpoint {
|
||||
func withReresolvedIP() -> Endpoint {
|
||||
#if os(iOS)
|
||||
var ret = self
|
||||
let hostname: String
|
||||
switch host {
|
||||
|
@ -148,5 +149,10 @@ extension Endpoint {
|
|||
wg_log(.debug, message: "DNS64: mapped \(host) to itself.")
|
||||
}
|
||||
return ret
|
||||
#elseif os(macOS)
|
||||
return self
|
||||
#else
|
||||
#error("Unimplemented")
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,9 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
|
|||
}
|
||||
|
||||
configureLogger()
|
||||
#if os(macOS)
|
||||
wgEnableRoaming(true)
|
||||
#endif
|
||||
|
||||
wg_log(.info, message: "Starting tunnel from the " + (activationAttemptId == nil ? "OS directly, rather than the app" : "app"))
|
||||
|
||||
|
@ -114,9 +117,13 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
|
|||
}
|
||||
|
||||
private func pathUpdate(path: Network.NWPath) {
|
||||
guard let handle = handle, let packetTunnelSettingsGenerator = packetTunnelSettingsGenerator else { return }
|
||||
guard let handle = handle else { return }
|
||||
wg_log(.debug, message: "Network change detected with \(path.status) route and interface order \(path.availableInterfaces)")
|
||||
_ = packetTunnelSettingsGenerator.endpointUapiConfiguration().withGoString { return wgSetConfig(handle, $0) }
|
||||
#if os(iOS)
|
||||
if let packetTunnelSettingsGenerator = packetTunnelSettingsGenerator {
|
||||
_ = packetTunnelSettingsGenerator.endpointUapiConfiguration().withGoString { return wgSetConfig(handle, $0) }
|
||||
}
|
||||
#endif
|
||||
var interfaces = path.availableInterfaces
|
||||
if let ifname = ifname {
|
||||
interfaces = interfaces.filter { $0.name != ifname }
|
||||
|
|
|
@ -68,6 +68,11 @@ func init() {
|
|||
}()
|
||||
}
|
||||
|
||||
//export wgEnableRoaming
|
||||
func wgEnableRoaming(enabled bool) {
|
||||
roamingDisabled = !enabled
|
||||
}
|
||||
|
||||
//export wgSetLogger
|
||||
func wgSetLogger(loggerFn uintptr) {
|
||||
loggerFunc = unsafe.Pointer(loggerFn)
|
||||
|
|
|
@ -8,9 +8,11 @@
|
|||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef struct { const char *p; size_t n; } gostring_t;
|
||||
typedef void(*logger_fn_t)(int level, const char *msg);
|
||||
extern void wgEnableRoaming(bool enabled);
|
||||
extern void wgSetLogger(logger_fn_t logger_fn);
|
||||
extern int wgTurnOn(gostring_t settings, int32_t tun_fd);
|
||||
extern void wgTurnOff(int handle);
|
||||
|
|
Loading…
Reference in New Issue