| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
* adjust path extracted from file: url on Windows
Fixes #415
|
|
|
|
|
|
|
|
|
|
|
|
| |
skeema/knownhosts v1.3.0 introduced a HostKeyDB type that extends the HostKeyCallback functionality
to support @cert-authority algorithms.
`known_hosts` files may contain lines with @cert-authority markers to indicate that a line corresponds
to a certificate instead of a key. If a git remote uses cert authorities as the preferred host
identification mechanism, the functionality added in skeema/knownhosts v1.3.0 is needed so that go-git
can interact with this remote.
See https://github.com/skeema/knownhosts/pull/9 for details.
|
|
|
|
| |
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
| |
|
|\
| |
| | |
Replace short field names with more descriptive ones.
|
| |
| |
| |
| |
| | |
The decision to change the name of these fields came from reading the code
further down in the scope and not being clear what `c.c` means.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
When running the tests in an install in which git daemon is not installed
(e.g. openSUSE), all the git transport tests will fail with a connection
refused error. This was due the git server not being running in the first
place. The tests will now fail with 'git daemon cannot be found'.
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
|
|
|
|
|
|
|
|
|
| |
If we have all what we asked for, finish the session and handle error.
This is equivalent of git "Already up to date." message.
Fixes: https://github.com/go-git/go-git/issues/328
Fixes: https://github.com/go-git/go-git/issues/638
Fixes: https://github.com/go-git/go-git/issues/157
|
|
|
|
| |
ioutil.Pipe literally calls io.Pipe.
|
| |
|
|
|
|
|
|
| |
unreachable proxy server is set. Fixes #900
Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of simply returning the first line that the remote returned,
go-git now actively searches all of stderr for lines that may contain
a more actionable error message and returns that.
In addition, this change adds a case to map the GitLab-specific error
message to an ErrRepositoryNotFound error.
Signed-off-by: Max Jonas Werner <mail@makk.es>
|
|
|
|
| |
Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>
|
|
|
|
| |
Signed-off-by: Zhizhen He <hezhizhen.yi@gmail.com>
|
|
|
|
|
|
| |
For diagnostics reasons we want to surface error messages coming from VCS providers.
That's why we introduce the reason field to Err struct in http package.
This field can be used by an end user of the library in order to better understand failures.
|
| |
|
|
|
|
| |
Signed-off-by: Arieh Schneier <15041913+AriehSchneier@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Git v2.41.0 comes with [changes](https://github.com/git/git/commit/933e3a4ee205353d8f093d5dfcd226fa432c4e58)
that breaks go-git's assumptions for when detecting empty repositories.
Go-git expects a flush instead of the first hash line. Instead, a dummy capabilities^{}
with zero-id is returned. The change aims to allow for identifying
the object format even when cloning empty
repositories.
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
|
|
|
| |
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
|
|
|
| |
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for custom HTTP and HTTPS proxies for each session.
The tests require server certificate and a matching private key to be
able to run a TLS server and test HTTPS proxy functionality. The cert
and the key are stored in `plumbing/transport/http/testdata/certs` and
were generated using the following command:
`openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt`
Note: All details were left empty, except for the FQDN for which
example.com was used.
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
objects
Refactor the in-built http transport to cache the underlying http
transport objects mapped to its specific options for each Git transport
object. This lets us reuse the transport for a specific set of configurations
as recommended. (ref: https://pkg.go.dev/net/http#Transport)
If there are no transport specific options provided, the default
transport is used.
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
|
|
|
|
| |
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
|
|
|
|
| |
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
|
|
|
|
| |
Signed-off-by: Joseda Rios <josriolop@gmail.com>
|
|\
| |
| | |
fix(ssh): unable to pass a custom HostKeyCallback func
|
| |
| |
| |
| |
| |
| |
| |
| | |
Don't overwrite HostKeyCallback if one is provided.
Fixes: c35b8082c863 ("plumbing: transport/ssh, auto-populate ClientConfig.HostKeyAlgorithms. Fixes #411")
Fixes: https://github.com/go-git/go-git/issues/654
Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
|
|/
|
|
|
| |
Returning `nil` causes `handleAdvRefDecodeError` to fall back
to `io.ErrUnexpectedEOF`.
|
|
|
|
|
| |
Signed-off-by: cui fliter <imcusg@gmail.com>
Signed-off-by: cui fliter <imcusg@gmail.com>
|
|
|
|
| |
`GO_GIT_USER_AGENT_EXTRA` as the git user agent. Fixes #529
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#411
This commit adjusts the transport/ssh logic in command.connect(), so that it
now auto-populates ssh.ClientConfig.HostKeyAlgorithms. The algorithms are
chosen based on the known host keys for the target host, as obtained from the
known_hosts file.
In order to look-up the algorithms from the known_hosts file, external module
github.com/skeema/knownhosts is used. This package is just a thin wrapper
around golang.org/x/crypto/ssh/knownhosts, adding an extra mechanism to query
the known_hosts keys, implemented in a way which avoids duplication of any
golang.org/x/crypto/ssh/knownhosts logic.
Because HostKeyAlgorithms vary by target host, some related logic for setting
HostKeyCallback has been moved out of the various AuthMethod implementations.
This was necessary because the old HostKeyCallbackHelper is not host-specific.
Since known_hosts handling isn't really tied to AuthMethod anyway, it seems
reasonable to separate these. Previously-exported types/methods remain in
place for backwards compat, but some of them are now unused.
For testing approach, see pull request. Issue #411 can only be reproduced
via end-to-end / integration testing, since it requires actually launching
an SSH connection, in order to see the key mismatch error triggered from
https://github.com/golang/go/issues/29286 as the root cause.
|
| |
|
|
|
|
| |
Added in Go 1.12, this means we need one less dependency.
|
|
|
|
|
|
|
|
| |
[staticcheck](https://staticcheck.io/) reported a number of unused
fields, functions, types, and variables across the code.
Where possible, use them (assert unchecked errors in tests, for example)
and otherwise remove them.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
improve path security
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#298)
* Add failing ED25519 encrypted PEM test
Signed-off-by: Hidde Beydals <hello@hidde.co>
* Support more formats in `NewPublicKeys` SSH helper
By switching to `ParsePrivateKey` and `ParsePrivateKeyWithPassphrase`
from `crypto/ssh`, which has support for RSA (PKCS#1), PKCS#8, DSA
(OpenSSL), and ECDSA private keys.
Signed-off-by: Hidde Beydals <hello@hidde.co>
|
| |
|
| |
|
|
|
|
|
| |
* plumbing: wire up contexts for Transport.AdvertisedReferences
* add more tests for context wiring
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix cloning large repositories
Ignore the error on close when the connection is already closed
Fixes #70
* Compatibility for go 1.13
Because it's required by the pipeline
* Add test for allowing to close a command when the client is already closed
This test is for issue #70
* Add debug information for broken test
|
|
|
|
|
| |
This PR add insecureSkipTLSVerify and cabundle to any remote http calls
so that https repo with private CA signed can be used. This is the
equivalent of https.sslVerify and GIT_SSL_CAINFO
|
| |
|
| |
|