summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/kernel.pri
diff options
context:
space:
mode:
authorDavide Beatrici <davidebeatrici@gmail.com>2019-04-05 18:55:24 +0200
committerDavide Beatrici <davidebeatrici@gmail.com>2019-04-06 01:29:31 +0000
commit8eeb5150ed99914e252a84f1637f179e3de04659 (patch)
treebacd3e4390dcbf9ae91736429a7270d6a3ddbf30 /src/network/kernel/kernel.pri
parent82ad4be4a2e0c2bccb6cd8ea2440aefee4ec48ec (diff)
QDnsLookup: fix "Resolver functions not found" error on FreeBSD
The current code only tries to load the required functions from LIBRESOLV_SO (if defined) and resolv, but on FreeBSD they are in libc: https://www.freebsd.org/cgi/man.cgi?query=res_query&sektion=3&apropos=0&manpath=freebsd This commit changes the code so that, after failing to load the non-existent libraries, it attempts to load the functions with dlsym() using the special handle RTLD_DEFAULT, which searches for the specified symbol in the loaded libraries. Task-number: QTBUG-74844 Change-Id: If97aaae233cabbfa01c30d26d9a7fb01ec3ff5c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network/kernel/kernel.pri')
-rw-r--r--src/network/kernel/kernel.pri6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/network/kernel/kernel.pri b/src/network/kernel/kernel.pri
index 11b80d59d5..d7a92a12eb 100644
--- a/src/network/kernel/kernel.pri
+++ b/src/network/kernel/kernel.pri
@@ -38,7 +38,11 @@ qtConfig(dnslookup) {
}
unix {
- !integrity:qtConfig(dnslookup): SOURCES += kernel/qdnslookup_unix.cpp
+ !integrity:qtConfig(dnslookup) {
+ SOURCES += kernel/qdnslookup_unix.cpp
+ qtConfig(dlopen): QMAKE_USE_PRIVATE += libdl
+ }
+
SOURCES += kernel/qhostinfo_unix.cpp
qtConfig(linux-netlink): SOURCES += kernel/qnetworkinterface_linux.cpp