aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/Shared/Model/InterfaceConfiguration.swift
blob: 9094d149b90f92be6020c9efe4f37ff21a7f1bc4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// SPDX-License-Identifier: MIT
// Copyright © 2018 WireGuard LLC. All Rights Reserved.

import Foundation

struct InterfaceConfiguration {
    var name: String?
    var privateKey: Data
    var addresses = [IPAddressRange]()
    var listenPort: UInt16?
    var mtu: UInt16?
    var dns = [DNSServer]()
    
    init(name: String?, privateKey: Data) {
        self.name = name
        self.privateKey = privateKey
        if privateKey.count != TunnelConfiguration.keyLength {
            fatalError("Invalid private key")
        }
    }
}