- 10 Mar, 2020 1 commit
-
-
Add a function that takes a (possibly) relative UTF-8 path and emits a UTF-16 path with forward slashes translated to backslashes. If the given path is, in fact, absolute, it will be translated to absolute path handling rules.
Edward Thomson committed
-
- 08 Mar, 2020 1 commit
-
-
The path canonicalization functions on win32 are intended to canonicalize absolute paths; those with prefixes. In other words, things start with drive letters (`C:\`), share names (`\\server\share`), or other prefixes (`\\?\`). This function removes leading `..` that occur after the prefix but before the directory/file portion (eg, turning `C:\..\..\..\foo` into `C:\foo`). This translation is not appropriate for local paths.
Edward Thomson committed
-
- 06 Mar, 2020 2 commits
-
-
CMake booleans
Edward Thomson committed -
Set proper pkg-config dependency for pcre2
Edward Thomson committed
-
- 05 Mar, 2020 2 commits
-
-
httpclient: use a 16kb read buffer for macOS
Patrick Steinhardt committed -
Use a 16kb read buffer for compatibility with macOS SecureTransport. SecureTransport `SSLRead` has the following behavior: 1. It will return _at most_ one TLS packet's worth of data, and 2. It will try to give you as much data as you asked for This means that if you call `SSLRead` with a buffer size that is smaller than what _it_ reads (in other words, the maximum size of a TLS packet), then it will buffer that data for subsequent calls. However, it will also attempt to give you as much data as you requested in your SSLRead call. This means that it will guarantee a network read in the event that it has buffered data. Consider our 8kb buffer and a server sending us 12kb of data on an HTTP Keep-Alive session. Our first `SSLRead` will read the TLS packet off the network. It will return us the 8kb that we requested and buffer the remaining 4kb. Our second `SSLRead` call will see the 4kb that's buffered and decide that it could give us an additional 4kb. So it will do a network read. But there's nothing left to read; that was the end of the data. The HTTP server is waiting for us to provide a new request. The server will eventually time out, our `read` system call will return, `SSLRead` can return back to us and we can make progress. While technically correct, this is wildly ineffecient. (Thanks, Tim Apple!) Moving us to use an internal buffer that is the maximum size of a TLS packet (16kb) ensures that `SSLRead` will never buffer and it will always return everything that it read (albeit decrypted).
Edward Thomson committed
-
- 03 Mar, 2020 1 commit
-
-
Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>
Igor Gnatenko committed
-
- 02 Mar, 2020 2 commits
-
-
ci: provide globalsign certs for bionic
Edward Thomson committed -
tls.mbed.org has neglected to send their full certificate chain. Add their intermediate cert manually.
🙄 Edward Thomson committed
-
- 01 Mar, 2020 3 commits
-
-
deps: ntlmclient: fix htonll on big endian FreeBSD
Edward Thomson committed -
azure-pipelines: download GlobalSign's certificate manually
Edward Thomson committed -
tls.mbed.org has neglected to send their full certificate chain. Add their intermediate cert manually.
🙄 Edward Thomson committed
-
- 26 Feb, 2020 1 commit
-
-
In commit 3828ea67 (deps: ntlmclient: fix missing htonll symbols on FreeBSD and SunOS, 2020-02-21), we've fixed compilation on BSDs due to missing `htonll` wrappers. While we are now using `htobe64` for both Linux and OpenBSD, we decided to use `bswap64` on FreeBSD. While correct on little endian systems, where we will swap from little- to big-endian, we will also do the swap on big endian systems. As a result, we do not use network byte order on such systems. Fix the issue by using htobe64, as well.
Patrick Steinhardt committed
-
- 25 Feb, 2020 1 commit
-
-
deps: ntlmclient: fix missing htonll symbols on FreeBSD and SunOS
Patrick Steinhardt committed
-
- 24 Feb, 2020 5 commits
-
-
In the NTLM authentication code, we accidentally use strdup(3P) and strndup(3P) instead of our own wrappers git__strdup and git__strndup, respectively. Fix the issue by using our own functions.
Patrick Steinhardt committed -
The ntlmclient dependency defines htonll on Linux-based systems, only. As a result, non-Linux systems will run into compiler and/or linker errors due to undefined symbols. Fix this issue for FreeBSD, OpenBSD and SunOS/OpenSolaris by including the proper headers and defining the symbol accordingly.
Patrick Steinhardt committed -
README: add language binding link to wasm-git
Patrick Steinhardt committed -
In order to check whether tracing support should be turned on, we check whether ENABLE_TRACE equals "ON". This is being much too strict, as CMake will also treat "on", "true", "yes" and others as true-ish, but passing them will disable tracing support now. Fix the issue by simply removing the STREQUAL, which will cause CMake to do the right thing automatically.
Patrick Steinhardt committed -
Starting with our conversions to mix backend-autodetection and selection into a single variable (USE_GSSAPI, USE_HTTPS, USE_SHA1), we have introduced a simple STREQUAL to check for "ON", which indicates that the user wants us to auto-detect available backends and pick any one that's available. This behaviour deviates from previous behaviour, as passing a value like "yes", "on" or "true" will in fact be treated like a backend name and result in autodetection failure. Fix the issue by introducing a new function `SanitizeBool`. Given a variable that may hold a boolean value, the function will sanitize that variable to hold either "ON" or "OFF". In case it is not a recognized boolean, we will just keep the value as-is. This fixes the above described issue.
Patrick Steinhardt committed
-
- 23 Feb, 2020 1 commit
-
-
Peter Salomonsen committed
-
- 21 Feb, 2020 2 commits
-
-
Fix #5410: fix installing libgit2.pc in wrong location
Patrick Steinhardt committed -
Fix typo on GIT_USE_NEC
Patrick Steinhardt committed
-
- 20 Feb, 2020 1 commit
-
-
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 19 Feb, 2020 12 commits
-
-
tests: diff: verify that we are able to diff with empty subtrees
Patrick Steinhardt committed -
README: update our build matrix to reflect current releases
Edward Thomson committed -
azure: docker: set up HOME variable to fix Coverity builds
Edward Thomson committed -
Remove using custom PKG_BUILD_PREFIu, PKG_BUILD_LIBDIR and PKG_BUILD_INCLUDEDIR variables. Use cmake CMAKE_INSTALL_PREFIX, LIB_INSTALL_DIR, INCLUDE_INSTALL_DIR instead. This patch fixes install libgit2.pc file in correct location and simpifies cmake module.
Tomasz Kłoczko committed -
sha1_lookup: inline its only function into "pack.c"
Patrick Steinhardt committed -
Coverity fixes
Patrick Steinhardt committed -
In commit 01a83406 (azure: docker: fix ARM builds by replacing gosu(1), 2020-02-18), we've switched our entrypoint from gosu(1) to use sudo(1) instead to fix our ARM builds. The switch introduced an incompatibility that now causes our Coverity builds to fail, as the "--preserve-env" switch will also keep HOME at its current value. As a result, Coverity now tries to set up its configuration directory in root's home directory, which it naturally can't write to. Fix the issue by adding the "--set-home" flag to sudo(1).
Patrick Steinhardt committed -
As noted in docs/release.md, we only provide security updates for the latest two releases. Let's thus drop the build status of both v0.27 and v0.26 branches, adding the new v0.99 branch instead.
Patrick Steinhardt committed -
Release 0.99
Patrick Steinhardt committed -
Release script
Patrick Steinhardt committed -
This commit also switches our SOVERSION to be "$MAJOR.$MINOR" instead of "$MINOR", only. This is in preparation of v1.0, where the previous scheme would've stopped working in an obvious way.
Edward Thomson committed -
Give the release a name, "Torschlusspanik" (the fear that time is running out to act). Indeed, the time is running out for changes to be included in v1.0.
Edward Thomson committed
-
- 18 Feb, 2020 5 commits
-
-
azure: fix ARM32 builds by replacing gosu(1)
Edward Thomson committed -
openssl: fix Valgrind issues in nightly builds
Patrick Steinhardt committed -
fuzzers: Fix the documentation
Patrick Steinhardt committed -
In our test case object::cache::fast_thread_rush, we're creating 100 concurrent threads opening a repository and reading objects from it. This test actually fails on ARM32 with an out-of-memory error, which isn't entirely unexpected. Work around the issue by halving the number of threads.
Patrick Steinhardt committed -
Our nightly builds are currently failing due to our ARM-based jobs. These jobs crash immediately when entering the Docker container with a exception thrown by Go's language runtime. As we're able to successfully builds the Docker images in previous steps, it's unlikely to be a bug in Docker itself. Instead, this exception is thrown by gosu(1), which is a Go-based utility to drop privileges and run by our entrypoint. Fix the issue by dropping gosu(1) in favor of sudo(1).
Patrick Steinhardt committed
-