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

rm-hull / dot-block / 27276150286
61%

Build:
DEFAULT BRANCH: main
Ran 10 Jun 2026 12:28PM UTC
Jobs 1
Files 30
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

10 Jun 2026 12:27PM UTC coverage: 60.615% (+0.3%) from 60.357%
27276150286

push

github

web-flow
feat: add EDNS0 Client Subnet (ECS) support (#151)

* feat: add EDNS0 Client Subnet (ECS) support

- Added `--enable-ecs` flag to enable location-aware DNS responses.
- Implemented subnet calculation based on client IP (masking /24 for
IPv4 and /48 for IPv6).
- Injected ECS option into upstream queries.
- Updated caching logic to include the subnet in the cache key.
- Added comprehensive unit tests for ECS injection and cache key
isolation.

Fixes #50

* test: prevent race condition in ECS injection test

Added a channel synchronization mechanism to ensure the DNS request
is captured before assertions are performed, preventing potential
flaky test failures due to race conditions.

* fix: correctly mask and format ECS subnet IP addresses

Convert `net.IP` objects to string representations instead of casting
raw bytes, and ensure IP addresses are properly masked before being
added to the ECS EDNS0 options.

* fix: update existing EDNS0 subnet option instead of appending

Ensures that the dispatcher updates the existing EDNS0 subnet option
within the DNS OPT record if present, preventing duplicate options
when applying ECS.

* fix: check EDNS0 subnet via option code

Use the explicit `dns.EDNS0SUBNET` constant to identify ECS options
instead of type assertion to ensure more robust matching.

* test: assert server shutdown success in dispatcher tests

Ensure that `server.Shutdown()` returns no error during test cleanup
to prevent silent failures and potential resource leaks.

70 of 84 new or added lines in 3 files covered. (83.33%)

11 existing lines in 1 file now uncovered.

1302 of 2148 relevant lines covered (60.61%)

830.71 hits per line

Uncovered Changes

Lines Coverage ∆ File
13
85.0
-0.53% internal/forwarder/dispatcher.go
1
0.0
0.0% main.go

Coverage Regressions

Lines Coverage ∆ File
11
57.78
-3.29% internal/app.go
Jobs
ID Job ID Ran Files Coverage
1 27276150286.1 10 Jun 2026 12:27PM UTC 30
60.61
GitHub Action Run
Source Files on build 27276150286
  • Tree
  • List 30
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 199cc9a2 on github
  • Prev Build on main (#27231114288)
  • Next Build on main (#27308562611)
  • Delete
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