1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

AZURE_DNS: Defend against nil targets

This commit is contained in:
Tom Limoncelli
2023-01-09 12:51:18 -05:00
parent 6f2b183b25
commit 9b6a69c4c5

View File

@@ -426,6 +426,13 @@ func nativeToRecordType(recordType *string) (adns.RecordType, error) {
}
}
func safeTarget(t *string) string {
if t == nil {
return "foundnil"
}
return *t
}
func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig {
var results []*models.RecordConfig
switch rtype := *set.Type; rtype {
@@ -448,7 +455,7 @@ func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig
Original: set,
}
rc.SetLabelFromFQDN(*set.Properties.Fqdn, origin)
_ = rc.SetTarget(*set.Properties.TargetResource.ID)
_ = rc.SetTarget(safeTarget(set.Properties.TargetResource.ID))
results = append(results, rc)
}
case "Microsoft.Network/dnszones/AAAA":
@@ -470,7 +477,7 @@ func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig
Original: set,
}
rc.SetLabelFromFQDN(*set.Properties.Fqdn, origin)
_ = rc.SetTarget(*set.Properties.TargetResource.ID)
_ = rc.SetTarget(safeTarget(set.Properties.TargetResource.ID))
results = append(results, rc)
}
case "Microsoft.Network/dnszones/CNAME":
@@ -490,7 +497,7 @@ func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig
Original: set,
}
rc.SetLabelFromFQDN(*set.Properties.Fqdn, origin)
_ = rc.SetTarget(*set.Properties.TargetResource.ID)
_ = rc.SetTarget(safeTarget(set.Properties.TargetResource.ID))
results = append(results, rc)
}
case "Microsoft.Network/dnszones/NS":