diff options
author | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-09-26 11:26:52 +0200 |
---|---|---|
committer | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-09-26 11:26:52 +0200 |
commit | 18d82d07af9b8b40aff2cad0acb9f249f1dbf6ca (patch) | |
tree | db1f1dd8737bd9721e1c23556562974bb6fd4b9b /WireGuardNetworkExtension/PacketTunnelProvider.swift | |
parent | Fixe base 64 regex format. (diff) | |
download | wireguard-apple-18d82d07af9b8b40aff2cad0acb9f249f1dbf6ca.tar.xz wireguard-apple-18d82d07af9b8b40aff2cad0acb9f249f1dbf6ca.zip |
Use message to extension to obtain version info.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r-- | WireGuardNetworkExtension/PacketTunnelProvider.swift | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuardNetworkExtension/PacketTunnelProvider.swift index a6ef5c3..e0536b2 100644 --- a/WireGuardNetworkExtension/PacketTunnelProvider.swift +++ b/WireGuardNetworkExtension/PacketTunnelProvider.swift @@ -110,14 +110,15 @@ class PacketTunnelProvider: NEPacketTunnelProvider { /// Handle IPC messages from the app. override func handleAppMessage(_ messageData: Data, completionHandler: ((Data?) -> Void)?) { - guard let messageString = NSString(data: messageData, encoding: String.Encoding.utf8.rawValue) else { - completionHandler?(nil) - return - } + let responseData: Data? - os_log("Got a message from the app: %s", log: Log.general, type: .info, messageString) + switch ExtensionMessage(messageData) { + case ExtensionMessage.requestVersion: + responseData = (wgVersion().flatMap { String(cString: $0) } ?? "").data(using: .utf8) + default: + responseData = nil + } - let responseData = "Hello app".data(using: String.Encoding.utf8) completionHandler?(responseData) } |