Enforce maximum name length for parse_name() and add unit tests
Summary:
Adds unit tests for the maximum length of a query name for the seeder's
parse_name() function.
Currently, parse_name() has a logical flaw that prevents testing above the
maximum query name length. The length of a query name is the sum of its labels
plus 1 for each .. The maximum length of a query name is 255 characters. This
is not strictly enforced in parse_name() and returns a misleading error when it
occurs. This patch fixes this and adds a unit test for it.
Depends on D5328
Test Plan:
make check ninja check
Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix, Fabien, jasonbcox
Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, jasonbcox
Subscribers: Mengerian
Differential Revision: https://reviews.bitcoinabc.org/D5329