HomePhabricator

Enforce maximum name length for parse_name() and add unit tests

Description

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