mirror of
https://github.com/david942j/one_gadget.git
synced 2026-10-12 02:12:49 +00:00
* Rebuild the gadgets for the libcs the gem does not ship 805 of the 883 entries were regenerated from the libcs they were built from. They dated from 2023 and predate v2.0.0 and v2.1.0, so they carried gadgets that no longer work and missed ones that do: 10,326 recorded gadgets became 41,417. Nothing was added or deleted, and no shipped entry changed -- the packaged gem is byte-identical and this reaches users only through a remote BuildID lookup. The BuildID of every download was checked against the filename before regenerating, so an entry can only be rewritten from the same binary it named. 78 could not be rebuilt and keep their old content: 30 whose libc has since disappeared from libcdb, 10 that record no usable source at all (libcdb has no package matching their BuildID -- searched exhaustively by version), and 38 that were already current. The architecture comment moves to elftools' present spelling, which is what the one builds_info spec was pinning. * Recover the last 40 from the distributions' own archives libcdb no longer has 30 of the libcs it was the recorded source for, and 10 entries never named a source at all. Both distributions keep everything they have ever published, so the libcs came from there instead: Launchpad for Ubuntu, which still serves binaries removed from the pool years ago, and snapshot.debian.org for Debian. All 40 were found, BuildID-matched as before. Several Debian ones matched the x32-hosted package rather than the amd64-hosted one of the same version -- a different binary with a different BuildID, which is why libcdb's copy did not match. The libc inside such a package is an ordinary 64-bit or i386 one. The 10 that recorded no source now record the archive URL they came from, so they are re-derivable from here on, and the whole database is current: 883 of 883 entries, 43,410 gadgets.