File indexing completed on 2025-05-04 04:59:03

0001 /*
0002    SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "lookupkey.h"
0008 #include <QDebug>
0009 #include <QDnsLookup>
0010 LookUpKey::LookUpKey(QObject *parent)
0011     : QObject(parent)
0012 {
0013 }
0014 
0015 void LookUpKey::lookUpServer(const QString &addr)
0016 {
0017     // Create a DNS lookup.
0018     mAddress = addr;
0019     mDnsLookup = new QDnsLookup(this);
0020     connect(mDnsLookup, &QDnsLookup::finished, this, &LookUpKey::handleServers);
0021 
0022     mDnsLookup->setType(QDnsLookup::TXT);
0023     // mDnsLookup->setName(QStringLiteral("s2048._domainkey.yahoo.fr"));
0024     mDnsLookup->setName(addr);
0025     mDnsLookup->lookup();
0026 }
0027 
0028 void LookUpKey::handleServers()
0029 {
0030     // Check the lookup succeeded.
0031     if (mDnsLookup->error() != QDnsLookup::NoError) {
0032         qWarning("DNS lookup failed");
0033         mDnsLookup->deleteLater();
0034         return;
0035     }
0036 
0037     // Handle the results.
0038     const auto records = mDnsLookup->textRecords();
0039     qDebug() << " resolve address " << mAddress;
0040     for (const QDnsTextRecord &record : records) {
0041         qDebug() << " record " << record.values();
0042     }
0043     mDnsLookup->deleteLater();
0044 }
0045 
0046 #include "moc_lookupkey.cpp"