Conversation
git-credential store treats only LF as an EOL character, but reads the CR in a CR terminated line as part of the entry. Since the entries are URLs, CR can never be a valid character in an entry. [1] While we don't encourage users to manually edit the credential file, the format is simple enough and documented well enough that users do sometimes do that. Most editors on Windows produce CRLF as EOL characters. Users currently need to be careful when manually editing the credential file on Windows to not add stray CR characters into the file. We have tests around when we consider entries with CRLF valid and not valid, but they only seem to test the known quirks of the existing implementation, not some expectations founded in some systemic design decisions. Since the entries can never validly contain a CR character we should just treat CRLF as an EOL character. Start treating it that way and adjust the old tests. [1] https://www.rfc-editor.org/info/rfc1738/#section-2.2 Signed-off-by: Matthias Aßhauer <mha1993@live.de>
1 task
This branch has not been deployed
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.
git-credential store treats only LF as an EOL character, but reads the CR in a CR terminated line as part of the entry. Since the entries are URLs, CR can never be a valid character in an entry.
While we don't encourage users to manually edit the credential file, the format is simple enough and documented well enough that users do sometimes do that. Most editors on Windows produce CRLF as EOL characters. Users currently need to be careful when manually editing the credential file on Windows to not add stray CR characters into the file.
We have tests around when we consider entries with CRLF valid and not valid, but they only seem to test the known quirks of the existing implementation, not some expectations founded in some systemic design decisions.
Since the entries can never validly contain a CR character we should just treat CRLF as an EOL character. Start treating it that way and adjust the old tests.