wireguard-apple/Sources/Shared
Jason A. Donenfeld 03a59ff38e Model: migrate iOS 14 keychain references to iOS 15 format
Keychain references used to be bijective, but with the change in format,
Apple tried to be too clever, and references are no longer bijective.
This lead to us deleting keychain entries, which in turn emptied out
people's configs upon upgrading to iOS 15. Disaster!

Fix this by detecting the change in format and saving the new password
reference. We still rely on this being bijective moving forward;
hopefully this bug won't repeat itself. It would be nice to not rely on
that property, but doing so without grinding startup to a halt isn't
obviously done, given how slow the keychain accesses are and how limited
the API is.

Reported-by: Eddie <stunnel@attglobal.net>
Reported-by: Anatoli <me@anatoli.ws>
Reported-by: Alan Graham <alan@meshify.app>
Reported-by: Jacob Wilder <oss@jacobwilder.org>
Reported-by: Miguel Arroz <miguel.arroz@gmail.com>
Reported-by: Reid Rankin <reidrankin@gmail.com>
Reported-by: Fabien <patate.cosmique@pm.me>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-09-23 06:11:19 +02:00
..
Logging Global: bump copyright year 2021-06-17 16:56:46 +02:00
Model Model: migrate iOS 14 keychain references to iOS 15 format 2021-09-23 06:11:19 +02:00
FileManager+Extension.swift WireGuardApp: use file to communicate launch-by-login-helper 2021-09-22 19:22:44 +02:00
Keychain.swift Keychain: remove class constraint when copying 2021-09-22 16:51:25 +02:00
NotificationToken.swift Global: bump copyright year 2021-06-17 16:56:46 +02:00