row editing

This commit is contained in:
Mark Gregory
2026-10-21 10:39:23 +01:00
parent 2aaeff3774
commit 1d8e8702a8
+9 -3
View File
@@ -136,8 +136,14 @@ private func authResponse(password: String, salt: [UInt8], plugin: String) throw
return zip(first, last).map { $0 ^ $1 }
}
if plugin == "caching_sha2_password" {
let first = sha256(pwd), second = sha256(sha256(pwd))
let last = sha256(second + salt)
// MySQL caching_sha2_password authentication:
// XOR(SHA256(password),
// SHA256(SHA256(SHA256(password)) + challenge))
let first = sha256(pwd)
let second = sha256(first)
let third = sha256(second)
let last = sha256(third + salt)
return zip(first, last).map { $0 ^ $1 }
}
throw MySQLWireError(message: "Authentication plugin \(plugin) is not yet supported")
@@ -314,7 +320,7 @@ private final class MySQLSocketTransport {
guard SecTrustEvaluateWithError(trust, &trustError) else {
throw MySQLWireError(
message: "MySQL server verification failed: \(trustError?.localizedDescription ?? "untrusted server")"
message: "MySQL server verification failed (verifyTLS=\(verify)): \(trustError?.localizedDescription ?? "untrusted server")"
)
}
}