• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / sonde / 23516607531
82%

Build:
DEFAULT BRANCH: main
Ran 24 Mar 2026 11:12PM UTC
Jobs 1
Files 76
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Mar 2026 11:08PM UTC coverage: 85.859% (+0.05%) from 85.806%
23516607531

push

github

web-flow
Reject ephemeral programs that declare maps at ingestion time (#482)

* Reject ephemeral programs that declare maps at ingestion time

Ephemeral programs are stateless and must not carry map definitions.
Previously, such programs would pass ingestion and fail later on the
node. Now \ingest_elf()\ performs a lightweight scan of ELF section
headers for \.maps\/\maps\ sections and rejects ephemeral programs
early with an actionable \VerificationFailed\ error.

Spec changes (GW-0401 criterion 5, T-0408, design §8.2 step 2).

Closes #473

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address review findings for ephemeral map rejection

- Validate ELF magic, 64-bit class, and LE endianness before scanning
  section headers, preventing false positives on non-ELF input.
- Use checked arithmetic (`checked_mul`/`checked_add`) for all offset
  computations derived from untrusted ELF bytes, preventing overflow-
  induced panics on malformed input.
- Extend map-backed section detection to include `.rodata`, `.data`,
  and `.bss` (libbpf/prevail promote these to array maps), covering
  the `.rodata` failure mode reported in #473.
- Fix `ingest_elf` doc comment step ordering to match actual control
  flow (ephemeral rejection happens before temp file write).
- Update test helper doc comment to reflect pre-Prevail section-scan
  context.
- Update gateway-design.md to list the full set of detected sections.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

175 of 188 new or added lines in 1 file covered. (93.09%)

22125 of 25769 relevant lines covered (85.86%)

163.07 hits per line

Uncovered Changes

Lines Coverage ∆ File
13
90.48
1.37% crates/sonde-gateway/src/program.rs
Jobs
ID Job ID Ran Files Coverage
1 23516607531.1 24 Mar 2026 11:12PM UTC 76
85.86
GitHub Action Run
Source Files on build 23516607531
  • Tree
  • List 76
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23516607531
  • ec5ba5f8 on github
  • Prev Build on main (#23516142523)
  • Next Build on main (#23521283250)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc