| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| | |
URL parsing for google-compatible URLs
|
| | |
| |
| |
| |
| |
| | |
Enforce the RFC for other protocols; Google's questionable choices about
malformed SSH protocols shouldn't impact our ability to properly parse
HTTPS.
|
| | |
| |
| |
| |
| | |
Provide our own url parser, so that we can handle Google Code's "fun"
URLs that have a userinfo with an `@` in it. :cry:
|
| |\ \
| | |
| | | |
Fix memory leak
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| | | | |
|
| |/ /
| |
| |
| | |
ensure the needed wincrypt.h is included
|
| |\ \
| | |
| | | |
RFC: SHA256 proof of concept
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
libgit2 can be built with optional, experimental sha256 support. This
allows consumers to begin testing and providing feedback for our sha256
support while we continue to develop it, and allows us to make API
breaking changes while we iterate on a final sha256 implementation.
The results will be `git2-experimental.dll` and installed as
`git2-experimental.h` to avoid confusion with a production libgit2.
|
| | |/
| |
| |
| |
| | |
Linux has a /usr/include/features.h, which gets confusing; update this
to `git2_features.h` and move it into the `util` directory.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
In the ownership checks implemented for CVE-2022-24765, we disallowed
users to access their own repositories when running with `sudo`.
Examine the `SUDO_UID` environment variable and allow users running
with `sudo`. This matches git's behavior.
|
| | |
| |
| |
| |
| |
| | |
Allow the user ownership to match if the file is owned by the admin
group and the user is in the admin group, even if the current process is
not running as administrator directly.
|
| | |
| |
| |
| |
| | |
Refactor the file ownership checks so that callers can provide discrete
information about the ownership expectations to a single function.
|
| |/
|
|
|
|
| |
The file ownership concepts can reflect the actual file ownership, they
are not necessarily limited to mocking the interface. Rename them so
that they can be more broadly applicable.
|
| | |
|
| |
|
|
| |
Provide a mock for file ownership for testability.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
gcc (mingw) warns when you cast the result of `GetProcAddress`; cast the
results to `void *` before casting them to the actual result.
|
| |
|
|
|
| |
When GIT_SHA1_WIN32 or GIT_SHA256_WIN32 is used, ensure that we test
both CryptoNG ("cng") and CryptoAPI.
|
| |
|
|
|
| |
Adding SHA256 support prompted an overdue refactoring of some of the
unnecessary complexity around the CNG/CryptoAPI abstraction.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Add support for a SHA256 hash algorithm, and add the "builtin" SHA256
hash engine (from RFC 6234).
|
| |
|
|
| |
The more generic GIT_ERROR_SHA allows for SHA256 errors as well as SHA1.
|
| |
|
|
|
| |
Eliminate the `sha1` folder, move it down into `hash` so that future
impelmentations can share common code.
|
| |
|
|
|
|
| |
Remove the "generic" implementation; it should never be used; it only
existed for a no-dependencies configuration, and our bundled sha1dc
satisfies that requirement _and_ is correct.
|
| |
|
|
|
|
| |
When we encounter a situation where we need to exit, simply `return -1`
instead of trying to set `len = -1` and then jumping to the exit
handler, which would erroneously do work based on the `len` value.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
|
|
Instead of simply including the utility files directly, make them a
cmake object library for easy reusability between other projects within
libgit2.
Now the top-level `src` is responsible for platform selection, while the
next-level `libgit2` and `util` configurations are responsible for
identifying what objects they include.
|