Repository navigation
macOS: stop truncating long values, verify every store - #26
Merged
Merged
Conversation
#25) the password-prompt path kept only the first 128 bytes and still reported success.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix #25
single-line values on macOS now go to
security -i, which reads the whole add command from stdin. the value still never touches argv, and the 128-byte prompt limit is gone.security -ihas its own 4096-byte command-line limit, so a longer single-line value takes the argv path, same as multiline values already do.every single-line store is now read back and compared. if the keychain did not keep the value intact, hush removes it and fails loudly, it never reports a cut value as stored.
tests: long values (129, 1000, 5000 bytes) and awkward characters round-trip in test/test.sh on every backend. against the old script the same tests fail at 128 bytes. the fake
securityin the sync suites learned-i, and the lastpass suite now asserts single-line stores arrive over stdin.known limit, unchanged: macOS returns a value holding control characters (a tab) as hex. the read-back now refuses those loudly instead of storing something that reads back wrong.
bumps to 1.6.1.