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