[dns] clarify trailing dot in Name::ExtractLabels() (#9743)

This commit updates `ExtractLabels()` documentation to clarify that
name and suffix name can include or exclude the trailing dot but both
inputs must follow the same style. It also updates `test_dns` unit
test to validate this behavior.
This commit is contained in:
Abtin Keshavarzian
2023-12-27 22:10:53 -08:00
committed by GitHub
parent 6751122f0a
commit 3f99b118d4
2 changed files with 36 additions and 10 deletions
+26
View File
@@ -285,6 +285,19 @@ void TestDnsName(void)
SuccessOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name));
VerifyOrQuit(strcmp(name, "my-service._ipps._tcp") == 0);
fullName = "my-service._ipps._tcp.default.service.arpa";
suffixName = "default.service.arpa";
SuccessOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name));
VerifyOrQuit(strcmp(name, "my-service._ipps._tcp") == 0);
fullName = "my-service._ipps._tcp.default.service.arpa";
suffixName = "default.service.arpa.";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);
fullName = "my-service._ipps._tcp.default.service.arpa.";
suffixName = "default.service.arpa";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);
fullName = "my.service._ipps._tcp.default.service.arpa.";
suffixName = "_ipps._tcp.default.service.arpa.";
SuccessOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name));
@@ -295,10 +308,19 @@ void TestDnsName(void)
SuccessOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name));
VerifyOrQuit(strcmp(name, "my-service._ipps._tcp") == 0);
fullName = "my-service._ipps._tcp.default.service.arpa";
suffixName = "DeFault.SerVice.ARPA";
SuccessOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name));
VerifyOrQuit(strcmp(name, "my-service._ipps._tcp") == 0);
fullName = "my-service._ipps._tcp.default.service.arpa.";
suffixName = "efault.service.arpa.";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);
fullName = "my-service._ipps._tcp.default.service.arpa";
suffixName = "efault.service.arpa";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);
fullName = "my-service._ipps._tcp.default.service.arpa.";
suffixName = "xdefault.service.arpa.";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);
@@ -315,6 +337,10 @@ void TestDnsName(void)
suffixName = "default.service.arpa.";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);
fullName = "default.service.arpa";
suffixName = "default.service.arpa";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);
fullName = "efault.service.arpa.";
suffixName = "default.service.arpa.";
VerifyOrQuit(Dns::Name::ExtractLabels(fullName, suffixName, name) == kErrorParse);