mirror of
https://github.com/espressif/openthread.git
synced 2026-09-10 11:10:08 +00:00
[dnssd] support forwarding DNS queries to platform upstream (#8668)
This commit adds a set of APsI for forwarding a DNS query to the
upstream DNS server via platform API and a posix platform
implementation.
This feature is disabled by default, and this PR adds a `dns server
upstream {enable|disable}` command CLI for enabling and disabling this
feature.
Tests will be added after ot-br-posix adds related support.
This commit is contained in:
@@ -67,6 +67,7 @@ void TestDnsName(void)
|
||||
char name[Dns::Name::kMaxNameSize];
|
||||
const char *subDomain;
|
||||
const char *domain;
|
||||
const char *domain2;
|
||||
|
||||
static const uint8_t kEncodedName1[] = {7, 'e', 'x', 'a', 'm', 'p', 'l', 'e', 3, 'c', 'o', 'm', 0};
|
||||
static const uint8_t kEncodedName2[] = {3, 'f', 'o', 'o', 1, 'a', 2, 'b', 'b', 3, 'e', 'd', 'u', 0};
|
||||
@@ -210,6 +211,42 @@ void TestDnsName(void)
|
||||
domain = "Vice.arpa.";
|
||||
VerifyOrQuit(!Dns::Name::IsSubDomainOf(subDomain, domain));
|
||||
|
||||
domain = "example.com.";
|
||||
domain2 = "example.com.";
|
||||
VerifyOrQuit(Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.com.";
|
||||
domain2 = "example.com";
|
||||
VerifyOrQuit(Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.com.";
|
||||
domain2 = "ExAmPlE.cOm";
|
||||
VerifyOrQuit(Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.com";
|
||||
domain2 = "ExAmPlE.cOm";
|
||||
VerifyOrQuit(Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.com.";
|
||||
domain2 = "ExAmPlE.cOm.";
|
||||
VerifyOrQuit(Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.com.";
|
||||
domain2 = "aExAmPlE.cOm.";
|
||||
VerifyOrQuit(!Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.com.";
|
||||
domain2 = "cOm.";
|
||||
VerifyOrQuit(!Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.";
|
||||
domain2 = "example.com.";
|
||||
VerifyOrQuit(!Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
domain = "example.com.";
|
||||
domain2 = ".example.com.";
|
||||
VerifyOrQuit(!Dns::Name::IsSameDomain(domain, domain2));
|
||||
|
||||
printf("----------------------------------------------------------------\n");
|
||||
printf("Append names, check encoded bytes, parse name and read labels:\n");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user