From: "Nikita Leonov via GitGitGadget" <gitgitgadget@gmail.com> To: git@vger.kernel.org Cc: Johannes Schindelin <johannes.schindelin@gmx.de>, Nikita Leonov <nykyta.leonov@gmail.com> Subject: [PATCH v2 2/3] credentials: make line reading Windows compatible Date: Mon, 28 Sep 2020 11:40:23 +0000 [thread overview] Message-ID: <f69076036fe4dfe8b57fc1d4329c7be3f7346850.1601293224.git.gitgitgadget@gmail.com> (raw) In-Reply-To: <pull.710.v2.git.git.1601293224.gitgitgadget@gmail.com> From: Nikita Leonov <nykyta.leonov@gmail.com> This commit makes reading process regarding credentials compatible with 'CR/LF' line ending. It makes using git more convenient on systems like Windows. Signed-off-by: Nikita Leonov <nykyta.leonov@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- builtin/credential-cache--daemon.c | 4 ++-- builtin/credential-store.c | 2 +- t/t0302-credential-store.sh | 16 ++++++---------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/builtin/credential-cache--daemon.c b/builtin/credential-cache--daemon.c index c61f123a3b..17664bb0d5 100644 --- a/builtin/credential-cache--daemon.c +++ b/builtin/credential-cache--daemon.c @@ -99,12 +99,12 @@ static int read_request(FILE *fh, struct credential *c, static struct strbuf item = STRBUF_INIT; const char *p; - strbuf_getline_lf(&item, fh); + strbuf_getline(&item, fh); if (!skip_prefix(item.buf, "action=", &p)) return error("client sent bogus action line: %s", item.buf); strbuf_addstr(action, p); - strbuf_getline_lf(&item, fh); + strbuf_getline(&item, fh); if (!skip_prefix(item.buf, "timeout=", &p)) return error("client sent bogus timeout line: %s", item.buf); *timeout = atoi(p); diff --git a/builtin/credential-store.c b/builtin/credential-store.c index 5331ab151a..d4e90b68df 100644 --- a/builtin/credential-store.c +++ b/builtin/credential-store.c @@ -23,7 +23,7 @@ static int parse_credential_file(const char *fn, return found_credential; } - while (strbuf_getline_lf(&line, fh) != EOF) { + while (strbuf_getline(&line, fh) != EOF) { if (!credential_from_url_gently(&entry, line.buf, 1) && entry.username && entry.password && credential_match(c, &entry)) { diff --git a/t/t0302-credential-store.sh b/t/t0302-credential-store.sh index 716bf1af9f..f2c672e4b6 100755 --- a/t/t0302-credential-store.sh +++ b/t/t0302-credential-store.sh @@ -142,7 +142,7 @@ invalid_credential_test "scheme" ://user:pass@example.com invalid_credential_test "valid host/path" https://user:pass@ invalid_credential_test "username/password" https://pass@example.com -test_expect_success 'get: credentials with DOS line endings are invalid' ' +test_expect_success 'get: credentials with DOS line endings are valid' ' printf "https://user:pass@example.com\r\n" >"$HOME/.git-credentials" && check fill store <<-\EOF protocol=https @@ -150,11 +150,9 @@ test_expect_success 'get: credentials with DOS line endings are invalid' ' -- protocol=https host=example.com - username=askpass-username - password=askpass-password + username=user + password=pass -- - askpass: Username for '\''https://example.com'\'': - askpass: Password for '\''https://askpass-username@example.com'\'': -- EOF ' @@ -172,7 +170,7 @@ test_expect_success 'get: credentials with path and DOS line endings are valid' EOF ' -test_expect_success 'get: credentials with DOS line endings are invalid if path is relevant' ' +test_expect_success 'get: credentials with DOS line endings are valid if path is relevant' ' printf "https://user:pass@example.com/repo.git\r\n" >"$HOME/.git-credentials" && test_config credential.useHttpPath true && check fill store <<-\EOF @@ -181,11 +179,9 @@ test_expect_success 'get: credentials with DOS line endings are invalid if path protocol=https host=example.com path=repo.git - username=askpass-username - password=askpass-password + username=user + password=pass -- - askpass: Username for '\''https://example.com/repo.git'\'': - askpass: Password for '\''https://askpass-username@example.com/repo.git'\'': -- EOF ' -- gitgitgadget
next prev parent reply other threads:[~2020-09-28 11:40 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-14 13:49 [PATCH] credential.c: fix credential reading with regards to CR/LF Johannes Schindelin via GitGitGadget 2020-02-14 17:55 ` Junio C Hamano 2020-02-14 18:32 ` Jeff King 2020-09-28 11:40 ` [PATCH v2 0/3] Prepare git credential to read input with DOS line endings Johannes Schindelin via GitGitGadget 2020-09-28 11:40 ` [PATCH v2 1/3] credential.c: fix credential reading with regards to CR/LF Nikita Leonov via GitGitGadget 2020-09-29 0:42 ` Jeff King 2020-10-02 11:37 ` Johannes Schindelin 2020-10-02 12:01 ` Jeff King 2020-10-02 12:27 ` Johannes Schindelin 2020-10-02 16:32 ` Junio C Hamano 2020-10-03 13:28 ` Johannes Schindelin 2020-09-28 11:40 ` Nikita Leonov via GitGitGadget [this message] 2020-09-28 20:58 ` [PATCH v2 2/3] credentials: make line reading Windows compatible Junio C Hamano 2020-09-29 0:35 ` Jeff King 2020-09-30 22:33 ` Junio C Hamano 2020-10-02 7:53 ` Johannes Schindelin 2020-09-28 23:26 ` Carlo Arenas 2020-09-28 23:41 ` Junio C Hamano 2020-09-29 0:30 ` Jeff King 2020-09-29 0:41 ` Junio C Hamano 2020-09-29 0:44 ` Jeff King 2020-09-29 0:54 ` Junio C Hamano 2020-09-29 3:00 ` Jeff King 2020-09-30 22:25 ` Junio C Hamano 2020-09-30 22:39 ` Jeff King 2020-09-30 22:56 ` Junio C Hamano 2020-10-01 13:54 ` Jeff King 2020-10-01 15:42 ` Junio C Hamano 2020-10-02 8:07 ` Johannes Schindelin 2020-09-28 11:40 ` [PATCH v2 3/3] docs: make notes regarding credential line reading Nikita Leonov via GitGitGadget 2020-09-28 20:31 ` [PATCH v2 0/3] Prepare git credential to read input with DOS line endings Junio C Hamano 2020-10-03 13:29 ` [PATCH v3] credential: treat CR/LF as line endings in the credential protocol Johannes Schindelin via GitGitGadget
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=f69076036fe4dfe8b57fc1d4329c7be3f7346850.1601293224.git.gitgitgadget@gmail.com \ --to=gitgitgadget@gmail.com \ --cc=git@vger.kernel.org \ --cc=johannes.schindelin@gmx.de \ --cc=nykyta.leonov@gmail.com \ --subject='Re: [PATCH v2 2/3] credentials: make line reading Windows compatible' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).