Skip to content

Commit 402936d

Browse files
refactor(dns): narrow crawler catch to FormatException/NotSupportedException and cover e=/l= cases
1 parent 9869f8c commit 402936d

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

src/Nethermind/Nethermind.Network.Dns.Test/EnrTreeParserTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ public void Can_parse_leaf()
4949
[TestCase("enrtree-root:v1 e=TPLRUM3FAKJZIRMXADWOHSU3PM l=FDXN3SN67NA5DKA4J2GOK7BVQI sig=CNoJofW_lNh7QFQkaVGhEX2ifbEZ3UkiBQCVyZCkM_I-72cEh8Bfd21cSS9BP5tyAqWF3jMVov8duUCdSByEQAE", TestName = "seq field missing")]
5050
[TestCase("enrtree-root:v1 e=TPLRUM3FAKJZIRMXADWOHSU3PM l=FDXN3SN67NA5DKA4J2GOK7BVQI seq=2779 sig=SHORT", TestName = "truncated sig field")]
5151
[TestCase("enrtree-root:v1 e=TPLRUM3FAKJZIRMXADWOHSU3PM l=FDXN3SN67NA5DKA4J2GOK7BVQI seq=notanumber sig=CNoJofW_lNh7QFQkaVGhEX2ifbEZ3UkiBQCVyZCkM_I-72cEh8Bfd21cSS9BP5tyAqWF3jMVov8duUCdSByEQAE", TestName = "non-numeric seq value")]
52+
[TestCase("enrtree-root:v1 l=FDXN3SN67NA5DKA4J2GOK7BVQI seq=2779 sig=CNoJofW_lNh7QFQkaVGhEX2ifbEZ3UkiBQCVyZCkM_I-72cEh8Bfd21cSS9BP5tyAqWF3jMVov8duUCdSByEQAE", TestName = "e field missing")]
53+
[TestCase("enrtree-root:v1 e=TPLRUM3FAKJZIRMXADWOHSU3PM seq=2779 sig=CNoJofW_lNh7QFQkaVGhEX2ifbEZ3UkiBQCVyZCkM_I-72cEh8Bfd21cSS9BP5tyAqWF3jMVov8duUCdSByEQAE", TestName = "l field missing")]
5254
public void Malformed_enrtree_root_throws_FormatException(string malformedRoot)
5355
=> Assert.That(() => EnrTreeParser.ParseEnrRoot(malformedRoot), Throws.TypeOf<FormatException>());
5456

src/Nethermind/Nethermind.Network.Dns/EnrTreeCrawler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ private async IAsyncEnumerable<string> SearchNode(IDnsClient client, string quer
5858
{
5959
treeNode = EnrTreeParser.ParseNode(node);
6060
}
61-
catch (Exception e) when (e is FormatException or NotSupportedException or ArgumentException)
61+
catch (Exception e) when (e is FormatException or NotSupportedException)
6262
{
6363
// A single malformed record from an untrusted DNS server must not abort the whole crawl.
6464
if (_logger.IsDebug) _logger.Debug($"Skipping malformed ENR tree record from DNS query '{query}': {e.Message}");

0 commit comments

Comments
 (0)