Commit graph

14 commits

Author SHA1 Message Date
bb3c603172 feat(fuzz): add AFL++ with cargo-afl fuzzing support
Add a second fuzzing engine alongside the existing libFuzzer/cargo-fuzz
setup. AFL++ runs with persistent mode (afl::fuzz! macro), LLVM plugins
(CmpLog, IJON), and a SymCC concolic companion for hybrid fuzzing.

- cargo-afl built from afl.rs with a patch for CARGO_AFL_DIR /
  CARGO_AFL_LLVM_DIR env-var overrides
- AFL++ built with LLVM 22 plugins to match rust-nightly
- Persistent-mode fuzz targets in lib/fuzz-afl/
- --jobs N parallel fuzzing: main instance in foreground, secondaries
  and SymCC companion as systemd transient units in a slice
- Ctrl+c / exit cleans up all background processes via slice stop
- AFL_AUTORESUME=1 for clean restarts after previous runs
- fuzz-clean-afl collects crashes from all instance directories
- Shared harness logic in lib/src/fuzz_harness.rs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 00:33:34 +00:00
d97381396a docs: add CLAUDE.md and fuzzing section to README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 22:24:04 +00:00
2a8247c909 Update README.md 2026-03-25 13:14:19 +00:00
18a413870a feat: add UAC1 loopback test device and fix endpoint attribute dispatch
Add a simulated USB Audio Class 1 loopback device for testing
isochronous transfers. Audio sent to the playback OUT endpoint
(48kHz/16-bit/stereo) is looped back to the capture IN endpoint.

- Add UsbEndpoint::transfer_type() masking bmAttributes to bits 0-1,
  fixing dispatch for isochronous endpoints with sync-type sub-bits
- Update all endpoint attribute dispatch sites across the library
- Add UacLoopbackBuffer, UacControlHandler, UacStreamOutHandler,
  UacStreamInHandler in lib/src/uac.rs
- Add build_uac_loopback_device() builder function
- Add `test_uac connect` CLI subcommand
- Add 10 unit tests covering buffer, descriptors, and handler behavior
- Add design spec and implementation plan docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 01:43:31 +00:00
02c3017679 Update README.md 2026-03-22 11:33:07 +00:00
Jiajie Chen
a19bfe8301 Simplify documentation (fixes #59)
Remove redundant sections from README and update LICENSE copyright year.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2025-12-25 20:58:48 +08:00
Jiajie Chen
b4f78b7a01 Add crates.io badge 2020-11-08 11:00:40 +08:00
Jiajie Chen
c79d280b92 Release 0.2.0 2020-05-16 17:29:32 +08:00
Jiajie Chen
b10ca84ef9 Minor update 2020-05-16 16:53:47 +08:00
Jiajie Chen
42e6e1c988 Add detach driver and update README 2020-05-16 16:51:13 +08:00
Jiajie Chen
28edef958f Update README about host example 2020-05-16 16:23:28 +08:00
Jiajie Chen
20b4389459 Implement block device 2020-05-16 16:19:13 +08:00
Jiajie Chen
c5f2d7029e Add coverage status to README 2020-05-16 12:42:23 +08:00
Jiajie Chen
77401b403b Add LICENSE and README 2020-05-16 11:19:04 +08:00