| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Monsters.
|
|
|
|
| |
Not all systems have poll(2); emulate it with select(2).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make socket I/O non-blocking and add optional timeouts.
Users may now set `GIT_OPT_SET_SERVER_CONNECT_TIMEOUT` to set a shorter
connection timeout. (The connect timeout cannot be longer than the
operating system default.) Users may also now configure the socket read
and write timeouts with `GIT_OPT_SET_SERVER_TIMEOUT`.
By default, connects still timeout based on the operating system
defaults (typically 75 seconds) and socket read and writes block.
Add a test against our custom testing git server that ensures that we
can timeout reads against a slow server.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
We lose some error information from the read / write callbacks to
stransport. Store our own error value in the object so that we can
ensure that we rely upon it.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
Provide a stream interface for Schannel - the native crypto APIs - on
Windows. This allows Windows to use the same HTTP transport that all the
other platforms use, with its own native crypto.
Ultimately this allows us to deprecate WinHTTP and we need not add
support for our socket changes in two places (our HTTP stack and the
WinHTTP stack).
|
| |
|
|\
| |
| | |
SHA256: more SHA256 support
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Try to load OpenSSL 3 libraries when compiled with OpenSSL-Dynamic
support.
Handle the deprecated symbol renaming of SSL_get_peer_certificate to
SSL_get1_peer_certificate -- try to load the old name and if it fails,
use the new one.
|
|/
|
|
|
|
| |
When we fail to initialize the OpenSSL subsystem, don't assume that
we're "initialized". Subsequent initialization requests -- if there are
any -- should replay initialization and fail again.
|
|
|