From ea328263c746747b205569d0a0ffadbc19447afd Mon Sep 17 00:00:00 2001 From: Blake Bourque Date: Fri, 17 Jul 2020 13:02:42 -0400 Subject: [PATCH] Route53 uses a custom record type for SPF (#787) Much like OVH Route53 when queried returns SPF records as their own type. This small change transcribes the SPF type to TXT See: https://github.com/StackExchange/dnscontrol/issues/446 See: https://github.com/StackExchange/dnscontrol/blob/644ba70e87bf21997d9d2f020216f90b3876359d/providers/ovh/ovhProvider.go#L169-L172 --- providers/route53/route53Provider.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/providers/route53/route53Provider.go b/providers/route53/route53Provider.go index 83b64809c..c0831c60f 100644 --- a/providers/route53/route53Provider.go +++ b/providers/route53/route53Provider.go @@ -377,10 +377,14 @@ func nativeToRecords(set *r53.ResourceRecordSet, origin string) []*models.Record switch rtype := *set.Type; rtype { case "SOA": continue + case "SPF": + // route53 uses a custom record type for SPF + rtype = "TXT" + fallthrough default: rc := &models.RecordConfig{TTL: uint32(*set.TTL)} rc.SetLabelFromFQDN(unescape(set.Name), origin) - if err := rc.PopulateFromString(*set.Type, *rec.Value, origin); err != nil { + if err := rc.PopulateFromString(rtype, *rec.Value, origin); err != nil { panic(fmt.Errorf("unparsable record received from R53: %w", err)) } results = append(results, rc)