-
Notifications
You must be signed in to change notification settings - Fork 1
0.8 line #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
0.8 line #5
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
6103871
fix(receiver/pnet): clean shutdown on capture-thread error instead of…
asmie 87f9c7e
refactor(snmp): document AgentX panic audit and add supervisor log
asmie 1610d11
test(snmp): malformed-PDU and OID-boundary coverage from B1 audit
asmie 114d32b
feat(observability): graceful SNMP degradation; fail-fast metrics bind
asmie fc7e9cb
test(receiver): pin --strict-packets contract; convert eprintln to log
asmie 57ce1ac
docs(architecture): refresh TLV table and add operational characteris…
asmie b1807d8
test(tlv): conformance audit for U/M/I/C flag semantics
asmie 00972a3
test(ber): on-wire regression for sender padding and reflector counting
asmie 5942976
feat(tlv/headers): align Type 247 length-mismatch with draft-ext-hdr-…
asmie 35fd000
test(time): PTP timestamp end-to-end loopback coverage
asmie ead5e64
feat(tlv/reflected-control): align Type 12 with draft-14 §3
asmie da46d00
build: run CI for branches
asmie 84f2a1f
test(receiver): malformed-input suite covering RFC 8762 boundary cond…
asmie 05fa511
test(stats): RFC 3550 jitter and percentile edge cases
asmie f6caca9
test(loopback): TLV-by-TLV IPv6 parity coverage
asmie cc71be7
test(receiver/pnet): cfg-gated loopback coverage on lo interface
asmie f9fb5a5
test(fuzz): proptest round-trip and libfuzzer harnesses for TLV + Age…
asmie 9c105a9
feat(reflector): per-client token-bucket rate limiting
asmie 77664ab
feat(crypto): per-SSID HMAC key directory for multi-tenant reflectors
asmie c8fa3cd
ci: update building on Windows
asmie 5db1130
revert: use again pcap SDK as zip file instead of installing exe
asmie d12106c
feat(logging): structured JSON output via tracing-subscriber
asmie 7778f2d
feat(config): --print-config-schema exposes JSON Schema for validation
asmie 1e156fb
ci: lint STAMP-SUITE-MIB with smilint
asmie bd6683e
bench(loopback): criterion suite for sender↔reflector throughput
asmie 9f21288
feat(time): defensive --hwtstamp scaffold with capability probe
asmie 258a252
ci: pin to windows-2022 because of npcap dep
asmie d6fcd4c
build: nix hash update
asmie 8b326b1
chore: prepare 0.8.0 to release
asmie 8676659
ci: omit Windows test job
asmie cb30223
fix: address PR #5 review findings
asmie 08591c9
ci: grant security-audit job checks:write; bump yanked metrics
asmie File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| name: Fuzz | ||
|
|
||
| # Fuzz targets are excluded from the default cargo workspace and require | ||
| # nightly + cargo-fuzz. Run on demand or on a slow schedule, not on every | ||
| # PR. | ||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| duration_secs: | ||
| description: "Per-target fuzz duration (seconds)" | ||
| required: false | ||
| default: "60" | ||
| schedule: | ||
| # Sunday 03:30 UTC — once a week is enough for the parser surface | ||
| # we're covering; bump if/when we add more targets. | ||
| - cron: "30 3 * * 0" | ||
|
|
||
| # Default to a read-only token. The job uploads artifacts on failure, | ||
| # which is satisfied by `contents: read` plus `actions/upload-artifact`'s | ||
| # own scoping; no write access to repo contents is needed. | ||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| fuzz: | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| target: | ||
| - tlv_list_parse | ||
| - tlv_list_parse_lenient | ||
| - raw_tlv_parse | ||
| - packet_unauth_parse | ||
| - packet_auth_parse | ||
| - agentx_decode_header | ||
| - agentx_decode_oid | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Install nightly toolchain | ||
| uses: dtolnay/rust-toolchain@nightly | ||
| - name: Install cargo-fuzz | ||
| run: cargo install cargo-fuzz --locked | ||
| - name: Run fuzz target | ||
| env: | ||
| # Use env-var indirection per GitHub security guidance: matrix | ||
| # values are author-controlled, but pulling them through env | ||
| # protects against future template changes that might let | ||
| # untrusted input slip in. | ||
| FUZZ_TARGET: ${{ matrix.target }} | ||
| DURATION: ${{ github.event.inputs.duration_secs || '60' }} | ||
| run: | | ||
| cd fuzz | ||
| cargo +nightly fuzz run "$FUZZ_TARGET" -- -max_total_time="$DURATION" | ||
| - name: Upload crashes (if any) | ||
| if: failure() | ||
| uses: actions/upload-artifact@v4 | ||
| env: | ||
| FUZZ_TARGET: ${{ matrix.target }} | ||
| with: | ||
| name: fuzz-crashes-${{ matrix.target }} | ||
| path: | | ||
| fuzz/artifacts/${{ matrix.target }}/ | ||
| fuzz/corpus/${{ matrix.target }}/ | ||
| if-no-files-found: ignore | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.