summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2024-04-17 11:09:58 -0700
committerThiago Macieira <thiago.macieira@intel.com>2024-05-08 21:13:47 -0700
commit4503dabfbd11c084c2781a679c9af12d5fb8f763 (patch)
tree276b12b705d46ad6c9b3343cae16eeca0e5eed78 /tests/auto
parent503fd609881fb220ac5abe7da2fe367efd90ed4b (diff)
QDnsLookup: add support for TLSA records
[ChangeLog][QtNetwork][QDnsLookup] Added support for querying records of type TLSA, which are useful in DNS-based Authentication of Named Entities (DANE). Change-Id: I455fe22ef4ad4b2f9b01fffd17c723aa6ab7f278 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp
index 058bfb341e..a826a0939a 100644
--- a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp
+++ b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp
@@ -374,6 +374,14 @@ QStringList tst_QDnsLookup::formatReply(const QDnsLookup *lookup) const
result.append(std::move(entry));
}
+ for (const QDnsTlsAssociationRecord &rr : lookup->tlsAssociationRecords()) {
+ QString entry = u"TLSA %1 %2 %3 %4"_s.arg(int(rr.usage())).arg(int(rr.selector()))
+ .arg(int(rr.matchType())).arg(rr.value().toHex().toUpper());
+ if (rr.name() != domain)
+ entry = "TLSA unexpected label to "_L1 + rr.name();
+ result.append(std::move(entry));
+ }
+
result.sort();
return result;
}
@@ -504,6 +512,10 @@ void tst_QDnsLookup::lookup_data()
"SRV 2 50 7 aaaa-single;"
"SRV 3 50 7 a-multi";
+ QTest::newRow("tlsa") << QDnsLookup::Type::TLSA << "_25._tcp.multi"
+ << "TLSA 3 1 1 0123456789ABCDEFFEDCBA9876543210"
+ "0123456789ABCDEFFEDCBA9876543210";
+
QTest::newRow("txt-single") << QDnsLookup::TXT << "txt-single"
<< "TXT \"Hello\"";
QTest::newRow("txt-multi-onerr") << QDnsLookup::TXT << "txt-multi-onerr"
@@ -522,8 +534,12 @@ void tst_QDnsLookup::lookup()
if (!lookup)
return;
- QCOMPARE(lookup->error(), QDnsLookup::NoError);
+#ifdef Q_OS_WIN
+ if (QTest::currentDataTag() == "tlsa"_L1)
+ QSKIP("WinDNS doesn't work properly with TLSA records and we don't know why");
+#endif
QCOMPARE(lookup->errorString(), QString());
+ QCOMPARE(lookup->error(), QDnsLookup::NoError);
QCOMPARE(lookup->type(), type);
QCOMPARE(lookup->name(), domainName(domain));