Skip to content

Commit 6a079db

Browse files
Filter additional records from DNS SRV response (#4463)
1 parent 3cdcaa2 commit 6a079db

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/Microsoft.Extensions.ServiceDiscovery.Dns/DnsSrvServiceEndpointProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ protected override async Task ResolveAsyncCore()
4242
}
4343

4444
var lookupMapping = new Dictionary<string, DnsResourceRecord>();
45-
foreach (var record in result.Additionals)
45+
foreach (var record in result.Additionals.Where(x => x is AddressRecord or CNameRecord))
4646
{
4747
ttl = MinTtl(record, ttl);
4848
lookupMapping[record.DomainName] = record;

tests/Microsoft.Extensions.ServiceDiscovery.Dns.Tests/DnsSrvServiceEndpointResolverTests.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ public async Task ResolveServiceEndpoint_DnsSrv()
9191
{
9292
new ARecord(new ResourceRecordInfo("srv-a", ResourceRecordType.A, queryClass, 64, 0), IPAddress.Parse("10.10.10.10")),
9393
new ARecord(new ResourceRecordInfo("srv-b", ResourceRecordType.AAAA, queryClass, 64, 0), IPAddress.IPv6Loopback),
94-
new CNameRecord(new ResourceRecordInfo("srv-c", ResourceRecordType.AAAA, queryClass, 64, 0), DnsString.Parse("remotehost"))
94+
new CNameRecord(new ResourceRecordInfo("srv-c", ResourceRecordType.AAAA, queryClass, 64, 0), DnsString.Parse("remotehost")),
95+
new TxtRecord(new ResourceRecordInfo("srv-a", ResourceRecordType.TXT, queryClass, 64, 0), ["some txt values"], ["some txt utf8 values"])
9596
}
9697
};
9798

@@ -152,7 +153,8 @@ public async Task ResolveServiceEndpoint_DnsSrv_MultipleProviders_PreventMixing(
152153
{
153154
new ARecord(new ResourceRecordInfo("srv-a", ResourceRecordType.A, queryClass, 64, 0), IPAddress.Parse("10.10.10.10")),
154155
new ARecord(new ResourceRecordInfo("srv-b", ResourceRecordType.AAAA, queryClass, 64, 0), IPAddress.IPv6Loopback),
155-
new CNameRecord(new ResourceRecordInfo("srv-c", ResourceRecordType.AAAA, queryClass, 64, 0), DnsString.Parse("remotehost"))
156+
new CNameRecord(new ResourceRecordInfo("srv-c", ResourceRecordType.AAAA, queryClass, 64, 0), DnsString.Parse("remotehost")),
157+
new TxtRecord(new ResourceRecordInfo("srv-a", ResourceRecordType.TXT, queryClass, 64, 0), ["some txt values"], ["some txt utf8 values"])
156158
}
157159
};
158160

0 commit comments

Comments
 (0)