- 08 Sep, 2021 1 commit
-
-
It turns out that if we use `mmap(2)`, non-Windows remote filesystems break due to permissions. If we don't, _Windows_ remote filesystems break due to lack of coherence between memory mapped views of the file and direct I/O operations done to the files. To break out of this impossible situation, conditionally-compile versions of Windows-specific `write_at` and `append_to_pack`.
lhchavez committed
-
- 07 Sep, 2021 2 commits
-
-
Now that we're not using `mmap(2)` for writing stuff, we don't need to truncate the file afterwards, since it'll have the correct size at the end of the process. Whee~!
lhchavez committed -
This change makes `append_to_pack` completely rely on `p_pwrite` to do all its I/O instead of splitting it between `p_pwrite` and a `mmap(2)`/`munmap(2)`+`memcpy(3)`. This saves a good chunk of user CPU time and avoids making two syscalls per round, but doesn't really cut down a lot of wall time (~1% on cloning the [git](https://github.com/git/git.git) repository).
lhchavez committed
-
- 05 Sep, 2021 2 commits
-
-
Edward Thomson committed
-
This change makes `git_remote_name_is_valid` be part of the public interface of the library. This is needed for other language bindings to be able to find this symbol (like in git2go, when linking against libgit2 dynamically).
lhchavez committed
-
- 03 Sep, 2021 2 commits
-
-
#6028: Check if `threadstate->error_t.message` is not `git_buf__initbuf` before freeing.
Edward Thomson committed -
This follows the same principle as `buffer.c` where the same check is done before freeing the buffer. It fixes the crash described in #6028.
Miguel Arroz committed
-
- 02 Sep, 2021 10 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
Update proxy configuration
Edward Thomson committed -
Update the proxy detection for a remote. 1. Honor `http.<url>.proxy` syntax for a remote's direct URL and parent URLs. 2. Honor an empty configuration URL to override a proxy configuration. Add tests to ensure that configuration specificity is honored.
Edward Thomson committed -
Edward Thomson committed
-
Provide a utility method on a url to determine if it matches any pattern in a comma-separated list, similar to what one would find in `NO_PROXY` environment variables.
Edward Thomson committed -
Provide a method to determine if a given URL matches a host:port pattern like the ones found in `NO_PROXY` environment variables.
Edward Thomson committed -
Edward Thomson committed
-
Introduce a utility function that compares a NUL terminated string to a possibly not-NUL terminated string with length. This is similar to `strncmp` but with an added check to ensure that the lengths match (not just the `size` portion of the two strings).
Edward Thomson committed -
Item 2 of 3 from #4164 Signed-off-by: Mathieu Parent <math.parent@gmail.com>
Mathieu Parent committed
-
- 31 Aug, 2021 5 commits
-
-
Fix a possible null pointer dereference
Edward Thomson committed -
This change fixes a possible null pointer dereference if anything inside `git_commit_graph_writer_add_index_file` fails before the packfile being valid. https://scan6.coverity.com/reports.htm#v52218/p10377/fileInstanceId=122935896&defectInstanceId=32525576&mergedDefectId=1461634
lhchavez committed -
Edward Thomson committed
-
Edward Thomson committed
-
Fix worktree iteration when repository has no common directory
Edward Thomson committed
-
- 30 Aug, 2021 18 commits
-
-
Set Host Header to match CONNECT authority target
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Prior to this change, for CONNECT requests, the Host header was set to the host and port of the target http proxy. However, per the rfc7230 for HTTP/1.1 this is incorrect as the Host header should match the target of the CONNECT request, as detailed in section 5.3.3 & 5.4. 5.3.3. authority-form The authority-form of request-target is only used for CONNECT requests (Section 4.3.6 of [RFC7231]). authority-form = authority When making a CONNECT request to establish a tunnel through one or more proxies, a client MUST send only the target URI's authority component (excluding any userinfo and its "@" delimiter) as the request-target. For example, CONNECT www.example.com:80 HTTP/1.1 5.4. Host <snip> A client MUST send a Host header field in all HTTP/1.1 request messages. If the target URI includes an authority component, then a client MUST send a field-value for Host that is identical to that authority component, excluding any userinfo subcomponent and its "@" delimiter (Section 2.7.1). If the authority component is missing or undefined for the target URI, then a client MUST send a Host header field with an empty field-value. This issue was noticed when proxying requests through HAProxy 2.2 which rejects these invalid http requests.
Jesse Hathaway committed -
Fixes from code analysis
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
buf: deprecate public git_buf writing functions
Edward Thomson committed -
filter: filter drivers stop taking git_buf as user input
Edward Thomson committed -
Introduce `create_commit_cb`, deprecate `signing_cb`
Edward Thomson committed -
remote: introduce remote_ready_cb, deprecate resolve_url callback
Edward Thomson committed -
opts: test GIT_OPT_SET_SSL_CERT_LOCATIONS
Edward Thomson committed -
fixes #6003
Zachary Michaels committed
-