Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
None
-
5.3.1
-
Windows 7
Description
[Windows]: With some https URLs there is no read notification during the handshake phase so it just ends up failing. This however does not happen on Mac and also works fine with other https URLs too.
The debug output for the URL - https://gsu.view.usg.edu - is:
systemCaCertificates retrieval time 9 ms imported 53 certificates QAbstractSocket::QAbstractSocket(TcpSocket, QAbstractSocketPrivate == 0x44fa110, parent == 0x15fc84) QSslSocket::QSslSocket( SslClient(0x15fc84, name = "Form") ), this = 0x351de8 QSslSocket::connectToHost( "gsu.view.usg.edu" , 443 , OpenMode( "ReadOnly|WriteOnly" ) ) creating internal plain socket QAbstractSocket::QAbstractSocket(TcpSocket, QAbstractSocketPrivate == 0x450e9d0, parent == 0x351de8) QTcpSocket::QTcpSocket() QAbstractSocket::connectToHost("gsu.view.usg.edu", 443, 3)... QSslSocket::_q_stateChangedSlot( QAbstractSocket::HostLookupState ) QHostInfo::lookupHost("gsu.view.usg.edu", 0x352130, _q_startConnecting(QHostInfo)) QAbstractSocket::connectToHost("gsu.view.usg.edu", 443) == false (connection in progress) QHostInfoAgent::fromName(): looking up "gsu.view.usg.edu" (IPv6 support is enabled) QHostInfoAgent::run(): found 1 entries: {168.24.92.122} QAbstractSocketPrivate::_q_startConnecting(hostInfo == {168.24.92.122}) QSslSocket::_q_stateChangedSlot( QAbstractSocket::ConnectingState ) QSslSocket::_q_hostFoundSlot() state = QAbstractSocket::ConnectingState QAbstractSocketPrivate::_q_connectToNextAddress(), connecting to 168.24.92.122:443, 1 left to try QAbstractSocketPrivate::resetSocketLayer() QAbstractSocketPrivate::initSocketLayer(TcpSocket, IPv4Protocol) success QNativeSocketEnginePrivate::nativeConnect() to 168.24.92.122 :: 443 WSA error : WSAEWOULDBLOCK more details (A non-blocking socket operation could not be completed immediately.) QNativeSocketEnginePrivate::nativeConnect(168.24.92.122, 443) == false (Connection in progress) QNativeSocketEnginePrivate::nativeConnect() to 168.24.92.122 :: 443 WSA error : WSAEISCONN more details (A connect request was made on an already connected socket.) QNativeSocketEnginePrivate::nativeConnect(168.24.92.122, 443) == true QNativeSocketEnginePrivate::fetchConnectionParameters() localAddress == 10.10.121.142, localPort = 54346, peerAddress == 168.24.92.122, peerPort = 443, socketProtocol == IPv4Protocol, socketType == TcpSocket QAbstractSocketPrivate::connectionNotification() testing connection QSslSocket::_q_stateChangedSlot( QAbstractSocket::ConnectedState ) QSslSocket::_q_connectedSlot() state = QAbstractSocket::ConnectedState peer = "gsu.view.usg.edu" QHostAddress( "168.24.92.122" ) 443 QHostInfo::fromName("10.10.121.142") QHostInfoAgent::fromName(): looking up "10.10.121.142" (IPv6 support is enabled) local = "IT-L-JGY1PX1.it.local" QHostAddress( "10.10.121.142" ) 54346 QSslSocket::startClientEncryption() QAbstractSocket::writeData(0x15c08c "\26\3\1\1E\1\0\1A\3\3S\37777777722\r\37777777624\37777777701^\37777777755\37777777703r\37777777723\37777777773X\37777777661\37777777653whR\17\37777777651L\37777777620...", 330) == 330 QSslSocketBackendPrivate::transmit: wrote 330 encrypted bytes to the socket 330 actual. QAbstractSocket::bytesAvailable() == 0 QSslSocketBackendPrivate::transmit: testing encryption QSslSocketBackendPrivate::transmit: encryption not done yet QAbstractSocket::bytesAvailable() == 0 QSslSocketBackendPrivate::transmit: testing encryption QSslSocketBackendPrivate::transmit: encryption not done yet QAbstractSocketPrivate::fetchConnectionParameters() connection to 168.24.92.122:443 established QAbstractSocketPrivate::canWriteNotification() flushing QNativeSocketEnginePrivate::nativeWrite(0x4544680 "\26\3\1\1E\1\0\1A\3\3S\37777777722\r\37777777624\37777777701...", 330) == 330 QAbstractSocketPrivate::flush() 330 bytes written to the network QSslSocket::_q_bytesWrittenSlot( 330 )
This was done with the securesocketclient example setting the port to 443, doing the same thing with www.amazon.co.uk works fine.