iOS: Update to recent changes

This commit is contained in:
Jonathan Schleifer 2020-01-03 01:19:45 +01:00
parent d3f7b49a5c
commit 7fa276aae6
No known key found for this signature in database
GPG key ID: 79D21189A2D4708D

View file

@ -151,8 +151,13 @@ class ShowDetailsController: UITableViewController, UITextFieldDelegate {
} }
let passphraseText = (passphraseField?.text ?? "") as NSString let passphraseText = (passphraseField?.text ?? "") as NSString
let passphrase = of_strdup(passphraseText.utf8String!)! let passphraseLen =
generator.passphrase = UnsafePointer<CChar>(passphrase) passphraseText.lengthOfBytes(using: String.Encoding.utf8.rawValue)
let passphrase = OFSecureData(count: passphraseLen,
allowsSwappableMemory: false)
memcpy(passphrase.mutableItems, passphraseText.utf8String!,
passphraseLen)
generator.passphrase = passphrase
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil) let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let activityController = mainStoryboard.instantiateViewController( let activityController = mainStoryboard.instantiateViewController(
@ -160,22 +165,12 @@ class ShowDetailsController: UITableViewController, UITextFieldDelegate {
navigationController?.view.addSubview(activityController.view) navigationController?.view.addSubview(activityController.view)
DispatchQueue.global(qos: .default).async { DispatchQueue.global(qos: .default).async {
OFException.try({
generator.derivePassword() generator.derivePassword()
}, finally: {
if let keyFile = generator.keyFile as? OFMutableData {
of_explicit_memset(keyFile.mutableItems, 0, keyFile.count)
} }
of_explicit_memset(passphrase, 0, strlen(passphrase)) let password = NSMutableString(bytes: generator.output.items,
free(passphrase)
})
}
let password = NSMutableString(bytes: generator.output,
length: generator.length, length: generator.length,
encoding: String.Encoding.utf8.rawValue)! encoding: String.Encoding.utf8.rawValue)!
of_explicit_memset(generator.output, 0, generator.length)
DispatchQueue.main.sync { DispatchQueue.main.sync {
activityController.view.isHidden = true activityController.view.isHidden = true