- 30 Aug, 2023 3 commits
-
-
Provide both cmdline-style handling (passing it to the shell on POSIX, or directly to CreateProcess on win32) and execv style (passing it directly to execv on POSIX, and mangling it into a single command-line on win32).
Edward Thomson committed -
We can't reliably detect SIGPIPE on close because of platform differences. Track `pid` and send `SIGTERM` to a function and ensure that we can detect it.
Edward Thomson committed -
Edward Thomson committed
-
- 01 Aug, 2023 2 commits
-
-
Introduce a url parser that defaults to treating poorly specified URLs as http URLs. For example: `localhost:8080` is treated as `http://localhost:8080/` by the http-biased url parsing, instead of a URL with a scheme `localhost` and a path of `8080`..
Edward Thomson committed -
Refactor url parsing to simplify the state-passing (introducing a struct) and add a path parser for future reusability.
Edward Thomson committed
-
- 15 May, 2023 2 commits
-
-
Test that `git_buf` correctly fails if no more bytes can be allocated. This is mostly for demonstration purposes.
Patrick Steinhardt committed -
In several circumstances, we get bug reports about things that happen in situations where the environment is quite limited with regards to available memory. While it's expected that functionality will fail if memory allocations fail, the assumption is that we should do so in a controlled way. Most importantly, we do not want to crash hard due to e.g. accessing NULL pointers. Naturally, it is quite hard to debug such situations. But since our addition of pluggable allocators, we are able to implement allocators that fail in deterministic ways, e.g. after a certain amount of bytes has been allocated. This commit does exactly that. To be able to properly keep track of the amount of bytes currently allocated, allocated pointers contain tracking information. This tracking information is currently limited to the number of bytes allocated, so that we can correctly replenish them on calling `free` on the pointer. In the future, it would be feasible to extend the tracked information even further, e.g. by adding information about file and line where the allocation has been performed. As this introduced some overhead to allocations though, only information essential to limited allocations is currently tracked.
Patrick Steinhardt committed
-
- 13 May, 2023 2 commits
-
-
The `gitno` buffer interface is another layer on top of socket reads. Abstract it a bit into a "static string" that has `git_str` like semantics but without heap allocation which moves the actual reading logic into the socket / stream code, and allows for easier future usage of a static / stack-allocated `git_str`-like interface.
Edward Thomson committed -
Edward Thomson committed
-
- 21 Mar, 2023 1 commit
-
-
Add functions to use convert a string with length, instead of assuming NUL termination. In addition, move the utf8 to 16 conversion routines into the `git_utf8` namespace instead of using namespaceless `git__` prefixed names.
Edward Thomson committed
-
- 27 Feb, 2023 1 commit
-
-
The `git_fs_path_owner_is_current_user` expects the root dir on unix (`/`) to be owned by a non-current user. This makes sense unless root (or euid == 0) is running the tests, which often happens during distro build / packaging scripts. Allow them to run the tests.
Edward Thomson committed
-
- 17 Jun, 2022 3 commits
-
-
Enforce the RFC for other protocols; Google's questionable choices about malformed SSH protocols shouldn't impact our ability to properly parse HTTPS.
Edward Thomson committed -
Provide our own url parser, so that we can handle Google Code's "fun" URLs that have a userinfo with an `@` in it.
Edward Thomson committed -
Edward Thomson committed
-
- 16 Jun, 2022 2 commits
-
-
The url::scp::invalid_addresses test attempts to test an invalid IPv6 address. It does not, it calls the regular URL parsing function which treats it like a possibly invalid scheme.
Edward Thomson committed -
Edward Thomson committed
-
- 11 Apr, 2022 1 commit
-
-
Provide individual file ownership checks for both the current user and the system user, as well as a combined current user and system user check.
Edward Thomson committed
-
- 06 Apr, 2022 1 commit
-
-
The 32-bit ARM QEMU builds are flaky when running `lstat`. Disable those testing `lstat`'s `st_size` temporarily.
Edward Thomson committed
-
- 23 Mar, 2022 2 commits
-
-
When GIT_SHA1_WIN32 or GIT_SHA256_WIN32 is used, ensure that we test both CryptoNG ("cng") and CryptoAPI.
Edward Thomson committed -
Add support for a SHA256 hash algorithm, and add the "builtin" SHA256 hash engine (from RFC 6234).
Edward Thomson committed
-
- 27 Feb, 2022 1 commit
-
-
Now that we safely assert and return, we may need to be in a place where we need to unlock mutexes or cleanup resources. Provide `ASSERT_WITH_CLEANUP` that permits for this behavior by taking a block.
Edward Thomson committed
-
- 23 Feb, 2022 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-