summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/qdnslookup_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/kernel/qdnslookup_p.h')
-rw-r--r--src/network/kernel/qdnslookup_p.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/network/kernel/qdnslookup_p.h b/src/network/kernel/qdnslookup_p.h
index 03767fd831..da4721411b 100644
--- a/src/network/kernel/qdnslookup_p.h
+++ b/src/network/kernel/qdnslookup_p.h
@@ -25,6 +25,7 @@
#include "QtNetwork/qdnslookup.h"
#include "QtNetwork/qhostaddress.h"
#include "private/qobject_p.h"
+#include "private/qurl_p.h"
QT_REQUIRE_CONFIG(dnslookup);
@@ -174,6 +175,12 @@ class QDnsLookupRunnable : public QObject, public QRunnable
Q_OBJECT
public:
+#ifdef Q_OS_WIN
+ using EncodedLabel = QString;
+#else
+ using EncodedLabel = QByteArray;
+#endif
+
QDnsLookupRunnable(const QDnsLookupPrivate *d);
void run() override;
@@ -181,8 +188,13 @@ signals:
void finished(const QDnsLookupReply &reply);
private:
+ template <typename T> static QString decodeLabel(T encodedLabel)
+ {
+ return qt_ACE_do(encodedLabel.toString(), NormalizeAce, ForbidLeadingDot);
+ }
void query(QDnsLookupReply *reply);
- QByteArray requestName;
+
+ EncodedLabel requestName;
QHostAddress nameserver;
QDnsLookup::Type requestType;
quint16 port;