Tunnel: support getting runtime configuration

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld
2019-01-24 00:00:46 +01:00
parent ab3cbee6a2
commit 22625e8cc4
9 changed files with 278 additions and 0 deletions
@@ -17,6 +17,9 @@ struct PeerConfiguration {
var allowedIPs = [IPAddressRange]()
var endpoint: Endpoint?
var persistentKeepAlive: UInt16?
var rxBytes: UInt64?
var txBytes: UInt64?
var lastHandshakeTime: Date?
init(publicKey: Data) {
self.publicKey = publicKey
@@ -28,6 +28,8 @@ extension TunnelConfiguration {
case peerHasInvalidAllowedIP(String)
case peerHasInvalidEndpoint(String)
case peerHasInvalidPersistentKeepAlive(String)
case peerHasInvalidTransferBytes(String)
case peerHasInvalidLastHandshakeTime(String)
case peerHasUnrecognizedKey(String)
case multiplePeersWithSamePublicKey
case multipleEntriesForKey(String)