aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuardNetworkExtension/PacketTunnelProvider.swift
diff options
context:
space:
mode:
authorJeroen Leenarts <jeroen.leenarts@gmail.com>2018-09-26 11:26:52 +0200
committerJeroen Leenarts <jeroen.leenarts@gmail.com>2018-09-26 11:26:52 +0200
commit18d82d07af9b8b40aff2cad0acb9f249f1dbf6ca (patch)
treedb1f1dd8737bd9721e1c23556562974bb6fd4b9b /WireGuardNetworkExtension/PacketTunnelProvider.swift
parentFixe base 64 regex format. (diff)
downloadwireguard-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.swift13
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)
}