Skip to content

Conversation

@brotskydotcom
Copy link
Contributor

@brotskydotcom brotskydotcom commented Aug 7, 2025

Fixes #229.

This was a slightly more extensive change than I had first thought it would be. For one thing, although the set- and get-password operations had been extended publicly to allow clients to specify PasswordOptions, the delete-password operation had not been, so I added that support.

More importantly, the cloud-sync option for passwords is not binary, it's a tristate with a don't care value. Thus I had to do an enormous amount of testing to understand how the don't-care value affected all three operations. I have reflected the results of my testing in the fairly extensive documentation for set_access_synchronized.

Finally, I had to add the kSecAttrSynchronizationAny tri-state value to the exports of security-framework-sys so that I could use it in set_access_synchronized.

Sadly, the cloud-sync option can only be used from an application that has a provisioning profile with the iCloud capability. Since command-line apps can't have provisioning profiles, I used my rust-on-ios test harness to do this testing, and haven't tried to add any Rust tests to the security framework.

@brotskydotcom
Copy link
Contributor Author

PR #234 has been merged into this one, so once #234 is merged into the security-framework-sys project then this PR will purely affect only the security-framework project.

@kornelski kornelski merged commit 558070b into kornelski:main Sep 2, 2025
1 of 6 checks passed
@brotskydotcom brotskydotcom deleted the issue-229 branch September 7, 2025 05:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhance PasswordOptions to allow adding iCloud sync controls

2 participants