Commit Graph

6 Commits

Author SHA1 Message Date
Matteo Settenvini 085893c2ef
chore: adopt Rust 2024 2025-02-21 00:16:31 +01:00
Matteo Settenvini 7ec6467b3b
fix(dso): do not eagerly resolve symlinks
This change contains three improvements:

- we use a separate root node, so that it is easier to debug
  what is going on
- we now are able to print the DOT graph of ELF binaries in
  DsoCleaner
- we do not eagerly resolve symlinks, which produced completely
  incorrect results before
2025-02-19 14:37:51 +01:00
Matteo Settenvini 344e16cf0f
feat(list): add allow and blocklist handling
This uses the .gitignore format to identify
which files should be allowed / blocked.

The allowlist gets precedence over the blocklist
if both are specified.
2025-01-26 14:55:26 +01:00
Matteo Settenvini 54075012aa
feat(dso): implement unused DSO cleaner
This is the first implementation of a recursive
DSO cleaner which is reasonably fast.

The implementation is still (unit-) untested.

Of course, modules to be dlopen'ed will always
escape such a tool, which will need to
support another cleaner plugin with a
whitelist.
2025-01-26 03:09:16 +01:00
Matteo Settenvini 5507a1dd21
feat(cleaners): add main async runner
Adds a Runner able to work upon a set of cleaners that
work in parallel.
2025-01-25 02:32:21 +01:00
Matteo Settenvini cc1a66726e
Initial skeleton 2025-01-24 22:00:18 +01:00