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

rm-hull / dot-block / 29655504656
66%

Build:
DEFAULT BRANCH: main
Ran 18 Jul 2026 06:16PM UTC
Jobs 1
Files 38
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

18 Jul 2026 06:15PM UTC coverage: 63.146% (+0.4%) from 62.729%
29655504656

push

github

web-flow
feat: move blocklist response to authority section (#208)

* feat: move blocklist response to authority section

- Move blocked domain SOA records from the `Answer` section to the
`Authority` section to align with DNS standards.
- Add `EDNS0_EDE` (Extended DNS Error) to the `Extra` section for
blocked queries to provide better diagnostic feedback.
- Update multi-question response handling to preserve upstream answers
while correctly categorizing blocked domains.

```mermaid
sequenceDiagram
    participant C as Client
    participant D as Dispatcher
    participant B as Blocklist Engine

    C->>D: DNS Query
    D->>B: Check domain
    B-->>D: Is Blocked
    D->>D: Construct SOA (Authority)
    D->>D: Construct EDE (Extra)
    D-->>C: Response (Rcode: Success, Ns: [SOA], Extra: [EDE])
```

* refactor: use QuestionResolution struct for DNS queries

Introduce `QuestionResolution` to encapsulate DNS response data,
improving readability and reducing return signature complexity in
the dispatching logic.

```mermaid
sequenceDiagram
    participant D as Dispatcher
    participant P as ProcessQuestion
    D->>P: Handle Query
    P-->>D: Return QuestionResolution (ans, auth, extra, rcode)
    D->>D: Merge Response
```

- Encapsulated `processQuestion` results into a dedicated struct.
- Extracted `constructBlockedResponse` for better modularity.
- Added helper `newReply` to standardize response instantiation.

* fix: merge EDNS0 options instead of appending

Ensures that multiple EDNS0 options from upstream responses are
correctly merged into the existing OPT record in the response,
preventing duplicate OPT records which violate DNS protocol
specifications.

```mermaid
sequenceDiagram
    participant U as Upstream
    participant D as Dispatcher
    participant C as Client

    U->>D: Return DNS message with extra RR (OPT)
    D->>D: Check if OPT exists in response
    alt OPT exists
        D->>D: Merge options into existing record
    else No OPT
        D->>D... (continued)

76 of 83 new or added lines in 1 file covered. (91.57%)

1686 of 2670 relevant lines covered (63.15%)

649.98 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
85.16
0.2% internal/forwarder/dispatcher.go
Jobs
ID Job ID Ran Files Coverage
1 29655504656.1 18 Jul 2026 06:16PM UTC 38
63.15
GitHub Action Run
Source Files on build 29655504656
  • Tree
  • List 38
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 8da4a9be on github
  • Prev Build on main (#29582538785)
  • Next Build on main (#29655593154)
  • Delete
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