Vixen
02b45cc4
csharp
public static class FuzzTargets

Every decode path a peer can reach, in one place.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The list is the claim. "The packet reader is fuzzed" is a much smaller statement than it sounds: the reader is the bottom of the stack, and above it sit a handshake that reads four fields from an unauthenticated connection, a router that dispatches on a pair of indices, an applier that creates and destroys entities, and a list that takes an index off the wire and mutates itself with it. All of those are reachable by somebody who can send a packet, so all of them are here.

Each is constructed fresh, because several hold live state — a session with a player in it, a client with a world behind it — and sharing one between runs would make a run depend on what ran before it.

Fields and properties (1)

  • public static IReadOnlyList<string> Names

    The names, for a command line and for a report.

Methods (2)

  • public static IReadOnlyList<IFuzzTarget> All()

    Builds every target.

  • public static IFuzzTarget Named(string name)

    Builds one target by name.

Used by (1)

  • FuzzGateTestsVixen.Net.Fuzz.Tests