yams/tools/fuzzing/dicts/p2p.dict
trvon 2a63eb1af8
test(fuzz): add a direct-P2P fuzz lane and a topology codec harness
New libFuzzer/AFL++ harnesses, each trapping on an oracle violation:
p2p_json (nesting bound, round trip), p2p_connstr (endpoint round trip,
pin idempotence, no silent re-pin), p2p_handshake (validators and the
full acceptor bind the TLS peer), p2p_delta_stream (batch, session and
bootstrap receive paths stay inside count and byte budgets), p2p_inbound
(the manager inbound session through registry update) and
topology_codec (decoded snapshots re-encode losslessly). p2p_delta now
draws its exchange limits from the input.

p2p_seeds.py writes framed-session seeds for FuzzedDataProvider layouts,
dicts/p2p.dict carries the frame vocabulary, generate_corpus.sh accepts a
local seedgen, and fuzz.sh no longer fails on macOS bash 3.2 when a
target has no dictionary. The generated corpus stays untracked.
2026-09-22 13:55:04 -06:00

50 lines
715 B
Text

# Direct-P2P control-frame vocabulary for libFuzzer (-dict) and AFL++ (-x).
"type"
"hello"
"hello_ack"
"state"
"writer_window"
"history_proof"
"replication_mode"
"delta_batch"
"delta_record"
"delta_ack"
"snapshot_begin"
"snapshot_ack"
"protocol"
"schema_version"
"node_id"
"corpus_id"
"corpus_epoch"
"max_writer_advance"
"max_writer_window_bytes"
"vv"
"counters_"
"seen"
"commitments"
"quarantined_writers"
"writer"
"counter"
"count"
"has_more"
"payload_size"
"mode"
"delta"
"snapshot"
"witness"
"frontier"
"record_count"
"payload_bytes"
"root_digest"
"witness_key_id"
"witness_algorithm"
"witness_signature"
"Ed25519"
"yams://"
"corpus="
"epoch="
"pin="
"remember="
"sha256:"
"\x00\x00\x00\x00"
"\xff\xff\xff\xff"