From 058368ccd0fe11843fa20ea9314a4f6e45d16894 Mon Sep 17 00:00:00 2001 From: Taylor Blau Date: Fri, 25 May 2018 11:55:39 -0700 Subject: [PATCH] *: use patched version of bgetnry/go-netrc --- config/netrc.go | 2 +- glide.lock | 12 +++---- glide.yaml | 4 +-- lfsapi/auth.go | 2 +- lfsapi/netrc.go | 2 +- lfsapi/netrc_test.go | 2 +- test/test-credentials.sh | 35 ++++++++++++++++++- .../{bgentry => git-lfs}/go-netrc/.hgignore | 0 .../{bgentry => git-lfs}/go-netrc/LICENSE | 0 .../{bgentry => git-lfs}/go-netrc/README.md | 0 .../netrc/examples/bad_default_order.netrc | 0 .../go-netrc/netrc/examples/good.netrc | 8 ++++- .../go-netrc/netrc/netrc.go | 9 +++-- .../go-netrc/netrc/netrc_test.go | 3 +- 14 files changed, 61 insertions(+), 18 deletions(-) rename vendor/github.com/{bgentry => git-lfs}/go-netrc/.hgignore (100%) rename vendor/github.com/{bgentry => git-lfs}/go-netrc/LICENSE (100%) rename vendor/github.com/{bgentry => git-lfs}/go-netrc/README.md (100%) rename vendor/github.com/{bgentry => git-lfs}/go-netrc/netrc/examples/bad_default_order.netrc (100%) rename vendor/github.com/{bgentry => git-lfs}/go-netrc/netrc/examples/good.netrc (66%) rename vendor/github.com/{bgentry => git-lfs}/go-netrc/netrc/netrc.go (98%) rename vendor/github.com/{bgentry => git-lfs}/go-netrc/netrc/netrc_test.go (99%) diff --git a/config/netrc.go b/config/netrc.go index 27156459..004755cd 100644 --- a/config/netrc.go +++ b/config/netrc.go @@ -4,7 +4,7 @@ import ( "os" "path/filepath" - "github.com/bgentry/go-netrc/netrc" + "github.com/git-lfs/go-netrc/netrc" ) type netrcfinder interface { diff --git a/glide.lock b/glide.lock index a4cb1f48..7ceb2f1a 100644 --- a/glide.lock +++ b/glide.lock @@ -1,18 +1,18 @@ -hash: bad2138ca7787101a7a23af2464319cc580f4285e90c07d11eb9f90ad3bb9604 -updated: 2018-02-27T14:39:39.133796-08:00 +hash: 3603b2885070c06a5a5b066ffb9f82335dc11e9698c5b9e5c0e782ad58e79af6 +updated: 2018-05-25T12:41:49.056975-07:00 imports: - name: github.com/alexbrainman/sspi version: 4729b3d4d8581b2db83864d1018926e4154f9406 subpackages: - ntlm -- name: github.com/bgentry/go-netrc - version: 9fd32a8b3d3d3f9d43c341bfe098430e07609480 - subpackages: - - netrc - name: github.com/davecgh/go-spew version: 5215b55f46b2b919f50a1df0eaa5886afe4e3b3d subpackages: - spew +- name: github.com/git-lfs/go-netrc + version: 5affb93432dc700b6b318e739f9c7f09650df90b + subpackages: + - netrc - name: github.com/git-lfs/wildmatch version: 8a0518641565a619e62a2738c7d4498fc345daf6 - name: github.com/inconshreveable/mousetrap diff --git a/glide.yaml b/glide.yaml index eee8a77a..24c6cfa8 100644 --- a/glide.yaml +++ b/glide.yaml @@ -1,7 +1,7 @@ package: github.com/git-lfs/git-lfs import: -- package: github.com/bgentry/go-netrc - version: 9fd32a8b3d3d3f9d43c341bfe098430e07609480 +- package: github.com/git-lfs/go-netrc + version: 5affb93432dc700b6b318e739f9c7f09650df90b subpackages: - netrc - package: github.com/kr/pty diff --git a/lfsapi/auth.go b/lfsapi/auth.go index 837e217b..0070a2f6 100644 --- a/lfsapi/auth.go +++ b/lfsapi/auth.go @@ -9,8 +9,8 @@ import ( "os" "strings" - "github.com/bgentry/go-netrc/netrc" "github.com/git-lfs/git-lfs/errors" + "github.com/git-lfs/go-netrc/netrc" "github.com/rubyist/tracerx" ) diff --git a/lfsapi/netrc.go b/lfsapi/netrc.go index f40f641a..3d2c6555 100644 --- a/lfsapi/netrc.go +++ b/lfsapi/netrc.go @@ -4,8 +4,8 @@ import ( "os" "path/filepath" - "github.com/bgentry/go-netrc/netrc" "github.com/git-lfs/git-lfs/config" + "github.com/git-lfs/go-netrc/netrc" ) type NetrcFinder interface { diff --git a/lfsapi/netrc_test.go b/lfsapi/netrc_test.go index f07e7f01..88f495dc 100644 --- a/lfsapi/netrc_test.go +++ b/lfsapi/netrc_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/bgentry/go-netrc/netrc" + "github.com/git-lfs/go-netrc/netrc" ) func TestNetrcWithHostAndPort(t *testing.T) { diff --git a/test/test-credentials.sh b/test/test-credentials.sh index 3efbe6b5..845d484b 100755 --- a/test/test-credentials.sh +++ b/test/test-credentials.sh @@ -259,6 +259,39 @@ begin_test "credentials from netrc" ) end_test +begin_test "credentials from netrc with unknown keyword" +( + set -e + + printf "machine localhost\nlogin netrcuser\nnot-a-key something\npassword netrcpass\n" >> "$NETRCFILE" + echo $HOME + echo "GITSERVER $GITSERVER" + cat $NETRCFILE + + # prevent prompts on Windows particularly + export SSH_ASKPASS= + + reponame="netrctest" + setup_remote_repo "$reponame" + + clone_repo "$reponame" repo2 + + # Need a remote named "localhost" or 127.0.0.1 in netrc will interfere with the other auth + git remote add "netrc" "$(echo $GITSERVER | sed s/127.0.0.1/localhost/)/netrctest" + git lfs env + + git lfs track "*.dat" + echo "push a" > a.dat + git add .gitattributes a.dat + git commit -m "add a.dat" + + GIT_TRACE=1 git lfs push netrc master 2>&1 | tee push.log + grep "Uploading LFS objects: 100% (1/1), 7 B" push.log + echo "any git credential calls:" + [ "0" -eq "$(cat push.log | grep "git credential" | wc -l)" ] +) +end_test + begin_test "credentials from netrc with bad password" ( set -e @@ -274,7 +307,7 @@ begin_test "credentials from netrc with bad password" reponame="netrctest" setup_remote_repo "$reponame" - clone_repo "$reponame" repo2 + clone_repo "$reponame" repo3 # Need a remote named "localhost" or 127.0.0.1 in netrc will interfere with the other auth git remote add "netrc" "$(echo $GITSERVER | sed s/127.0.0.1/localhost/)/netrctest" diff --git a/vendor/github.com/bgentry/go-netrc/.hgignore b/vendor/github.com/git-lfs/go-netrc/.hgignore similarity index 100% rename from vendor/github.com/bgentry/go-netrc/.hgignore rename to vendor/github.com/git-lfs/go-netrc/.hgignore diff --git a/vendor/github.com/bgentry/go-netrc/LICENSE b/vendor/github.com/git-lfs/go-netrc/LICENSE similarity index 100% rename from vendor/github.com/bgentry/go-netrc/LICENSE rename to vendor/github.com/git-lfs/go-netrc/LICENSE diff --git a/vendor/github.com/bgentry/go-netrc/README.md b/vendor/github.com/git-lfs/go-netrc/README.md similarity index 100% rename from vendor/github.com/bgentry/go-netrc/README.md rename to vendor/github.com/git-lfs/go-netrc/README.md diff --git a/vendor/github.com/bgentry/go-netrc/netrc/examples/bad_default_order.netrc b/vendor/github.com/git-lfs/go-netrc/netrc/examples/bad_default_order.netrc similarity index 100% rename from vendor/github.com/bgentry/go-netrc/netrc/examples/bad_default_order.netrc rename to vendor/github.com/git-lfs/go-netrc/netrc/examples/bad_default_order.netrc diff --git a/vendor/github.com/bgentry/go-netrc/netrc/examples/good.netrc b/vendor/github.com/git-lfs/go-netrc/netrc/examples/good.netrc similarity index 66% rename from vendor/github.com/bgentry/go-netrc/netrc/examples/good.netrc rename to vendor/github.com/git-lfs/go-netrc/netrc/examples/good.netrc index 41a8e5ba..c0994d68 100644 --- a/vendor/github.com/bgentry/go-netrc/netrc/examples/good.netrc +++ b/vendor/github.com/git-lfs/go-netrc/netrc/examples/good.netrc @@ -1,7 +1,7 @@ # I am a comment machine mail.google.com login joe@gmail.com - account justagmail #end of line comment with trailing space + account justagmail #end of line comment with trailing space password somethingSecret # I am another comment @@ -16,6 +16,12 @@ machine ray login demo password mypassword machine weirdlogin login uname password pass#pass +machine google.com + login alice@google.com + not-a-keyword + password secure + also-not-a-keyword + default login anonymous password joe@example.com diff --git a/vendor/github.com/bgentry/go-netrc/netrc/netrc.go b/vendor/github.com/git-lfs/go-netrc/netrc/netrc.go similarity index 98% rename from vendor/github.com/bgentry/go-netrc/netrc/netrc.go rename to vendor/github.com/git-lfs/go-netrc/netrc/netrc.go index ea49987c..4c9f8681 100644 --- a/vendor/github.com/bgentry/go-netrc/netrc/netrc.go +++ b/vendor/github.com/git-lfs/go-netrc/netrc/netrc.go @@ -24,6 +24,7 @@ const ( tkMacdef tkComment tkWhitespace + tkUnknown ) var keywords = map[string]tkType{ @@ -70,7 +71,7 @@ func (n *Netrc) MarshalText() (text []byte, err error) { // TODO(bgentry): not safe for concurrency for i := range n.tokens { switch n.tokens[i].kind { - case tkComment, tkDefault, tkWhitespace: // always append these types + case tkComment, tkDefault, tkWhitespace, tkUnknown: // always append these types text = append(text, n.tokens[i].rawkind...) default: if n.tokens[i].value != "" { // skip empty-value tokens @@ -391,9 +392,11 @@ func parse(r io.Reader, pos int) (*Netrc, error) { t, err = newToken(rawb) if err != nil { if currentMacro == nil { - return nil, &Error{pos, err.Error()} + t.kind = tkUnknown + nrc.tokens = append(nrc.tokens, t) + } else { + currentMacro.rawvalue = append(currentMacro.rawvalue, rawb...) } - currentMacro.rawvalue = append(currentMacro.rawvalue, rawb...) continue } diff --git a/vendor/github.com/bgentry/go-netrc/netrc/netrc_test.go b/vendor/github.com/git-lfs/go-netrc/netrc/netrc_test.go similarity index 99% rename from vendor/github.com/bgentry/go-netrc/netrc/netrc_test.go rename to vendor/github.com/git-lfs/go-netrc/netrc/netrc_test.go index 70ceacf6..d8437bf2 100644 --- a/vendor/github.com/bgentry/go-netrc/netrc/netrc_test.go +++ b/vendor/github.com/git-lfs/go-netrc/netrc/netrc_test.go @@ -18,6 +18,7 @@ var expectedMachines = []*Machine{ &Machine{Name: "mail.google.com", Login: "joe@gmail.com", Password: "somethingSecret", Account: "justagmail"}, &Machine{Name: "ray", Login: "demo", Password: "mypassword", Account: ""}, &Machine{Name: "weirdlogin", Login: "uname", Password: "pass#pass", Account: ""}, + &Machine{Name: "google.com", Login: "alice@google.com", Password: "secure"}, &Machine{Name: "", Login: "anonymous", Password: "joe@example.com", Account: ""}, } var expectedMacros = Macros{ @@ -146,7 +147,7 @@ func TestFindMachine(t *testing.T) { if err != nil { t.Fatal(err) } - if !eqMachine(m, expectedMachines[3]) { + if !eqMachine(m, expectedMachines[4]) { t.Errorf("bad machine; expected %v, got %v\n", expectedMachines[3], m) } if !m.IsDefault() {