summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/network/ssl/qsslsocket.cpp7
-rw-r--r--tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp6
2 files changed, 13 insertions, 0 deletions
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index 591d635162..ccb11de7e0 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -2401,6 +2401,13 @@ void QSslSocketPrivate::_q_disconnectedSlot()
#endif
disconnected();
emit q->disconnected();
+
+ q->setLocalPort(0);
+ q->setLocalAddress(QHostAddress());
+ q->setPeerPort(0);
+ q->setPeerAddress(QHostAddress());
+ q->setPeerName(QString());
+ cachedSocketDescriptor = -1;
}
/*!
diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
index 382fbf08a8..6bb502edcb 100644
--- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
@@ -1213,6 +1213,12 @@ void tst_QTcpSocket::connectDisconnectConnectDisconnect()
QCOMPARE(socket->state(), QTcpSocket::UnconnectedState);
QCOMPARE(socket->socketType(), QTcpSocket::TcpSocket);
+ QCOMPARE(socket->socketDescriptor(), qintptr(-1));
+ QCOMPARE(int(socket->localPort()), 0);
+ QCOMPARE(socket->localAddress(), QHostAddress());
+ QCOMPARE(int(socket->peerPort()), 0);
+ QCOMPARE(socket->peerAddress(), QHostAddress());
+
socket->connectToHost(QtNetworkSettings::serverName(), 143);
QVERIFY(socket->waitForReadyRead(10000));
QCOMPARE(QString::fromLatin1(socket->read(4)), QString("* OK"));