Review some Core/OpenVPN entities
- Drop redundant Equatable (automatic in structs) - Make IPv4/6 routes Hashable - Expose StaticKey as hex String - Mask PAC URL
This commit is contained in:
parent
3741a17c20
commit
3807b4754b
|
@ -35,10 +35,4 @@ public struct DataCount: Equatable {
|
|||
self.received = received
|
||||
self.sent = sent
|
||||
}
|
||||
|
||||
// MARK: Equatable
|
||||
|
||||
public static func ==(lhs: DataCount, rhs: DataCount) -> Bool {
|
||||
return lhs.up == rhs.up && lhs.down == rhs.down
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,12 +37,6 @@ public struct Endpoint: Codable, Equatable, CustomStringConvertible {
|
|||
self.proto = proto
|
||||
}
|
||||
|
||||
// MARK: Equatable
|
||||
|
||||
public static func ==(lhs: Endpoint, rhs: Endpoint) -> Bool {
|
||||
return lhs.address == rhs.address && lhs.proto == rhs.proto
|
||||
}
|
||||
|
||||
// MARK: CustomStringConvertible
|
||||
|
||||
public var description: String {
|
||||
|
@ -85,12 +79,6 @@ public struct EndpointProtocol: RawRepresentable, Equatable, CustomStringConvert
|
|||
return "\(socketType.rawValue):\(port)"
|
||||
}
|
||||
|
||||
// MARK: Equatable
|
||||
|
||||
public static func ==(lhs: EndpointProtocol, rhs: EndpointProtocol) -> Bool {
|
||||
return (lhs.socketType == rhs.socketType) && (lhs.port == rhs.port)
|
||||
}
|
||||
|
||||
// MARK: CustomStringConvertible
|
||||
|
||||
public var description: String {
|
||||
|
|
|
@ -29,7 +29,7 @@ import Foundation
|
|||
public struct IPv4Settings: Codable, CustomStringConvertible {
|
||||
|
||||
/// Represents an IPv4 route in the routing table.
|
||||
public struct Route: Codable, CustomStringConvertible {
|
||||
public struct Route: Codable, Hashable, CustomStringConvertible {
|
||||
|
||||
/// The destination host or subnet.
|
||||
public let destination: String
|
||||
|
@ -46,6 +46,14 @@ public struct IPv4Settings: Codable, CustomStringConvertible {
|
|||
self.gateway = gateway
|
||||
}
|
||||
|
||||
// MARK: Hashable
|
||||
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(destination)
|
||||
hasher.combine(mask)
|
||||
hasher.combine(gateway)
|
||||
}
|
||||
|
||||
// MARK: CustomStringConvertible
|
||||
|
||||
public var description: String {
|
||||
|
|
|
@ -29,7 +29,7 @@ import Foundation
|
|||
public struct IPv6Settings: Codable, CustomStringConvertible {
|
||||
|
||||
/// Represents an IPv6 route in the routing table.
|
||||
public struct Route: Codable, CustomStringConvertible {
|
||||
public struct Route: Codable, Hashable, CustomStringConvertible {
|
||||
|
||||
/// The destination host or subnet.
|
||||
public let destination: String
|
||||
|
@ -46,6 +46,14 @@ public struct IPv6Settings: Codable, CustomStringConvertible {
|
|||
self.gateway = gateway
|
||||
}
|
||||
|
||||
// MARK: Hashable
|
||||
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(destination)
|
||||
hasher.combine(prefixLength)
|
||||
hasher.combine(gateway)
|
||||
}
|
||||
|
||||
// MARK: CustomStringConvertible
|
||||
|
||||
public var description: String {
|
||||
|
|
|
@ -751,7 +751,7 @@ extension OpenVPNTunnelProvider: OpenVPNSessionDelegate {
|
|||
}
|
||||
proxySettings?.proxyAutoConfigurationURL = pacURL
|
||||
proxySettings?.autoProxyConfigurationEnabled = true
|
||||
log.info("Routing: Setting PAC \(pacURL)")
|
||||
log.info("Routing: Setting PAC \(pacURL.maskedDescription)")
|
||||
}
|
||||
|
||||
// only set if there is a proxy (proxySettings set to non-nil above)
|
||||
|
|
|
@ -56,12 +56,6 @@ extension OpenVPN {
|
|||
self.username = username
|
||||
self.password = password
|
||||
}
|
||||
|
||||
// MARK: Equatable
|
||||
|
||||
public static func ==(lhs: Credentials, rhs: Credentials) -> Bool {
|
||||
return (lhs.username == rhs.username) && (lhs.password == rhs.password)
|
||||
}
|
||||
}
|
||||
|
||||
/// Encryption algorithm.
|
||||
|
|
|
@ -72,12 +72,6 @@ extension OpenVPN {
|
|||
return CryptoContainer(pem: decryptedPEM)
|
||||
}
|
||||
|
||||
// MARK: Equatable
|
||||
|
||||
public static func ==(lhs: CryptoContainer, rhs: CryptoContainer) -> Bool {
|
||||
return lhs.pem == rhs.pem
|
||||
}
|
||||
|
||||
// MARK: Codable
|
||||
|
||||
public init(from decoder: Decoder) throws {
|
||||
|
|
|
@ -227,5 +227,9 @@ extension OpenVPN {
|
|||
try container.encode(secureData.toData(), forKey: .data)
|
||||
try container.encodeIfPresent(direction, forKey: .dir)
|
||||
}
|
||||
|
||||
public var hexString: String {
|
||||
return secureData.toHex()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue