summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network/socket/qsymbiansocketengine.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/network/socket/qsymbiansocketengine.cpp b/src/network/socket/qsymbiansocketengine.cpp
index 9ed8a42..cc55f2a 100644
--- a/src/network/socket/qsymbiansocketengine.cpp
+++ b/src/network/socket/qsymbiansocketengine.cpp
@@ -221,7 +221,12 @@ bool QSymbianSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType so
void QSymbianSocketEnginePrivate::setPortAndAddress(TInetAddr& nativeAddr, quint16 port, const QHostAddress &addr)
{
nativeAddr.SetPort(port);
- if (addr.protocol() == QAbstractSocket::IPv6Protocol) {
+ if (addr == QHostAddress::Any) {
+ //Should allow both IPv4 and IPv6
+ //Listening on "0.0.0.0" accepts ONLY ipv4 connections
+ //Listening on "::" accepts ONLY ipv6 connections
+ nativeAddr.SetFamily(KAFUnspec);
+ } else if (addr.protocol() == QAbstractSocket::IPv6Protocol) {
TPckgBuf<TSoInetIfQuery> query;
query().iName = qt_QString2TPtrC(addr.scopeId());
TInt err = nativeSocket.GetOpt(KSoInetIfQueryByName, KSolInetIfQuery, query);