X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.cpp;h=24be4c1a21fcb6568f2ba5e63f1db4eaafc66a2f;hp=f77b29aa684d721c4b2f0194468551b47341d3ec;hb=a6c3d4252d760a6de70cb000cc3d6ee34a36eb31;hpb=8aa70869402f71328d1a5f92fa36aa9579dc333b diff --git a/src/core/corenetwork.cpp b/src/core/corenetwork.cpp index f77b29aa..24be4c1a 100644 --- a/src/core/corenetwork.cpp +++ b/src/core/corenetwork.cpp @@ -242,8 +242,10 @@ void CoreNetwork::connectToIrc(bool reconnecting) // Qt caches DNS entries for a minute, resulting in round-robin (e.g. for chat.freenode.net) not working if several users // connect at a similar time. QHostInfo::fromName(), however, always performs a fresh lookup, overwriting the cache entry. if (! server.useProxy) { - QHostInfo::fromName(server.host); - } + //Avoid hostname lookups when a proxy is specified. The lookups won't use the proxy and may therefore leak the DNS + //hostname of the server. Qt's DNS cache also isn't used by the proxy so we don't need to refresh the entry. + QHostInfo::fromName(server.host); + } #ifdef HAVE_SSL if (server.useSsl) { CoreIdentity *identity = identityPtr();