*: use patched version of bgetnry/go-netrc

This commit is contained in:
Taylor Blau 2018-05-25 11:55:39 -07:00
parent 8bb4c6f912
commit 058368ccd0
14 changed files with 61 additions and 18 deletions

@ -4,7 +4,7 @@ import (
"os"
"path/filepath"
"github.com/bgentry/go-netrc/netrc"
"github.com/git-lfs/go-netrc/netrc"
)
type netrcfinder interface {

12
glide.lock generated

@ -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

@ -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

@ -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"
)

@ -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 {

@ -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) {

@ -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"

@ -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

@ -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
}

@ -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() {