refactor: centralize DNS response creation logic with helper functions#1942
refactor: centralize DNS response creation logic with helper functions#1942
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1942 +/- ##
==========================================
- Coverage 90.22% 90.16% -0.06%
==========================================
Files 90 90
Lines 6473 6458 -15
==========================================
- Hits 5840 5823 -17
- Misses 493 495 +2
Partials 140 140 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull Request Overview
This PR refactors DNS response creation logic by introducing centralized helper functions in a new model/response_helpers.go file. The refactoring improves code maintainability by standardizing how DNS responses are created across different resolver types, reducing code duplication and making the response creation pattern more explicit and consistent.
Key changes:
- Introduced four helper functions (
NewResponseWithReason,NewResponseWithAnswers,NewResponseWithRcode,NewEmptyResponse) to centralize DNS response creation patterns - Updated multiple resolvers to use these helpers instead of manually creating
dns.Msginstances and callingSetReply/SetRcode - Modified
createServFailResponseDNSSECto accept*model.Requestinstead of*dns.Msgfor consistency with the new helpers
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| model/response_helpers.go | New file containing four helper functions for standardized DNS response creation with different initialization patterns |
| resolver/hosts_file_resolver.go | Refactored to use NewResponseWithAnswers for PTR record responses and simplified resolve method to return []dns.RR instead of *dns.Msg |
| resolver/fqdn_only_resolver.go | Replaced manual response creation with NewEmptyResponse for NXDOMAIN responses |
| resolver/filtering_resolver.go | Replaced SetRcode pattern with NewResponseWithRcode helper |
| resolver/dnssec_resolver.go | Updated createServFailResponseDNSSEC to accept *model.Request and use NewResponseWithRcode helper |
| resolver/dnssec_resolver_test.go | Updated test calls to createServFailResponseDNSSEC to pass *model.Request instead of *dns.Msg |
| resolver/custom_dns_resolver.go | Refactored to use NewResponseWithAnswers and NewResponseWithReason helpers, removing manual dns.Msg creation |
| resolver/blocking_resolver.go | Replaced manual response creation with NewResponseWithReason helper for blocked requests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [0xerr0r/blocky](https://github.com/0xerr0r/blocky) | minor | `v0.28.2` → `v0.29.0` | | [ghcr.io/0xerr0r/blocky](https://github.com/0xERR0R/blocky) | minor | `v0.28.2` → `v0.29.0` | --- ### Release Notes <details> <summary>0xerr0r/blocky (0xerr0r/blocky)</summary> ### [`v0.29.0`](https://github.com/0xERR0R/blocky/releases/tag/v0.29.0) [Compare Source](0xERR0R/blocky@v0.28.2...v0.29.0) #### Changelog ##### Features - [`0c35f21`](0xERR0R/blocky@0c35f21): feat: add RFC 7239 Forwarded header support for client IP parsing ([#​1941](0xERR0R/blocky#1941)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`011e3eb`](0xERR0R/blocky@011e3eb): feat: implement DNS64 support ([#​1933](0xERR0R/blocky#1933)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`e199445`](0xERR0R/blocky@e199445): feat: improve IP parsing from X-Forwarded-For header ([#​1940](0xERR0R/blocky#1940)) ([@​0xERR0R](https://github.com/0xERR0R)) ##### Bug fixes - [`257fe07`](0xERR0R/blocky@257fe07): fix: Incorrect rate data shown on Grafana dashboards ([#​1948](0xERR0R/blocky#1948)) ([@​mattdy](https://github.com/mattdy)) - [`1a4d22d`](0xERR0R/blocky@1a4d22d): fix: db automigration with timescaledb ([#​1975](0xERR0R/blocky#1975)) ([@​manofthepeace](https://github.com/manofthepeace)) - [`9874212`](0xERR0R/blocky@9874212): fix: use context based versions of net.Listen and net.Dial ([#​1952](0xERR0R/blocky#1952)) ([@​sonjek](https://github.com/sonjek)) ##### Build and dependencies - [`fe67404`](0xERR0R/blocky@fe67404): build(deps): bump actions/checkout from 5 to 6 ([#​1943](0xERR0R/blocky#1943)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4752061`](0xERR0R/blocky@4752061): build(deps): bump actions/download-artifact from 6 to 7 ([#​1961](0xERR0R/blocky#1961)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`d459311`](0xERR0R/blocky@d459311): build(deps): bump actions/download-artifact from 7 to 8 ([#​2000](0xERR0R/blocky#2000)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`fa1614b`](0xERR0R/blocky@fa1614b): build(deps): bump actions/upload-artifact from 5 to 6 ([#​1960](0xERR0R/blocky#1960)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`11b6f92`](0xERR0R/blocky@11b6f92): build(deps): bump actions/upload-artifact from 6 to 7 ([#​1998](0xERR0R/blocky#1998)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e83805c`](0xERR0R/blocky@e83805c): build(deps): bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 ([#​1992](0xERR0R/blocky#1992)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4f62ec8`](0xERR0R/blocky@4f62ec8): build(deps): bump github.com/alicebob/miniredis/v2 from 2.35.0 to 2.36.0 ([#​1976](0xERR0R/blocky#1976)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`16644c5`](0xERR0R/blocky@16644c5): build(deps): bump github.com/alicebob/miniredis/v2 from 2.36.0 to 2.36.1 ([#​1978](0xERR0R/blocky#1978)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`36ae188`](0xERR0R/blocky@36ae188): build(deps): bump github.com/alicebob/miniredis/v2 from 2.36.1 to 2.37.0 ([#​1996](0xERR0R/blocky#1996)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4733c6b`](0xERR0R/blocky@4733c6b): build(deps): bump github.com/breml/rootcerts from 0.3.3 to 0.3.4 ([#​1987](0xERR0R/blocky#1987)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e4f7462`](0xERR0R/blocky@e4f7462): build(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 ([#​1972](0xERR0R/blocky#1972)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`f9dd4d2`](0xERR0R/blocky@f9dd4d2): build(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 ([#​1985](0xERR0R/blocky#1985)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e66a29d`](0xERR0R/blocky@e66a29d): build(deps): bump github.com/miekg/dns from 1.1.68 to 1.1.69 ([#​1959](0xERR0R/blocky#1959)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`8e69355`](0xERR0R/blocky@8e69355): build(deps): bump github.com/miekg/dns from 1.1.69 to 1.1.70 ([#​1968](0xERR0R/blocky#1968)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`5e8b555`](0xERR0R/blocky@5e8b555): build(deps): bump github.com/miekg/dns from 1.1.70 to 1.1.72 ([#​1977](0xERR0R/blocky#1977)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ef5dc97`](0xERR0R/blocky@ef5dc97): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.2 to 2.27.3 ([#​1956](0xERR0R/blocky#1956)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`670542b`](0xERR0R/blocky@670542b): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.4 ([#​1966](0xERR0R/blocky#1966)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e062742`](0xERR0R/blocky@e062742): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.4 to 2.27.5 ([#​1970](0xERR0R/blocky#1970)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4926d16`](0xERR0R/blocky@4926d16): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.5 to 2.28.1 ([#​1981](0xERR0R/blocky#1981)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ca0da10`](0xERR0R/blocky@ca0da10): build(deps): bump github.com/onsi/gomega from 1.38.2 to 1.38.3 ([#​1955](0xERR0R/blocky#1955)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`567a738`](0xERR0R/blocky@567a738): build(deps): bump github.com/onsi/gomega from 1.38.3 to 1.39.0 ([#​1967](0xERR0R/blocky#1967)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`c3aab87`](0xERR0R/blocky@c3aab87): build(deps): bump github.com/onsi/gomega from 1.39.0 to 1.39.1 ([#​1982](0xERR0R/blocky#1982)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ef79a67`](0xERR0R/blocky@ef79a67): build(deps): bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 ([#​1974](0xERR0R/blocky#1974)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6775759`](0xERR0R/blocky@6775759): build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 ([#​1953](0xERR0R/blocky#1953)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`71c39fc`](0xERR0R/blocky@71c39fc): build(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 ([#​1939](0xERR0R/blocky#1939)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`be31648`](0xERR0R/blocky@be31648): build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 ([#​1957](0xERR0R/blocky#1957)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`a574078`](0xERR0R/blocky@a574078): build(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 ([#​1971](0xERR0R/blocky#1971)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6f3f295`](0xERR0R/blocky@6f3f295): build(deps): bump golang.org/x/net from 0.49.0 to 0.50.0 ([#​1988](0xERR0R/blocky#1988)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6a75afb`](0xERR0R/blocky@6a75afb): build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 ([#​1997](0xERR0R/blocky#1997)) ([@​dependabot](https://github.com/dependabot)\[bot]) ##### Misc - [`439e99b`](0xERR0R/blocky@439e99b): Add Blocky Visor to web UIs section in installation.md ([#​1993](0xERR0R/blocky#1993)) ([@​JCHHeilmann](https://github.com/JCHHeilmann)) - [`ced469f`](0xERR0R/blocky@ced469f): refactor: centralize DNS response creation logic with helper functions ([#​1942](0xERR0R/blocky#1942)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`3075c38`](0xERR0R/blocky@3075c38): refactor: clean up obsolete Go syntax ([#​1951](0xERR0R/blocky#1951)) ([@​sonjek](https://github.com/sonjek)) - [`9fe42a8`](0xERR0R/blocky@9fe42a8): refactor: simplify code for improved readability and maintainability ([#​1945](0xERR0R/blocky#1945)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`6581668`](0xERR0R/blocky@6581668): refactor: use mockery for mocks ([#​1944](0xERR0R/blocky#1944)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`55ab95e`](0xERR0R/blocky@55ab95e): test(metrics): Prometheus metrics ([#​1868](0xERR0R/blocky#1868)) ([@​zeilenschubser](https://github.com/zeilenschubser)) </details> <details> <summary>0xERR0R/blocky (ghcr.io/0xerr0r/blocky)</summary> ### [`v0.29.0`](https://github.com/0xERR0R/blocky/releases/tag/v0.29.0) [Compare Source](0xERR0R/blocky@v0.28.2...v0.29.0) #### Changelog ##### Features - [`0c35f21`](0xERR0R/blocky@0c35f21): feat: add RFC 7239 Forwarded header support for client IP parsing ([#​1941](0xERR0R/blocky#1941)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`011e3eb`](0xERR0R/blocky@011e3eb): feat: implement DNS64 support ([#​1933](0xERR0R/blocky#1933)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`e199445`](0xERR0R/blocky@e199445): feat: improve IP parsing from X-Forwarded-For header ([#​1940](0xERR0R/blocky#1940)) ([@​0xERR0R](https://github.com/0xERR0R)) ##### Bug fixes - [`257fe07`](0xERR0R/blocky@257fe07): fix: Incorrect rate data shown on Grafana dashboards ([#​1948](0xERR0R/blocky#1948)) ([@​mattdy](https://github.com/mattdy)) - [`1a4d22d`](0xERR0R/blocky@1a4d22d): fix: db automigration with timescaledb ([#​1975](0xERR0R/blocky#1975)) ([@​manofthepeace](https://github.com/manofthepeace)) - [`9874212`](0xERR0R/blocky@9874212): fix: use context based versions of net.Listen and net.Dial ([#​1952](0xERR0R/blocky#1952)) ([@​sonjek](https://github.com/sonjek)) ##### Build and dependencies - [`fe67404`](0xERR0R/blocky@fe67404): build(deps): bump actions/checkout from 5 to 6 ([#​1943](0xERR0R/blocky#1943)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4752061`](0xERR0R/blocky@4752061): build(deps): bump actions/download-artifact from 6 to 7 ([#​1961](0xERR0R/blocky#1961)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`d459311`](0xERR0R/blocky@d459311): build(deps): bump actions/download-artifact from 7 to 8 ([#​2000](0xERR0R/blocky#2000)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`fa1614b`](0xERR0R/blocky@fa1614b): build(deps): bump actions/upload-artifact from 5 to 6 ([#​1960](0xERR0R/blocky#1960)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`11b6f92`](0xERR0R/blocky@11b6f92): build(deps): bump actions/upload-artifact from 6 to 7 ([#​1998](0xERR0R/blocky#1998)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e83805c`](0xERR0R/blocky@e83805c): build(deps): bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 ([#​1992](0xERR0R/blocky#1992)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4f62ec8`](0xERR0R/blocky@4f62ec8): build(deps): bump github.com/alicebob/miniredis/v2 from 2.35.0 to 2.36.0 ([#​1976](0xERR0R/blocky#1976)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`16644c5`](0xERR0R/blocky@16644c5): build(deps): bump github.com/alicebob/miniredis/v2 from 2.36.0 to 2.36.1 ([#​1978](0xERR0R/blocky#1978)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`36ae188`](0xERR0R/blocky@36ae188): build(deps): bump github.com/alicebob/miniredis/v2 from 2.36.1 to 2.37.0 ([#​1996](0xERR0R/blocky#1996)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4733c6b`](0xERR0R/blocky@4733c6b): build(deps): bump github.com/breml/rootcerts from 0.3.3 to 0.3.4 ([#​1987](0xERR0R/blocky#1987)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e4f7462`](0xERR0R/blocky@e4f7462): build(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 ([#​1972](0xERR0R/blocky#1972)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`f9dd4d2`](0xERR0R/blocky@f9dd4d2): build(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 ([#​1985](0xERR0R/blocky#1985)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e66a29d`](0xERR0R/blocky@e66a29d): build(deps): bump github.com/miekg/dns from 1.1.68 to 1.1.69 ([#​1959](0xERR0R/blocky#1959)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`8e69355`](0xERR0R/blocky@8e69355): build(deps): bump github.com/miekg/dns from 1.1.69 to 1.1.70 ([#​1968](0xERR0R/blocky#1968)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`5e8b555`](0xERR0R/blocky@5e8b555): build(deps): bump github.com/miekg/dns from 1.1.70 to 1.1.72 ([#​1977](0xERR0R/blocky#1977)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ef5dc97`](0xERR0R/blocky@ef5dc97): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.2 to 2.27.3 ([#​1956](0xERR0R/blocky#1956)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`670542b`](0xERR0R/blocky@670542b): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.4 ([#​1966](0xERR0R/blocky#1966)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e062742`](0xERR0R/blocky@e062742): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.4 to 2.27.5 ([#​1970](0xERR0R/blocky#1970)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4926d16`](0xERR0R/blocky@4926d16): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.5 to 2.28.1 ([#​1981](0xERR0R/blocky#1981)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ca0da10`](0xERR0R/blocky@ca0da10): build(deps): bump github.com/onsi/gomega from 1.38.2 to 1.38.3 ([#​1955](0xERR0R/blocky#1955)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`567a738`](0xERR0R/blocky@567a738): build(deps): bump github.com/onsi/gomega from 1.38.3 to 1.39.0 ([#​1967](0xERR0R/blocky#1967)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`c3aab87`](0xERR0R/blocky@c3aab87): build(deps): bump github.com/onsi/gomega from 1.39.0 to 1.39.1 ([#​1982](0xERR0R/blocky#1982)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ef79a67`](0xERR0R/blocky@ef79a67): build(deps): bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 ([#​1974](0xERR0R/blocky#1974)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6775759`](0xERR0R/blocky@6775759): build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 ([#​1953](0xERR0R/blocky#1953)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`71c39fc`](0xERR0R/blocky@71c39fc): build(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 ([#​1939](0xERR0R/blocky#1939)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`be31648`](0xERR0R/blocky@be31648): build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 ([#​1957](0xERR0R/blocky#1957)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`a574078`](0xERR0R/blocky@a574078): build(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 ([#​1971](0xERR0R/blocky#1971)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6f3f295`](0xERR0R/blocky@6f3f295): build(deps): bump golang.org/x/net from 0.49.0 to 0.50.0 ([#​1988](0xERR0R/blocky#1988)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6a75afb`](0xERR0R/blocky@6a75afb): build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 ([#​1997](0xERR0R/blocky#1997)) ([@​dependabot](https://github.com/dependabot)\[bot]) ##### Misc - [`439e99b`](0xERR0R/blocky@439e99b): Add Blocky Visor to web UIs section in installation.md ([#​1993](0xERR0R/blocky#1993)) ([@​JCHHeilmann](https://github.com/JCHHeilmann)) - [`ced469f`](0xERR0R/blocky@ced469f): refactor: centralize DNS response creation logic with helper functions ([#​1942](0xERR0R/blocky#1942)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`3075c38`](0xERR0R/blocky@3075c38): refactor: clean up obsolete Go syntax ([#​1951](0xERR0R/blocky#1951)) ([@​sonjek](https://github.com/sonjek)) - [`9fe42a8`](0xERR0R/blocky@9fe42a8): refactor: simplify code for improved readability and maintainability ([#​1945](0xERR0R/blocky#1945)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`6581668`](0xERR0R/blocky@6581668): refactor: use mockery for mocks ([#​1944](0xERR0R/blocky#1944)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`55ab95e`](0xERR0R/blocky@55ab95e): test(metrics): Prometheus metrics ([#​1868](0xERR0R/blocky#1868)) ([@​zeilenschubser](https://github.com/zeilenschubser)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS44IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuOCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=--> Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4282 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/0xerr0r/blocky](https://github.com/0xERR0R/blocky) | minor | `v0.28.2` → `v0.29.0` | --- ### Release Notes <details> <summary>0xERR0R/blocky (ghcr.io/0xerr0r/blocky)</summary> ### [`v0.29.0`](https://github.com/0xERR0R/blocky/releases/tag/v0.29.0) [Compare Source](0xERR0R/blocky@v0.28.2...v0.29.0) #### Changelog ##### Features - [`0c35f21`](0xERR0R/blocky@0c35f21): feat: add RFC 7239 Forwarded header support for client IP parsing ([#​1941](0xERR0R/blocky#1941)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`011e3eb`](0xERR0R/blocky@011e3eb): feat: implement DNS64 support ([#​1933](0xERR0R/blocky#1933)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`e199445`](0xERR0R/blocky@e199445): feat: improve IP parsing from X-Forwarded-For header ([#​1940](0xERR0R/blocky#1940)) ([@​0xERR0R](https://github.com/0xERR0R)) ##### Bug fixes - [`257fe07`](0xERR0R/blocky@257fe07): fix: Incorrect rate data shown on Grafana dashboards ([#​1948](0xERR0R/blocky#1948)) ([@​mattdy](https://github.com/mattdy)) - [`1a4d22d`](0xERR0R/blocky@1a4d22d): fix: db automigration with timescaledb ([#​1975](0xERR0R/blocky#1975)) ([@​manofthepeace](https://github.com/manofthepeace)) - [`9874212`](0xERR0R/blocky@9874212): fix: use context based versions of net.Listen and net.Dial ([#​1952](0xERR0R/blocky#1952)) ([@​sonjek](https://github.com/sonjek)) ##### Build and dependencies - [`fe67404`](0xERR0R/blocky@fe67404): build(deps): bump actions/checkout from 5 to 6 ([#​1943](0xERR0R/blocky#1943)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4752061`](0xERR0R/blocky@4752061): build(deps): bump actions/download-artifact from 6 to 7 ([#​1961](0xERR0R/blocky#1961)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`d459311`](0xERR0R/blocky@d459311): build(deps): bump actions/download-artifact from 7 to 8 ([#​2000](0xERR0R/blocky#2000)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`fa1614b`](0xERR0R/blocky@fa1614b): build(deps): bump actions/upload-artifact from 5 to 6 ([#​1960](0xERR0R/blocky#1960)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`11b6f92`](0xERR0R/blocky@11b6f92): build(deps): bump actions/upload-artifact from 6 to 7 ([#​1998](0xERR0R/blocky#1998)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e83805c`](0xERR0R/blocky@e83805c): build(deps): bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 ([#​1992](0xERR0R/blocky#1992)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4f62ec8`](0xERR0R/blocky@4f62ec8): build(deps): bump github.com/alicebob/miniredis/v2 from 2.35.0 to 2.36.0 ([#​1976](0xERR0R/blocky#1976)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`16644c5`](0xERR0R/blocky@16644c5): build(deps): bump github.com/alicebob/miniredis/v2 from 2.36.0 to 2.36.1 ([#​1978](0xERR0R/blocky#1978)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`36ae188`](0xERR0R/blocky@36ae188): build(deps): bump github.com/alicebob/miniredis/v2 from 2.36.1 to 2.37.0 ([#​1996](0xERR0R/blocky#1996)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4733c6b`](0xERR0R/blocky@4733c6b): build(deps): bump github.com/breml/rootcerts from 0.3.3 to 0.3.4 ([#​1987](0xERR0R/blocky#1987)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e4f7462`](0xERR0R/blocky@e4f7462): build(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 ([#​1972](0xERR0R/blocky#1972)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`f9dd4d2`](0xERR0R/blocky@f9dd4d2): build(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 ([#​1985](0xERR0R/blocky#1985)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e66a29d`](0xERR0R/blocky@e66a29d): build(deps): bump github.com/miekg/dns from 1.1.68 to 1.1.69 ([#​1959](0xERR0R/blocky#1959)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`8e69355`](0xERR0R/blocky@8e69355): build(deps): bump github.com/miekg/dns from 1.1.69 to 1.1.70 ([#​1968](0xERR0R/blocky#1968)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`5e8b555`](0xERR0R/blocky@5e8b555): build(deps): bump github.com/miekg/dns from 1.1.70 to 1.1.72 ([#​1977](0xERR0R/blocky#1977)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ef5dc97`](0xERR0R/blocky@ef5dc97): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.2 to 2.27.3 ([#​1956](0xERR0R/blocky#1956)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`670542b`](0xERR0R/blocky@670542b): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.4 ([#​1966](0xERR0R/blocky#1966)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`e062742`](0xERR0R/blocky@e062742): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.4 to 2.27.5 ([#​1970](0xERR0R/blocky#1970)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`4926d16`](0xERR0R/blocky@4926d16): build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.5 to 2.28.1 ([#​1981](0xERR0R/blocky#1981)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ca0da10`](0xERR0R/blocky@ca0da10): build(deps): bump github.com/onsi/gomega from 1.38.2 to 1.38.3 ([#​1955](0xERR0R/blocky#1955)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`567a738`](0xERR0R/blocky@567a738): build(deps): bump github.com/onsi/gomega from 1.38.3 to 1.39.0 ([#​1967](0xERR0R/blocky#1967)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`c3aab87`](0xERR0R/blocky@c3aab87): build(deps): bump github.com/onsi/gomega from 1.39.0 to 1.39.1 ([#​1982](0xERR0R/blocky#1982)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`ef79a67`](0xERR0R/blocky@ef79a67): build(deps): bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 ([#​1974](0xERR0R/blocky#1974)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6775759`](0xERR0R/blocky@6775759): build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 ([#​1953](0xERR0R/blocky#1953)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`71c39fc`](0xERR0R/blocky@71c39fc): build(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 ([#​1939](0xERR0R/blocky#1939)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`be31648`](0xERR0R/blocky@be31648): build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 ([#​1957](0xERR0R/blocky#1957)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`a574078`](0xERR0R/blocky@a574078): build(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 ([#​1971](0xERR0R/blocky#1971)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6f3f295`](0xERR0R/blocky@6f3f295): build(deps): bump golang.org/x/net from 0.49.0 to 0.50.0 ([#​1988](0xERR0R/blocky#1988)) ([@​dependabot](https://github.com/dependabot)\[bot]) - [`6a75afb`](0xERR0R/blocky@6a75afb): build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 ([#​1997](0xERR0R/blocky#1997)) ([@​dependabot](https://github.com/dependabot)\[bot]) ##### Misc - [`439e99b`](0xERR0R/blocky@439e99b): Add Blocky Visor to web UIs section in installation.md ([#​1993](0xERR0R/blocky#1993)) ([@​JCHHeilmann](https://github.com/JCHHeilmann)) - [`ced469f`](0xERR0R/blocky@ced469f): refactor: centralize DNS response creation logic with helper functions ([#​1942](0xERR0R/blocky#1942)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`3075c38`](0xERR0R/blocky@3075c38): refactor: clean up obsolete Go syntax ([#​1951](0xERR0R/blocky#1951)) ([@​sonjek](https://github.com/sonjek)) - [`9fe42a8`](0xERR0R/blocky@9fe42a8): refactor: simplify code for improved readability and maintainability ([#​1945](0xERR0R/blocky#1945)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`6581668`](0xERR0R/blocky@6581668): refactor: use mockery for mocks ([#​1944](0xERR0R/blocky#1944)) ([@​0xERR0R](https://github.com/0xERR0R)) - [`55ab95e`](0xERR0R/blocky@55ab95e): test(metrics): Prometheus metrics ([#​1868](0xERR0R/blocky#1868)) ([@​zeilenschubser](https://github.com/zeilenschubser)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS44IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuOCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=--> Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4283 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
No description provided.