From bc8b6cbcd968b79559fa6fd0ec7ac59eb1c062b9 Mon Sep 17 00:00:00 2001 From: Jeff <138259519+jdotc1@users.noreply.github.com> Date: Mon, 9 Nov 2026 23:13:26 -0500 Subject: [PATCH 1/2] fix(dns): detect Anima and Discourse takeover CNAME targets --- internal/dns/takeover.go | 2 ++ internal/dns/takeover_test.go | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/internal/dns/takeover.go b/internal/dns/takeover.go index 422a777..de2443e 100644 --- a/internal/dns/takeover.go +++ b/internal/dns/takeover.go @@ -46,6 +46,8 @@ var takeoverProviders = []struct{ suffix, name string }{ {".readme.io", "readme"}, {".agilecrm.com", "agilecrm"}, {".canny.io", "canny"}, + {".animaapp.io", "anima"}, + {".trydiscourse.com", "discourse"}, } // TakeoverProvider returns the takeover-prone service a CNAME target belongs diff --git a/internal/dns/takeover_test.go b/internal/dns/takeover_test.go index 7bc1dac..4f9d7c3 100644 --- a/internal/dns/takeover_test.go +++ b/internal/dns/takeover_test.go @@ -17,7 +17,11 @@ func TestTakeoverProvider(t *testing.T) { "ACME.GitHub.io": "github-pages", "bucket.s3.amazonaws.com": "aws-s3", "site.azurewebsites.net": "azure", + "site.animaapp.io": "anima", + "forum.trydiscourse.com.": "discourse", "herokuapp.com.evil.example.com": "", + "animaapp.io.evil.example.com": "", + "trydiscourse.com.evil.test": "", "cdn.example.net": "", } { if got := TakeoverProvider(target); got != want { From 92329cd7045b94b82a89d801d2145be0e9205277 Mon Sep 17 00:00:00 2001 From: Jeff <138259519+jdotc1@users.noreply.github.com> Date: Mon, 9 Nov 2026 23:43:47 -0500 Subject: [PATCH 2/2] style(dns): format takeover regression cases with gofmt --- internal/dns/takeover_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/dns/takeover_test.go b/internal/dns/takeover_test.go index 4f9d7c3..87167f8 100644 --- a/internal/dns/takeover_test.go +++ b/internal/dns/takeover_test.go @@ -21,7 +21,7 @@ func TestTakeoverProvider(t *testing.T) { "forum.trydiscourse.com.": "discourse", "herokuapp.com.evil.example.com": "", "animaapp.io.evil.example.com": "", - "trydiscourse.com.evil.test": "", + "trydiscourse.com.evil.test": "", "cdn.example.net": "", } { if got := TakeoverProvider(target); got != want {