Skip to content

Fix arbitrary feature flag plumbing so it compiles #1121

@CBenoit

Description

The arbitrary feature is currently broken / not consistently compiled. We want it working again and wired correctly across crates that define PDUs.

Scope

  • Add/repair arbitrary feature flags in crates that own PDU structs/enums
  • Ensure the dependency is optional and feature-gated
  • Ensure it works in both std and no_std + alloc contexts where applicable
  • Document “how to build with arbitrary” in the relevant .md documents

Tasks

  • Identify target crates (likely ironrdp-pdu and any other protocol crates that expose PDU types)
  • Add arbitrary = { version = "1", features = ["derive"], optional = true }
  • Add features wiring (arbitrary = ["dep:arbitrary", ...])
  • Check cargo check -p <crate> --features arbitrary passes locally
[dependencies]
arbitrary = { version = "1", features = ["derive"], optional = true }

[features]
# Pick one:
# - If the crate is std-only: arbitrary = ["std", "dep:arbitrary"]
# - If the crate supports no_std + alloc: arbitrary = ["alloc", "dep:arbitrary"]
arbitrary = ["alloc", "dep:arbitrary"]

Acceptance criteria

  • cargo check for the target crates succeeds with --features arbitrary
  • No breaking change for default feature sets

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-coreArea: Core tierfuzzingCrashs and other bugs found by fuzzinggood first issueGood for newcomers

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions