summaryrefslogtreecommitdiffstats
path: root/tests/auto/network
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-12-23 12:52:59 -0200
committerThiago Macieira <thiago.macieira@intel.com>2014-12-24 14:42:05 +0100
commit68d8d27fadafdd28e87fb8090b4770d44f888803 (patch)
treea57158bc6c50e861f1a44fc9318bc3e5276000a2 /tests/auto/network
parent7a303ff55f3c9ee962506c5cf24b1fd432aa44fa (diff)
Don't try to send broadcasts over IPv6
IPv6 has no such thing, so don't try to bind to an IPv6 address to send broadcasts (even though that works) and it's a poor idea to bind to IPv6 to receive broadcasts. Moreover, skip any IPv6 network addresses (broadcast() is invalid). Change-Id: I2829b042c000158565adfd92db682f37d67dacae Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'tests/auto/network')
-rw-r--r--tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
index b2338d2ce5..c2276a2126 100644
--- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
+++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
@@ -282,8 +282,11 @@ void tst_QUdpSocket::broadcasting()
foreach (QNetworkInterface iface, QNetworkInterface::allInterfaces()) {
if ((iface.flags() & QNetworkInterface::CanBroadcast)
&& iface.flags() & QNetworkInterface::IsUp) {
- for (int i=0;i<iface.addressEntries().count();i++)
- broadcastAddresses.append(iface.addressEntries().at(i).broadcast());
+ for (int i=0;i<iface.addressEntries().count();i++) {
+ QHostAddress broadcast = iface.addressEntries().at(i).broadcast();
+ if (broadcast.protocol() == QAbstractSocket::IPv4Protocol)
+ broadcastAddresses.append(broadcast);
+ }
}
}
if (broadcastAddresses.isEmpty())
@@ -293,7 +296,7 @@ void tst_QUdpSocket::broadcasting()
#ifdef FORCE_SESSION
serverSocket.setProperty("_q_networksession", QVariant::fromValue(networkSession));
#endif
- QVERIFY2(serverSocket.bind(QHostAddress::Any, 5000), serverSocket.errorString().toLatin1().constData());
+ QVERIFY2(serverSocket.bind(QHostAddress::AnyIPv4, 5000), serverSocket.errorString().toLatin1().constData());
QCOMPARE(serverSocket.state(), QUdpSocket::BoundState);
@@ -303,7 +306,7 @@ void tst_QUdpSocket::broadcasting()
#ifdef FORCE_SESSION
broadcastSocket.setProperty("_q_networksession", QVariant::fromValue(networkSession));
#endif
- broadcastSocket.bind();
+ broadcastSocket.bind(QHostAddress(QHostAddress::AnyIPv4), 0);
for (int j = 0; j < 100; ++j) {
for (int k = 0; k < 4; k++) {