Don't use IPv4 addresses when the user has enabled IPv6 address in the settings.

Conflicts:
	src/qtlibtorrent/qbtsession.cpp
	src/smtp.cpp
This commit is contained in:
sledgehammer999
2014-09-02 14:36:51 +03:00
parent cf61dd3d09
commit 739132ec82
2 changed files with 9 additions and 5 deletions

View File

@@ -87,7 +87,8 @@ QByteArray determineLocalAddress()
if (iface_name.isEmpty()) {
foreach (const QHostAddress& addr, QNetworkInterface::allAddresses()) {
if (addr == QHostAddress::LocalHost || addr == QHostAddress::LocalHostIPv6
|| (!listen_ipv6 && (addr.protocol() == QAbstractSocket::IPv6Protocol)))
|| (!use_ipv6 && (addr.protocol() == QAbstractSocket::IPv6Protocol))
|| (use_ipv6 && (addr.protocol() == QAbstractSocket::IPv4Protocol)))
continue;
address = addr.toString().toLatin1();
break;
@@ -100,7 +101,8 @@ QByteArray determineLocalAddress()
foreach (const QNetworkAddressEntry &entry, network_iface.addressEntries()) {
if (entry.ip() == QHostAddress::LocalHost || entry.ip() == QHostAddress::LocalHostIPv6
|| (!listen_ipv6 && (entry.ip().protocol() == QAbstractSocket::IPv6Protocol)))
|| (!use_ipv6 && (entry.ip().protocol() == QAbstractSocket::IPv6Protocol))
|| (use_ipv6 && (entry.ip().protocol() == QAbstractSocket::IPv4Protocol)))
continue;
address = entry.ip().toString().toLatin1();