Advisories with fixes
- GHSA-9857-6mw7-fq2m
- GHSA-p3hw-mv63-rf9w
- GHSA-f26g-jm89-4g65
- GHSA-x494-mj8g-cj27
- GHSA-pg4w-g64p-qwhj
- GHSA-fr8x-3vfx-f45h
Bug Fixes
-
Correctly use
$COMMON_DIR/info/excludeto make excludes work in worktrees.
It turns out there is no per-worktree excludes file either. -
do not open
.gitmodulefiles through symlinks
This could lead to places outside of the repository that are attacker controller. -
don't follow submodule names with relative paths in them
This made it possible to trick submodule repos to be opened outside of the
actual repository. -
Restore
Category::to_full_name()to be able to produce any full name.
Previously it learned to reject certain invalid branch names, but this has to
be done separately and led to some unpleasant changes ingixas well. -
reject
refs/heads/HEADas branch name during repo initialisation
Also document thatrefs/heads/HEADis allowed ifFullNamewas created
directly. -
Tree::peel_to_entry()peel to the final tree entry (and only if it's a tree) -
deduplicate entry-finding logic
The logic for finding entries is duplicated 3 times.Use
std::ops::ControlFlowfor simpler, callback-friendly code. -
std::path::Componenthas infallible conversion to&[u8]
Instead of relying on a fallible path and using a default value,
we can convert directly between aComponentand a&[u8].
Chore (BREAKING)
- Upgrade
prodashandcrosstermionto the latest version.
This will fix thecargo denyissue as it brings in a newerlrucrate.
New Features (BREAKING)
- enforce the specification of
alloc_init_bytesto handle untrusted input
This breaking change is intended to force a decision about how
much memory allocation an untrusted party can command by tempering
with binary file formats. - Use
imara-diff-v2with git sliders processing
The slider post-processing imrpoves the diff quality for about 8% slower diffs.
Line-counts, however, will be 50% faster to compute.
Other
- remove confusing map()
New Features
- automatically limit allocation size on untrusted repositories.
This can be controlled viagitoxide.objects.allocLimitIfReducedTrust. - read
GIX_ALLOC_BYTESand pass them togix-odbfor reading untrusted input - add
sha256togix
Documentation
- add crate-root doctests
Commit Statistics
- 50 commits contributed to the release over the course of 32 calendar days.
- 32 days passed between releases.
- 14 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Update changelogs prior to release (f9fbcba)
- Merge pull request #2530 from GitoxideLabs/advisories (63b8419)
- Add fuzz tests for 10 more crates, and related fixes (0396152)
- Do not open
.gitmodulefiles through symlinks (52485a9) - Don't follow submodule names with relative paths in them (d2e193f)
- Automatically limit allocation size on untrusted repositories. (95b0399)
- Enforce the specification of
alloc_init_bytesto handle untrusted input (91d0c26) - More
alloc_limittests to validate limit for loose objects as well. (9473d32) - Pass
alloc_limit_bytestogix-index(054494f) - Read
GIX_ALLOC_BYTESand pass them togix-odbfor reading untrusted input (acffd6b) - Add reproductions for all known advisories (392336f)
- Merge pull request #2497 from cruessler/pass-hash-len-to-tree-ref-iter (7d50c30)
- Review (d9b358b)
- Adapt to changes in
gix-object(6df1d55) - Merge pull request #2523 from GitoxideLabs/improvements (6f47e98)
- Adapt to changes in
gix-traverse(a1bd845) - Merge pull request #2513 from GitoxideLabs/v2-diff (2a5db88)
- Thanks clippy (e4f380e)
- Use
imara-diff-v2with git sliders processing (8094f5d) - Merge pull request #2518 from GitoxideLabs/improvements (444a92b)
- Make
package.includepatterns more specific so they don't match ignored files (c2c917f) - Merge pull request #2507 from GitoxideLabs/improvements (e51c40b)
- Restore
Category::to_full_name()to be able to produce any full name. (5b229c6) - Merge pull request #2505 from GitoxideLabs/improvements (420c5df)
- Address auto-review (6a5a0ec)
- Reject
refs/heads/HEADas branch name during repo initialisation (1adc44c) - Merge pull request #2492 from datdenkikniet/peel_to_entry (a298901)
- Refactor (3542230)
- Remove confusing map() (8a2b474)
- Merge pull request #2494 from GitoxideLabs/improvements (50fb46f)
- Adapt to changes in
gix-config. (344218a) - Merge pull request #2493 from GitoxideLabs/improvements (af1ad55)
- Adapt to changes in
gix-config(7bda16a) - Merge pull request #2489 from GitoxideLabs/fix-entry-by-path (ec66ceb)
- Address auto-review (6b45cfa)
Tree::peel_to_entry()peel to the final tree entry (and only if it's a tree) (7f77169)- Merge pull request #2487 from GitoxideLabs/top-level-examples (29c275e)
- Add crate-root doctests (b1102c2)
- Merge pull request #2459 from datdenkikniet/unify-traversal (de3f064)
- Refactor (fc09ed2)
- Deduplicate entry-finding logic (b37fef1)
- Merge pull request #2485 from GitoxideLabs/fintohaps/fix-ls-refs-prefixing (700ad9e)
- Fail on missing explicit refs after exact ls-refs` (df41a64)
- Merge pull request #2448 from cruessler/add-sha-256-to-gix-refspec (9a78ae2)
- Alter documentation of feature flags (3cf53e2)
- Add
sha256togix(dce21dd) - Merge pull request #2480 from GitoxideLabs/report (98bae84)
- Merge branch 'main' into report (7eb98cb)
- Merge pull request #2458 from datdenkikniet/direct-u8 (2ce6dde)
std::path::Componenthas infallible conversion to&[u8](0e173d6)