Skip to content

virtualbox: remove the FDP access method - #310

Merged
Wenzel merged 2 commits into
devfrom
vbox/remove-fdp
Oct 12, 2026
Merged

Wenzel merged 2 commits into
devfrom
vbox/remove-fdp

Conversation

@Wenzel

@Wenzel Wenzel commented Oct 12, 2026

Copy link
Copy Markdown
Owner

Closes #289.

Breaking clean cutover:

  • deletes the FDP VirtualBox driver and fdp/fdp-sys dependencies;
  • removes every icebox/libFDP clone/build/include/library step from CI and Python/Gitpod containers;
  • virtualbox now aggregates virtualbox-api + virtualbox-vmi; Linux CI covers each standalone method and aggregate cfg, Windows CI compiles virtualbox-api only;
  • removes FDP from Rust/Python/C parameters, exports, examples, Volatility parsing and docs. VirtualBox access-method selection is explicit; Rust returns AccessMethodRequired; C keeps a validated u32 discriminant (0 = no VBox params, unknown values rejected without enum UB);
  • replaces legacy docs with MachineDebugger/VBoxVMI docs; adds ADR 0003-drop-fdp-access-method.md and CHANGELOG breaking-removal entry.

Platform note: both replacement methods currently work on Linux. Windows virtualbox-api is compile-only because rs-vboxapi loads VBoxXPCOMC.so, not VBoxCAPI.dll; after FDP removal no VirtualBox runtime method works on Windows. Docs/artifact guide state this explicitly.

Verification: Rust 1.99 fmt/clippy default/api/vmi/aggregate/aggregate-tests; lib/error/filter/utilities tests; Linux all-target aggregate check; Windows GNU api-only cross-check; Python 3.14 compile/unit/build/import; C header generation + 4 examples; CI YAML, Dockerfiles, mdbook. Cargo.lock/product/CI/container grep contains no FDP/icebox; only CHANGELOG and historical ADRs retain intentional mentions.

@Wenzel
Wenzel merged commit f282b73 into dev Oct 12, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant