- This object was being kept around after being created and as we need it in some other functions it made sense to make it lazy and keep it around that way.
- Arguably the FIDO2 instance could be removed after each time it’s been used, but as the FIDO2 class doesn’t have any state stored in it, it seems benign keeping it about for now.
- Use from https://github.com/abiligiri/swift-srp, version 1.1.0
This is based on latest from upstream with changes required
- Remove local copy of swift-srp
- Switch to use https://github.com/adam-fowler/swift-srp with some modifications
that are local
- Pad g value to equal size of N while calculating clientProof
- Use SHA256(plain-text-password) while computing key using PBKDF2
- Added a unit test with some sample values
- Introduced a new preference keys allowedMajorVersions, hideSupportXcodes
- allowedMajorVersions defaults to Int.max (ie allow all versions till date)
- allowedMajorVersions is used to limit the number of major versions to as many as
value set for this key. Eg: A value of 1 would allow the latest GA version and one major version before
A value of 0 would allow only the latest GA version
A value of 2 would allow the latest GA and previous two major versions
- allowedMajorVersions does not have preference UI
$ defaults write com.xcodesorg.xcodesapp allowedMajorVersions 2 #to limit to current GA and previous major
$ defaults delete com.xcodesorg.xcodesapp allowedMajorVersions #to remove limits
- Display buildNumber in bottom status bar
- Define enumerations for preferences that can be managed in an enterprise environment using MDM
- Add methods in AppState to check for managed preferences
- Update Advanced, Download, Experiments and Update preference panes to disable controls
to modify any of the managed preferences
- Update Xcode category list button to be disabled if preference is managed