From 49f3ef365c8e8885ccb37cf7927d658359b8a795 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 22 Jun 2024 18:09:52 +0200 Subject: patch dnscontrol --- default.nix | 4 ++++ powerdns-record-types.patch | 29 +++++++++++++++++++++++++++++ shell.nix | 4 +++- 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 default.nix create mode 100644 powerdns-record-types.patch diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..896cc57 --- /dev/null +++ b/default.nix @@ -0,0 +1,4 @@ +{ pkgs ? (import { }) }: +pkgs.dnscontrol.overrideAttrs (old: { + patches = [ ./powerdns-record-types.patch ]; +}) diff --git a/powerdns-record-types.patch b/powerdns-record-types.patch new file mode 100644 index 0000000..0f831dc --- /dev/null +++ b/powerdns-record-types.patch @@ -0,0 +1,29 @@ +diff --git a/documentation/providers.md b/documentation/providers.md +index b1d6618d..351b2558 100644 +--- a/documentation/providers.md ++++ b/documentation/providers.md +@@ -57,7 +57,7 @@ If a feature is definitively not supported for whatever reason, we would also li + | [`OVH`](provider/ovh.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ | + | [`PACKETFRAME`](provider/packetframe.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ❔ | + | [`PORKBUN`](provider/porkbun.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ❔ | ❌ | ❔ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❔ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ | +-| [`POWERDNS`](provider/powerdns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ | ++| [`POWERDNS`](provider/powerdns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ | + | [`REALTIMEREGISTER`](provider/realtimeregister.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ✅ | ❌ | ❌ | ❔ | ❔ | ❌ | ✅ | ✅ | + | [`ROUTE53`](provider/route53.md) | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❔ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | + | [`RWTH`](provider/rwth.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ | +diff --git a/providers/powerdns/powerdnsProvider.go b/providers/powerdns/powerdnsProvider.go +index 0f386d90..0d1f96bc 100644 +--- a/providers/powerdns/powerdnsProvider.go ++++ b/providers/powerdns/powerdnsProvider.go +@@ -20,8 +20,11 @@ var features = providers.DocumentationNotes{ + providers.CanUseAlias: providers.Can("Needs to be enabled in PowerDNS first", "https://doc.powerdns.com/authoritative/guides/alias.html"), + providers.CanUseCAA: providers.Can(), + providers.CanUseDS: providers.Can(), ++ providers.CanUseDNAME: providers.Can(), + providers.CanUseDHCID: providers.Can(), + providers.CanUseLOC: providers.Unimplemented("Normalization within the PowerDNS API seems to be buggy, so disabled", "https://github.com/PowerDNS/pdns/issues/10558"), ++ providers.CanUseHTTPS: providers.Can(), ++ providers.CanUseSVCB: providers.Can(), + providers.CanUseNAPTR: providers.Can(), + providers.CanUsePTR: providers.Can(), + providers.CanUseSRV: providers.Can(), diff --git a/shell.nix b/shell.nix index 4cf1d9a..40929d0 100644 --- a/shell.nix +++ b/shell.nix @@ -1,4 +1,6 @@ -{ pkgs ? (import { }) }: +{ pkgs ? (import { }) +, dnscontrol ? (import ./. { inherit pkgs; }) +}: pkgs.mkShell { packages = with pkgs; [ dnscontrol -- cgit 1.4.1