diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2024-04-17 11:09:58 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2024-05-08 21:13:47 -0700 |
commit | 4503dabfbd11c084c2781a679c9af12d5fb8f763 (patch) | |
tree | 276b12b705d46ad6c9b3343cae16eeca0e5eed78 /tests/auto | |
parent | 503fd609881fb220ac5abe7da2fe367efd90ed4b (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.cpp | 18 |
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)); |