- 31 Oct, 2023 1 commit
-
-
connect_opts is created with its custom_headers and proxy_opts->url possibly allocated on heap, just like in git_remote_fetch(). But unlike in _fetch(), it is not disposed at the end of the function, thus causing memory leak.
7Ji committed
-
- 15 Oct, 2023 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 19 Sep, 2023 2 commits
-
-
Like in the previous commit and in git, we reject a path that looks like an option to avoid injection into the command we ask the remote to execute.
Carlos Martín Nieto committed -
If you pass along something like `-oProxyCommand=...` as the hostname, we would pass that along to ssh unbeknownst to us and potentially also the user, if they were asking a tool to recursively clone submodules. This is the same fix as mainline git although they don't separate the username and host for ssh so ours looks like it's checking more.
Carlos Martín Nieto committed
-
- 03 Sep, 2023 8 commits
-
-
We now have no "big single object" that contains thread state.
Edward Thomson committed -
Now that thread-local error data is handled in error, move the thread local data out of the `threadstate` object, since it has now become useless indirection.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Instead of having a separate type for saving state, we can re-use the `git_error` structure. In practice, saving the error code along with the `git_error` information has not proven necessary or useful, so it can be removed to simplify down to re-using a single structure.
Edward Thomson committed -
Most callers only need to _get_ error messages. Only callers implemented more complicated functions (like a custom ODB for example) need to set them. (Callback users should likely ferry their own error information in their callback payload.)
Edward Thomson committed -
Callers want to be able to simply call `git_error_last()->message`, not have to worry about whether `git_error_last()` returns NULL or not.
Edward Thomson committed -
The error handling in the ssh certificate callback is straightforward. There's no error messages from an external library that need to be saved, we populate the error message ourselves. Since there's nothing custom here, it does not need to use the error saving mechanism.
Edward Thomson committed
-
- 30 Aug, 2023 10 commits
-
-
Edward Thomson committed
-
Handle custom paths for OpenSSH.
Edward Thomson committed -
Callers can specify the ssh command to invoke using `core.sshcommand` or the `GIT_SSH` environment variable. This is useful for specifying alternate configuration, and is particularly useful for our testing environment.
Edward Thomson committed -
Don't capture stderr, optimize for the CLI case.
Edward Thomson committed -
Provide more user-friendly error messages in smart protocol negotiation failures.
Edward Thomson committed -
Instead of "early EOF", provide information on _when_ we're seeing the EOF for debugging.
Edward Thomson committed -
A transport may want to validate that it's in a sane state; when flushing on close, don't assume that we're doing an upload-pack; send the correct direction.
Edward Thomson committed -
We can now use the `git_process` class to invoke OpenSSH and use it as an SSH transport. This may be preferred over libssh2 for a variety of callers.
Edward Thomson committed -
We may want to support SSH but with a different provider that is not libssh2. Add GIT_SSH to indicate that we have some inbuilt SSH support and GIT_SSH_LIBSSH2 to indicate that support is via libssh2. This is similar to how we support GIT_HTTPS and GIT_OPENSSL, for example.
Edward Thomson committed -
Edward Thomson committed
-
- 02 Aug, 2023 1 commit
-
-
Edward Thomson committed
-
- 01 Aug, 2023 2 commits
-
-
The common format for specifying proxy URLs is just 'host:port'. Handle the common case.
Edward Thomson committed -
Edward Thomson committed
-
- 25 Jul, 2023 7 commits
-
-
Provide two memory-backed configuration backends -- one that takes a string in config file format `[section] key=value` and one that takes a list of strings in `section.key=value` format.
Edward Thomson committed -
Edward Thomson committed
-
A git_config_entry now knows the type of the origin for the entry ("file", "memory", etc) and the path details (for files, the path on disk). This is propagated through snapshots.
Edward Thomson committed -
The opaque `payload` on an entry is unnecessary and distracting; config entries should follow the patterns of other objects and use space elsewhere in the structure with a "base" config entry struct embedded.
Edward Thomson committed -
Edward Thomson committed
-
Don't set entry data when we "get" an entry from the collection, add the data to the entry before it's put into the collection. This keeps the entry creation logic in a single place.
Edward Thomson committed -
- Constant only available in 10.13+, causing build failures for older macOS releases Fixes: https://github.com/libgit2/libgit2/issues/6606
Christopher Nielsen committed
-
- 21 Jul, 2023 1 commit
-
-
Provide two memory-backed configuration backends -- one that takes a string in config file format `[section] key=value` and one that takes a list of strings in `section.key=value` format.
Edward Thomson committed
-
- 20 Jul, 2023 2 commits
-
-
Edward Thomson committed
-
A git_config_entry now knows the type of the origin for the entry ("file", "memory", etc) and the path details (for files, the path on disk). This is propagated through snapshots.
Edward Thomson committed
-
- 19 Jul, 2023 4 commits
-
-
lmcglash committed
-
The opaque `payload` on an entry is unnecessary and distracting; config entries should follow the patterns of other objects and use space elsewhere in the structure with a "base" config entry struct embedded.
Edward Thomson committed -
Edward Thomson committed
-
Don't set entry data when we "get" an entry from the collection, add the data to the entry before it's put into the collection. This keeps the entry creation logic in a single place.
Edward Thomson committed
-