row editing
This commit is contained in:
@@ -205,11 +205,13 @@ final class MySQLWireConnection {
|
||||
private let maxPacket = 16_777_215
|
||||
private let serverHost: String
|
||||
private let requireTLS: Bool
|
||||
private let verifyTLS: Bool
|
||||
private var tlsActive = false
|
||||
|
||||
init(host: String, port: Int, requireTLS: Bool = false) throws {
|
||||
init(host: String, port: Int, requireTLS: Bool = false, verifyTLS: Bool = true) throws {
|
||||
self.serverHost = host
|
||||
self.requireTLS = requireTLS
|
||||
self.verifyTLS = verifyTLS
|
||||
guard (1...65535).contains(port) else { throw MySQLWireError(message: "Invalid port") }
|
||||
var read: Unmanaged<CFReadStream>?
|
||||
var write: Unmanaged<CFWriteStream>?
|
||||
@@ -271,8 +273,8 @@ final class MySQLWireConnection {
|
||||
private func upgradeToTLS() throws {
|
||||
let settings: [String: Any] = [
|
||||
kCFStreamSSLLevel as String: kCFStreamSocketSecurityLevelNegotiatedSSL,
|
||||
kCFStreamSSLValidatesCertificateChain as String: true,
|
||||
kCFStreamSSLPeerName as String: serverHost
|
||||
kCFStreamSSLValidatesCertificateChain as String: verifyTLS,
|
||||
kCFStreamSSLPeerName as String: verifyTLS ? serverHost : kCFNull as Any
|
||||
]
|
||||
let key = Stream.PropertyKey(rawValue: kCFStreamPropertySSLSettings as String)
|
||||
guard input.setProperty(settings, forKey: key),
|
||||
@@ -509,8 +511,9 @@ private final class PersistentMySQLSessions {
|
||||
let endpoint = try DBSynSSHTunnels.shared.endpoint(for: profile)
|
||||
let connection = try MySQLWireConnection(
|
||||
host: endpoint.0, port: endpoint.1,
|
||||
requireTLS: !profile.useSSHTunnel && profile.useTLS &&
|
||||
!["127.0.0.1", "localhost", "::1"].contains(endpoint.0.lowercased())
|
||||
requireTLS: !profile.useSSHTunnel &&
|
||||
!["127.0.0.1", "localhost", "::1"].contains(endpoint.0.lowercased()),
|
||||
verifyTLS: profile.verifyTLS
|
||||
)
|
||||
connection.markHost(endpoint.0)
|
||||
try connection.authenticate(user: profile.username,
|
||||
|
||||
Reference in New Issue
Block a user