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

dangernoodle-io / breadboard / 30514531201
97%

Build:
DEFAULT BRANCH: main
Ran 30 Jul 2026 04:42AM UTC
Jobs 1
Files 207
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

30 Jul 2026 04:40AM UTC coverage: 96.589% (+0.009%) from 96.58%
30514531201

push

github

web-flow
feat: add bb_http_prov_gate default-deny provisioning route allowlist (#1145)

Deliberately INERT (PR-1 of 5, B1-1279): builds the gate primitive only,
no call sites anywhere -- a later PR wires bb_http_prov_gate_allow() into
the dispatch path and calls bb_http_prov_allow() for the provisioning
endpoints and /ping.

bb_http_prov_allow(method, path) records an explicit (method,path) entry
in a static, no-heap allowlist (cap CONFIG_BB_HTTP_PROV_ALLOWLIST_CAP,
default 8). bb_http_prov_gate_allow(prov_active, method, uri) is the pure
decision function: default-deny is structural -- no allowlist entry means
denied, and there is no allow-all runtime bit. CONFIG_BB_WIFI_PROV_GATE_DISABLE
is a build-time-only escape hatch for debug/bring-up, now covered by a
dedicated host test env (native_prov_gate_disable) so the branch actually
compiles and is exercised in CI instead of being permanently preprocessed
out.

Extracts the shared exact/suffix-wildcard predicate into
components/bb_http_server/src/bb_route_match.h -- bb_route_uri_match(pattern,
uri, match_upto), argument-compatible with esp_http_server's
httpd_uri_match_wildcard(uri_template, uri_to_match, match_upto) shape.
This is a deliberate SEAM: the current body is an interim trailing-'*'
subset, documented as a future platform hook (ESP-IDF delegates to the
real httpd matcher; host gets a trivial selection-only stub) rather than a
shared/vendored implementation. Because the matcher is still
interim-subset-only, bb_http_prov_allow() restricts wildcard entries to
/api/* paths (the family actually verified against it) -- documented as
removable once the seam delegates to the platform hook.

Every pattern-matching call site in bb_http_server now funnels through
this one predicate: route_registry.c's bb_dispatch_api_lookup (both
passes), bb_http_uri_is_registered (the 404-vs-405 registry-membership
check), and bb_http_prov_gate.c's allow-check. The prior standalone
uri_pattern_match() (bb_http_uri_is_registere... (continued)

7966 of 8570 branches covered (92.95%)

Branch coverage included in aggregate %.

44 of 44 new or added lines in 3 files covered. (100.0%)

13527 of 13682 relevant lines covered (98.87%)

2604.73 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30514531201.1 30 Jul 2026 04:42AM UTC 207
96.59
GitHub Action Run
Source Files on build 30514531201
  • Tree
  • List 207
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30514531201
  • 8a074550 on github
  • Prev Build on main (#30513056642)
  • Next Build on main (#30515135465)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc