Log

Author Commit Date CI Message
lhchavez 1e49f127 2021-08-31T05:23:20 Fix a possible null pointer dereference 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
Edward Thomson c811fc36 2021-08-31T00:13:42 v1.2: update version information
Edward Thomson 0e585d36 2021-08-31T00:11:56 v1.2: changelog
Edward Thomson 3addb796 2021-08-30T23:10:24 Merge pull request #5943 from kcsaul/fix/5851 Fix worktree iteration when repository has no common directory
Edward Thomson 4e8840fd 2021-08-30T18:20:35 Merge pull request #6022 from lollipopman/connect-proxy-host-header Set Host Header to match CONNECT authority target
Edward Thomson 98be5a11 2021-08-30T17:55:47 Merge branch 'cgraph-write' into main
Edward Thomson 34fa6311 2021-08-30T17:55:13 commit graph: formatting fixes
Jesse Hathaway fc5d0e80 2021-08-30T21:24:54 Set Host Header to match CONNECT authority target 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.
Edward Thomson db729803 2021-08-30T09:24:48 Merge pull request #6018 from libgit2/ethomson/fixups Fixes from code analysis
Edward Thomson ed0ea96e 2021-08-30T09:02:26 date: promote before multiply
Edward Thomson f93beebc 2021-08-30T08:49:00 filter: don't overwrite error value
Edward Thomson 036be150 2021-08-30T08:47:04 hashsig: close fd on error
Edward Thomson 9191ef70 2021-08-30T08:40:26 error: don't check string after assert
Edward Thomson 50b3c2d5 2021-08-30T08:31:50 pack: don't assert in the lock
Edward Thomson e7eb6c6b 2021-08-30T08:28:56 midx: return an error when detected
Edward Thomson 5eb2b0b3 2021-08-30T08:27:27 httpclient: actually return `GIT_EAUTH`
Edward Thomson 969a056c 2021-08-29T22:54:01 Merge pull request #6017 from libgit2/ethomson/buf_is_readonly buf: deprecate public git_buf writing functions
Edward Thomson b16a36e1 2021-08-29T22:53:49 Merge pull request #6011 from libgit2/ethomson/filter_apply filter: filter drivers stop taking git_buf as user input
Edward Thomson 258115db 2021-08-29T22:53:38 Merge pull request #6016 from libgit2/ethomson/commit_create_cb Introduce `create_commit_cb`, deprecate `signing_cb`
Edward Thomson 16a2e667 2021-08-29T22:53:28 Merge pull request #6012 from libgit2/ethomson/custom_url remote: introduce remote_ready_cb, deprecate resolve_url callback
Edward Thomson 9f84003c 2021-08-29T22:34:19 Merge pull request #6009 from libgit2/ethomson/custom_cert_locations opts: test GIT_OPT_SET_SSL_CERT_LOCATIONS
Zachary Michaels cdb9f390 2021-08-24T17:37:15 mbedTLS: Fix setting certificate directory fixes #6003
Edward Thomson 0e047268 2021-08-25T18:01:34 opts: test GIT_OPT_SET_SSL_CERT_LOCATIONS Include a self-signed certificate for test.libgit2.org:1443 that we can use to verify that GIT_OPT_SET_SSL_CERT_LOCATIONS works.
lhchavez 7d9ebdc8 2021-08-29T18:50:49 Merge remote-tracking branch 'origin/main' into cgraph-write
Edward Thomson 2998a84a 2021-08-29T21:49:33 Merge pull request #5841 from J0Nes90/features/checkout-dry-run Checkout dry-run
Edward Thomson aebdee8e 2021-08-29T21:49:26 Update include/git2/checkout.h
Edward Thomson 147b659f 2021-08-29T21:40:26 Merge pull request #5405 from lhchavez/multi-pack-index-odb-write midx: Introduce git_odb_write_multi_pack_index()
Edward Thomson 18293385 2021-08-29T21:40:16 Merge pull request #5395 from josharian/http-use-eauth Use error code GIT_EAUTH for authentication failures
Edward Thomson c3512fe6 2021-08-29T21:35:40 Merge branch 'main' into multi-pack-index-odb-write
Edward Thomson 78cd7624 2021-08-29T21:30:51 Merge pull request #5404 from lhchavez/multi-pack-index-write midx: Add a way to write multi-pack-index files
Edward Thomson 9937967e 2021-08-29T21:29:14 Merge branch 'main' into http-use-eauth
Edward Thomson a5d6a576 2021-08-29T13:21:40 ci: stop on test failure
Edward Thomson d2316d57 2021-08-29T13:10:44 buf: deprecate public git_buf writing functions A `git_buf` is now a read-only structure as far as callers are concerned. This is a mechanism that we can return data to callers using memory that is owned by the library and can be cleaned up by callers (using `git_buf_dispose`). A `git_buf` can no longer be allocated by callers or provided to the library.
Edward Thomson 5bcef522 2021-08-27T17:06:50 filter: deprecate apply function
Edward Thomson 7442c000 2021-08-27T11:25:51 remote: deprecate resolve_url callback Using a callback to set a resolve_url is not particularly idiomatic. Deprecate it in favor of the `set_instance_url` and `set_instance_pushurl` functions which can now be called from the `git_remote_ready_cb` callback.
Edward Thomson 72df17c6 2021-08-27T10:59:51 remote: introduce git_remote_ready_cb Introduce a new callback that fires when the remote is ready to connect.
Edward Thomson ef03e150 2021-08-29T10:14:01 rebase: deprecate signing_cb The signing callback should not be used; instead, callers should provide a commit_create_cb, perform the signing and commit creation themselves.
Edward Thomson d3bdf33b 2021-08-29T09:36:01 rebase: introduce git_commit_create_cb Introduce a new mechanism for `git_rebase_commit` for callers to customize the experience. Instead of assuming that we produce the commit for them, provide a commit creation callback that allows callers to produce the commit themselves and return the resulting commit id.
Edward Thomson 0a79012e 2021-08-29T06:36:59 Merge pull request #6015 from boretrk/c89-comments
Peter Pettersson d17e67e6 2021-08-29T12:19:49 tests: change comments to c89 style
Edward Thomson ffb0763b 2021-08-28T13:47:23 Merge pull request #5508 from libgit2/ethomson/devcontainer WIP: .devcontainer: settings for a codespace workflow
Edward Thomson af97166f 2021-08-28T13:45:33 Merge pull request #6013 from lolgear/cmake_hash_sha_missing_header CMake. hash sha1 header has been added.
Dmitry Lobanov 4c0ea9f0 2021-08-28T20:18:38 cmake: select hashes umbrella variable has been removed. Co-authored-by: Edward Thomson <ethomson@github.com>
Dmitry Lobanov 08b3ee2f 2021-08-07T15:56:29 cmake: select hashes missing umbrella header has been added.
Edward Thomson c089d5ac 2021-08-27T16:51:38 filter: use streaming filters in tests
Edward Thomson f593fa97 2021-08-27T16:46:21 ident: use streaming filters
Edward Thomson c1f4f45e 2021-08-27T16:43:00 crlf: use streaming filters
Edward Thomson a8943c04 2021-08-27T15:59:01 filter: proxy_stream is now git_filter_buffered_stream The filter's proxy_stream is used to adapt filters that only provided an `apply` function into a `stream` function. Make this internal to the library instead of private to the filter file. This will allow the filters to use it directly, instead of relying on the filter functionality to do the proxying.
Edward Thomson a9a7bfb5 2021-05-12T22:13:12 filter: add docs for `git_filter_stream_fn`
Edward Thomson 67240677 2021-05-14T00:33:08 remote: introduce set_instance_url Users may want to override the URL on a particular instance of a remote, instead of updating the configuration. Previously, users could use a callback to do this, but this is not particularly idiomatic.
Edward Thomson 45489a11 2021-08-27T08:29:27 Merge pull request #6008 from boretrk/array git_array_alloc: return objects of correct type
Edward Thomson 34e685c0 2021-08-27T08:28:01 Merge pull request #5747 from lhchavez/atomic-tests Homogenize semantics for atomic-related functions
lhchavez ea285904 2020-02-18T00:02:13 midx: Introduce git_odb_write_multi_pack_index() This change introduces git_odb_write_multi_pack_index(), which creates a `multi-pack-index` file from all the `.pack` files that have been loaded in the ODB. Fixes: #5399
lhchavez 9d117e38 2020-02-17T21:28:13 midx: Add a way to write multi-pack-index files This change adds the git_midx_writer_* functions to allow to write and create `multi-pack-index` files from `.idx`/`.pack` files. Part of: #5399
lhchavez e66545e3 2021-08-27T04:06:54 Merge remote-tracking branch 'origin/main' into multi-pack-index-write
lhchavez 366115e0 2021-08-27T04:06:31 Review feedback
Edward Thomson 3f8bf8be 2021-08-26T17:29:37 Merge pull request #6010 from A-Ovchinnikov-mx/a-ovchin/remote-head-branch-clone Set refs/remotes/origin/HEAD to default branch when branch is specified
lhchavez 94008e6a 2021-08-26T05:50:23 Fixups for the latest changes in the array interface
lhchavez 47c70fc5 2021-08-26T05:40:20 Merge remote-tracking branch 'origin/main' into cgraph-write
lhchavez 74708a81 2020-12-20T12:45:01 Homogenize semantics for atomic-related functions There were some subtle semantic differences between the various implementations of atomic functions. Now they behave the same, have tests and are better documented to avoid this from happening again in the future. Of note: * The semantics chosen for `git_atomic_compare_and_swap` match `InterlockedCompareExchangePointer`/`__sync_cal_compare_and_swap` now. * The semantics chosen for `git_atomic_add` match `InterlockedAdd`/`__atomic_add_fetch`. * `git_atomic_swap` and `git_atomic_load` still have a bit of semantic difference with the gcc builtins / msvc interlocked operations, since they require an l-value (not a pointer). If desired, this can be homogenized.
lhchavez 63f08e42 2021-08-26T05:29:34 Make the defaultable fields defaultable Also, add `git_commit_graph_writer_options_init`!
Alexander Ovchinnikov 8643b524 2021-02-08T00:40:50 Revert "Merge pull request #5775 from libgit2/ethomson/clone_branch" This reverts commit 487f2a8287c4d1d41d39e05ac53d0e50c679d7e9, reversing changes made to c6cf7f0e6927f1b264a7dda2467d70b9f744a01f.
Alexander Ovchinnikov cb078d51 2021-08-05T14:02:54 Check if default branch matches refspec
Alexander Ovchinnikov 6bb35878 2021-02-08T00:49:21 clone: set refs/remotes/origin/HEAD to default branch when branch is specified, attempt 2
Peter Pettersson f062eb62 2021-08-25T22:12:57 git_array_alloc: return objects of correct type
Edward Thomson fabacb7c 2021-08-25T15:24:35 Merge pull request #6007 from boretrk/array array: check dereference from void * type
Edward Thomson c7a195a1 2021-08-25T14:11:03 Merge pull request #6006 from boretrk/c11-warnings GCC C11 warnings
Peter Pettersson 7f1dd703 2021-08-25T20:08:58 array: fix dereference from void * type
Peter Pettersson bcc0d750 2021-08-25T18:58:39 array: make gcc keep the type of the NULL return value
Peter Pettersson 4bbe5e6e 2021-08-25T18:14:10 win32: name the dummy union in GIT_REPARSE_DATA_BUFFER Instead of buf->"typeofbuffer"ReparseBuffer the members will be referenced with buf->ReparseBuffer."typeofbuffer" https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/ns-ntifs-_reparse_data_buffer?redirectedfrom=MSDN calls the union DUMMYUNIONNAME but that looks a bit cluttered.
Edward Thomson efc4e7e5 2021-08-25T12:30:06 Merge pull request #5802 from lhchavez/git-warn-unused-result Introduce GIT_WARN_UNUSED_RESULT
Edward Thomson 0850b172 2021-08-25T12:20:50 Merge pull request #5950 from boretrk/posixtest open: input validation for empty segments in path
Peter Pettersson b0189582 2021-08-25T18:07:01 enable gcc warnings for C11 specific extensions
Edward Thomson cc4f8bc6 2021-08-25T09:11:25 Merge pull request #6005 from boretrk/c11-warnings C11 warnings
Peter Pettersson 40f3702c 2021-08-25T11:36:06 c90/c99: name the unnamed union in git_hash_ctx
Peter Pettersson 51d69dda 2021-08-25T11:34:59 enable warnings for C11 specific extensions
Edward Thomson c8f4b569 2021-08-24T18:28:28 Merge pull request #5974 from libgit2/ethomson/dlopen_ssl Dynamically load OpenSSL (optionally)
Edward Thomson 314469f9 2021-08-24T16:23:09 ci: run dynamically loaded openssl workflows nightly Add Xenial, Bionic, CentOS 7 and 8 workflows with OpenSSL-Dynamic builds nightly.
Edward Thomson 9fce506c 2021-08-24T15:53:10 openssl: lazily load libraries when dynamically loading Defer dlopen until it's needed when dynamically loading OpenSSL libraries.
Edward Thomson aad497cb 2021-08-24T14:08:43 openssl: dynamically load on macOS
Edward Thomson e265eb2f 2021-08-24T13:58:24 tests: show errors when libgit2_init fails
Edward Thomson 5158b0b7 2021-08-24T11:56:22 ntlmclient: update to ntlmclient 0.9.1 The ntlmclient dependency can now dynamically load OpenSSL.
Edward Thomson c9b80c25 2021-08-21T15:28:45 valgrind: suppress leaks in dlopen and newer libraries dlopen sets up some thread-local state that isn't cleaned up by `dlclose`. Additionally, now that we're linking against different versions of libssh2 and OpenSSL, we're seeing different leak signatures.
Edward Thomson 0903cac1 2021-08-11T01:30:38 openssl: dynamically load libssl and symbols (optionally) Provide an interface around OpenSSL to dynamically load the libraries and symbols, so that users can distribute a libgit2 library that is not linked directly against OpenSSL. This enables users to target multiple distributions with a single binary. This mechanism is optional and disabled by default. Configure cmake with -DUSE_HTTPS=OpenSSL-Dynamic to use it.
Edward Thomson 150eddd9 2021-08-10T21:41:05 openssl: separate legacy api Refactor the OpenSSL stream implementation so that the legacy code is better abstracted. This will enable future development.
Edward Thomson a09d4367 2021-08-23T15:27:42 Merge pull request #6000 from libgit2/ethomson/ci ci: tag new containers with the latest tag
Edward Thomson dbcb1cd7 2021-08-23T15:02:49 ci: update container versions Update all the container versions to force a rebuild so that they'll get tagged with latest (due to changes in the CI scripts).
Edward Thomson 3b603d31 2021-08-23T15:00:39 ci: tag new containers with the latest tag
Edward Thomson 76c503c3 2021-08-21T08:46:17 Merge pull request #5995 from libgit2/ethomson/centos_ci ci: update centos builds
Edward Thomson 9806f5ac 2021-08-21T08:27:59 Merge pull request #5999 from libgit2/ethomson/openssl_valgrind openssl: don't fail when we can't customize allocators
Edward Thomson ecdb41f9 2021-08-17T08:19:10 ci: update centos to find libssh2
Edward Thomson 1903cfef 2021-08-19T16:49:41 openssl: don't fail when we can't customize allocators During valgrind runs, we try to swap out the OpenSSL allocators for our own. This allows us to avoid some unnecessary warnings about usage. Unfortunately, many builds of OpenSSL do not allow you to swap allocators; for example FIPS builds and the builds running in CentOS. Try to swap the allocators, but do not fail when they cannot be customized.
Edward Thomson 3f02b5b9 2021-08-18T16:33:31 Merge pull request #5997 from boretrk/sha1_endian sha1dc: remove conditional for <sys/types.h>
Peter Pettersson 727d903a 2021-08-18T21:01:36 sha1dc: remove conditional for <sys/types.h>
Edward Thomson a7b2195a 2021-08-17T07:04:34 Merge pull request #5994 from jairbubbles/fix-libgit2-filename-not-being-passed-to-the-reso
Julien Richard 2dbe413e 2021-08-17T11:34:11 Fix LIBGIT2_FILENAME not being passed to the resource compiler
Edward Thomson a42577db 2021-08-16T14:09:17 ci: update centos builds
Edward Thomson d4416624 2021-08-16T13:49:38 ci: update centos builds
Edward Thomson 5ad53ec7 2021-08-15T23:19:54 ci: update centos builds
Edward Thomson 1ebdb6f2 2021-08-15T22:53:19 ci: update centos7 and centos8 build