summaryrefslogtreecommitdiffstats
path: root/tests/auto/network
Commit message (Collapse)AuthorAgeFilesLines
* Don't let closed http sockets pass as valid connectionsUlf Hermann2015-10-131-0/+54
| | | | | | | | | | | | | | | A QAbstractSocket can be close()'d at any time, independently of its current connection state. being closed means that we cannot use it to read or write data, but internally it might still have some data to send or receive, for example to an http server. We can even get a connected() signal after close()'ing the socket. We need to catch this condition and mark any pending data not yet written to the socket for resending. Task-number: QTBUG-48326 Change-Id: I6f61c35f2c567f2a138f8cfe9ade7fd1ec039be6 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-022-14/+71
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/corelib/tools/qstring.h src/gui/image/qimagereader.cpp src/network/access/qnetworkaccessmanager.cpp src/tools/qdoc/doc/examples/examples.qdoc src/widgets/accessible/qaccessiblewidgetfactory_p.h src/widgets/doc/qtwidgets.qdocconf Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb
| * Make sure networkAccessibilityChanged is emittedLorn Potter2015-09-261-14/+17
| | | | | | | | | | | | | | Task-number: QTBUG-46323 Change-Id: I8297072b62763136f457ca6ae15282d1c22244f4 Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * QUdpSocket: avoid infinite read notifier blockingAlex Trotsenko2015-09-101-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a small amount of time between the last readDatagram() call and disabling a read notifier in case the socket had a pending datagram. If a new datagram arrived in this period, this qualified as absence of a datagram reader. Do not change the read notifier state because it is disabled on canReadNotification() entry and always enabled by the datagram reader. Thanks to Peter Seiderer, who investigated the same: "Querying hasPendingDatagrams() for enabling/disabling setReadNotificationEnabled() is racy (a new datagram could arrive after readDatagam() is called and before hasPendingDatagrams() is checked). But for unbuffered sockets the ReadNotification is already disabled before the readReady signal is emitted and should be re-enabled when calling read() or readDatagram() from the user." However, this patch does not completely solve the problem under Windows, as the socket notifier may emit spurious notifications. Task-number: QTBUG-46552 Change-Id: If7295d53ae2c788c39e86303502f38135c4d6180 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Tests: Always verify whether QTemporaryDir/File creation succeeded.Friedemann Kleint2015-09-283-4/+8
| | | | | | | | | | | | | | | | | | | | | | Use QVERIFY2() with QTemporaryDir/File::errorString() consistently. Attempt to catch issues like the below warning and follow-up issues. QSYSTEM: tst_QFiledialog::clearLineEdit() QFileSystemWatcher: FindNextChangeNotification failed for "C:\Users\qt\_____aaaaaaaaaaaaaaaaaaaaaa" (Access is denied.) Task-number: QTBUG-47370 Change-Id: I58a6e87c502627e976efa62ad73c912f3b2d49fa Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Autotest: Make tst_QNetworkInterface::interfaceFromXXX data-drivenThiago Macieira2015-09-131-20/+28
| | | | | | | | | | Change-Id: I7de033f80b0e4431b7f1ffff13f98c015ae37dc6 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Declare QNetworkAddressEntry and QNetworkInterface as metatypesThiago Macieira2015-09-131-1/+0
| | | | | | | | | | Change-Id: I7de033f80b0e4431b7f1ffff13f98c092ea3ba3e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-263-14/+37
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/snippets/code/doc_src_qmake-manual.pro qmake/doc/src/qmake-manual.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qbytearray.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp tests/auto/network/access/qnetworkreply/BLACKLIST Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
| * WinRT: Skip unsupported multicast UDP socket testsOliver Wolff2015-08-171-0/+18
| | | | | | | | | | Change-Id: I69f756ad829569060ae9931748b940842d23a6ea Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
| * tst_qudpsocket: Do not crash if no testserver address could be foundOliver Wolff2015-08-171-2/+14
| | | | | | | | | | Change-Id: Ica61974b20b848997c8ab101abde4b536814ba83 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
| * Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Oswald Buddenhagen2015-08-121-4/+5
| |\
| | * Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-07-171-4/+5
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/manifest-meta.qdocconf src/corelib/global/qnamespace.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qtools_p.h src/sql/drivers/psql/qsql_psql.cpp Change-Id: I23a15ac84e03ad61d865e3df872b013eb0752949
| | | * Network: Fix up previous corruption patchMarkus Goetz2015-07-081-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a fix-up for cff39fba10ffc10ee4dcfdc66ff6528eb26462d3. That patch lead to some internal state issues that lead to the QTBUG-47048 or to QNetworkReply objects erroring with "Connection Closed" when the server closed the Keep-Alive connection. This patch changes the QNAM socket slot connections to be DirectConnection. We don't close the socket anymore in slots where it is anyway in a closed state afterwards. This prevents event/stack recursions. We also flush QSslSocket/QTcpSocket receive buffers when receiving a disconnect so that the developer always gets the full decrypted data from the buffers. [ChangeLog][QtNetwork] Fix HTTP issues with "Unknown Error" and "Connection Closed" [ChangeLog][QtNetwork][Sockets] Read OS/encrypted read buffers when connection closed by server. Change-Id: Ib4d6a2d0d988317e3a5356f36e8dbcee4590beed Task-number: QTBUG-47048 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Richard J. Moore <rich@kde.org>
| * | | Extend QNetworkReply test exclusion on OS XSimon Hausmann2015-08-101-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test is very flakey in 5.5 integrations and the OS X CI machines have notorious problems with networking stability. So the previously listed tests are not really at fault, it's an infrastructure problem, that we choose to ignore for the time being. Change-Id: I7fbfa7b3778daa6b5e60d95b822847c92927122f Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | | Autotest: Print errno in case of failureThiago Macieira2015-08-221-0/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I7de033f80b0e4431b7f1ffff13fc4a02e1c1a2a5 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | QAbstractSocketEngine: introduce QIpPacketHeader for datagramsThiago Macieira2015-08-222-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the readDatagram() and writeDatagram() virtual functions to take a QIpPacketHeader as meta data, instead of a QHostAddress/quint16 pair. As previously, the header is an "out" parameter for readDatagram() and an "in" parameter for writeDatagram(). The header pointer in readDatagram() is allowed to be null if the PacketHeaderOptions indicates WantNone. Otherwise, it must not be null. The extra options parameter is introduced because we may not always want all the metadata upon reception. For sending, we know what to include or not based on what's set in the incoming header parameter. QIpPacketHeader splits sender and destination because we'll be able to return both on datagram reception. Change-Id: Iee8cbc07c4434ce9b560ffff13ca4213255008c7 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | QHostAddress: Improve code generationThiago Macieira2015-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly related to IPv6, because Q_IPV6ADDR is an array of char, so the compilers were generating byte access to each value. Instead, force access as 32- and 64-bit in most places that make sense (64-bit access decays to 32-bit on 32-bit machines). In one isLoopback(), this is now a 128-bit access for best improvement. Some smaller improvements relating to SpecialAddress by combining the three IPv4 special addresses. Change-Id: I7de033f80b0e4431b7f1ffff13f932b1cd7b5d21 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | Add QHostAddress::isMulticastThiago Macieira2015-08-151-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This complements QHostAddress::isLoopback. The only missing check now is for the "Any" address types, though operator== is quite fast nowadays. Change-Id: Iee8cbc07c4434ce9b560ffff13cc2691e15014b6 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | QtTest: Add QHostAddress support for QCOMPARE failuresThiago Macieira2015-08-151-12/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: Iee8cbc07c4434ce9b560ffff13cc6dad04a5a554 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/devTimur Pocheptsov2015-08-0915-12/+118
|\ \ \ \
| * | | | Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-0615-12/+118
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/3rdparty/forkfd/forkfd.c src/corelib/codecs/qtextcodec.cpp src/corelib/kernel/qmetatype.cpp src/corelib/tools/qset.qdoc src/gui/accessible/qaccessible.cpp src/gui/image/qpixmapcache.cpp src/opengl/qgl.cpp src/tools/qdoc/generator.cpp src/widgets/kernel/qwidget.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
| | * | | ssl: add test certificates with DSA and EC keysJeremy Lainé2015-07-3012-5/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QSslCertificate tests only covered certificates with RSA keys, this extends the test coverage to DSA and EC keys. Change-Id: Ibee26f449cf6c1d97cbac6b511972eb44d6f0bd2 Reviewed-by: Richard J. Moore <rich@kde.org>
| | * | | ssl: fix comment typo in QSslSocket testsJeremy Lainé2015-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The comment about non-OpenSSL backends not reproting a specific error for self-signed certificates contained a typo, this fixes it. Change-Id: I3010981d5d87d68ebf5e984c003b8bbbfb019b96 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
| | * | | ssl: fix QNAM self-signed certificate test for non-OpenSSL backendsJeremy Lainé2015-07-281-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Non-OpenSSL backends are not able to report a specific error code for self-signed certificates. Change-Id: I56bf130335b2afa65cf2bd5248a40ac0e32f74c2 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
| | * | | tst_QUdpSocket: send two bytes in a datagramThiago Macieira2015-07-171-4/+4
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm getting an error with WSARecvFrom in nativeBytesAvailable() and I don't know why. The number of bytes obtained is correct and the test works for 2 bytes, so let's use that. The Windows nativeBytesAvailable() function has a comment saying that WSAIoctl sometimes indicates 1 byte available when there's a pending error notification, so that function proceeds to do a WSARecvFrom to peek the number of bytes. Somehow that function in this test is getting a SOCKET_ERROR I can't explain. Change-Id: Ic5b19e556e572a72a9df9a405b1fee3b7efb8b24 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | QSslCertificate - skip tests failing with generic QSslCertificatePrivateTimur Pocheptsov2015-08-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SecureTransport does not implement QSslCertificatePrivate thus some tests relying on generic version fail. Skip them for now. Change-Id: I483340b37786a8a556e954b2c538e4f48a342be9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | | | Blacklist test failing due to too new OpenSSL versionSimon Hausmann2015-08-061-0/+3
|/ / / | | | | | | | | | | | | | | | | | | As advised by Rich :) Change-Id: I76c425e840419bc68762628e401b3e51c62c8da9 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | QSKIP SSL-session related tests (SecureTransport backend)Timur Pocheptsov2015-08-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | A couple of test always fail on OS X/iOS with SecureTransport (simply not implemented yet). Change-Id: Idd82262512938c36b657b497751738fdc804c182 Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org> Reviewed-by: Richard J. Moore <rich@kde.org>
* | | Blacklist some cases from tst_qftpJani Vähäkangas2015-08-033-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also removed the XFAIL from connectToUnresponsiveHost Change-Id: Ie0f5685a8fa437c00d22f9e76b51ac61347ce03b Task-number: QTBUG-15111 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
* | | tests/auto/network: Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b).Friedemann Kleint2015-07-3117-354/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer). - Replace Q[TRY]_VERIFY(smartPointer == 0) by Q[TRY]_VERIFY(smartPointer.isNull()). - Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) and add casts where necessary. The values will then be logged should a test fail. Change-Id: Icaa1edafcc6e2779fbd6dbc2c058544d6e07f1e9 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | tst_qhostaddress: Add braces to initialization of a Q_IPV6ADDR.Friedemann Kleint2015-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warning: tst_qhostaddress.cpp:319:38: warning: suggest braces around initialization of subobject [-Wmissing-braces] Q_IPV6ADDR localhostv4mapped = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 127, 0, 0, 1 }; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: I9e00300413bfd9ac393c61adf8eb773009ed969d Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | | Tests: Remove some unused member variables.Friedemann Kleint2015-07-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings: tst_qtcpsocket.cpp:245:9: warning: private field 'numConnections' is not used [-Wunused-private-field] int numConnections; ^ tst_qtcpsocket.cpp:1834:9: warning: private field 'exitCode' is not used [-Wunused-private-field] int exitCode; tst_qcheckbox.cpp:86:10: warning: private field 'tmp' is not used [-Wunused-private-field] uint tmp; ^ tst_qcheckbox.cpp:88:10: warning: private field 'tmp2' is not used [-Wunused-private-field] uint tmp2; Below warning is caused by code #ifdefed for OS X only, make it a local variable: tst_qlabel.cpp:114:16: warning: private field 'test_edit' is not used [-Wunused-private-field] QLineEdit *test_edit; Change-Id: I53c755545fe2e7ca1f053f40c8c0e50aec2efcdd Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | | Tests: Replace Q[TRY]_VERIFY(v == true|false) by QVERIFY(v)|QVERIFY(!v).Friedemann Kleint2015-07-272-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Preparing the replacement of Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) for non-boolean types. Change-Id: Iab6ec2f0a89a3adc79e18304573994965013dab5 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | | ssl: add openssl-based QSslKeyPrivate::encrypt / decryptJeremy Lainé2015-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds an OpenSSL-based implementation of the QSslKeyPrivate encrypt and decrypt method. This puts both the OpenSSL-based and non-OpenSSL backends (WinRT for now) on par. Change-Id: I18a75ee5f1c223601e51ebf0933f4430e7c5c29b Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | | Disable spdy test on WindowsFrederik Gladhorn2015-07-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test is crashing regularly (see bugreport). Currently the test is not run in the regular CI system, that is why the failures were not noticed. Task-number: QTBUG-47128 Change-Id: I70d4ada0872316cc63d7629bb9ab2d055d70cf2a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-0117-21/+20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * | Merge remote-tracking branch 'origin/5.5.0' into 5.5Liang Qi2015-06-271-3/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.h Manually fixed src/testlib/qtestcase.cpp to return the right type. Change-Id: Id1634dbe3d73fefe9431b9f5378846cb187624e4
| | * | QSslSocket: move default cipher, EC and default CA APIs to QSslConfigurationGiuseppe D'Angelo2015-06-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSslConfiguration is better suited for these APIs. The ones in QSslSocket that already have a counterpart have been deprecated. [ChangeLog][QtNetwork][SSL/TLS Support] Most of the QSslSocket functions to deal with ciphersuites, certification authorities as well as elliptic curves have been deprecated in favor of the corresponding counterparts in QSslConfiguration. Task-number: QTBUG-46558 Change-Id: I1de03379efcbcab931c20e876e252769fe4279e0 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
| * | | fix usage of wince scopeOswald Buddenhagen2015-06-0516-18/+17
| |/ / | | | | | | | | | | | | | | | | | | Fix style issues along the way. Change-Id: Ic6a6de28e198eb0b14c198b802e78845703909b9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | | Blacklist socks bind test on WindowsSimon Hausmann2015-06-201-0/+2
| | | | | | | | | | | | | | | | | | | | | The test is very flakey. Change-Id: I6cb7ee7989169d077104883a02bb9240bafabe38 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Blacklist and skip various tests that are flakeySimon Hausmann2015-06-1414-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They didn't show up in the "old" CI runs because they usually pass the second time they are executed - which the testrunner does. The new CI doesn't do that anymore, instead we now mark those tests explicitly and will track their record of passing and failing in the new metrics database. Change-Id: Id34dd6f792f38995b07b6fec88f833df64de2f8b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-034-35/+173
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qnamespace.qdoc src/corelib/io/qwindowspipereader.cpp src/corelib/io/qwindowspipereader_p.h src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/plugins/platforms/xcb/qxcbconnection.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/tools/qmake/tst_qmake.cpp tests/manual/touch/main.cpp Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
| * | Make warnings of QIODevice more verbose.Friedemann Kleint2015-05-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include class name, object name and file name when available. For the bug in question: QIODevice::read: device not open becomes QIODevice::read (QTcpSocket, "QFtpDTP Passive state socket"): device not open Adding a static function also makes it easier to set a breakpoint and find the culprit. Task-number: QTBUG-46112 Change-Id: Ic181d8ab292912d1acbcc3cb84d9679fe4842ca0 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| * | Tests: Remove tst_QHostInfo::abortHostLookupInDifferentThread() testCaroline Chao2015-05-132-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test has been initially blacklisted. However it is racy by design and cannot be fixed. Removing it. Change-Id: I6c386a12e54d8a382f17c4fc033428f56eb03f02 Task-number: QTBUG-23837 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| * | Merge remote-tracking branch 'origin/5.4' into merge5.5Allan Sandfeld Jensen2015-05-081-6/+169
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/io/qnoncontiguousbytedevice_p.h src/gui/image/qjpeghandler.cpp src/network/access/qhttpthreaddelegate_p.h tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp tests/auto/widgets/widgets/qmenubar/BLACKLIST Change-Id: I01de8c1c28efcedfd7953d05025f54802dc08ab3
| | * QNAM: Fix upload corruptions when server closes connectionMarkus Goetz2015-04-201-6/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes several upload corruptions if the server closes the connection while/before we send data into it. They happen inside multiple places in the HTTP layer and are explained in the comments. Corruptions are: * The upload byte device has an in-flight signal with pending upload data, if it gets reset (because server closes the connection) then the re-send of the request was sometimes taking this stale in-flight pending upload data. * Because some signals were DirectConnection and some were QueuedConnection, there was a chance that a direct signal overtakes a queued signal. The state machine then sent data down the socket which was buffered there (and sent later) although it did not match the current state of the state machine when it was actually sent. * A socket was seen as being able to have requests sent even though it was not encrypted yet. This relates to the previous corruption where data is stored inside the socket's buffer and then sent later. The included auto test produces all fixed corruptions, I detected no regressions via the other tests. This code also adds a bit of sanity checking to protect from possible further problems. [ChangeLog][QtNetwork] Fix HTTP(s) upload corruption when server closes connection Change-Id: I54c883925ec897050941498f139c4b523030432e Reviewed-by: Peter Hartmann <peter-qt@hartmann.tk>
* | | qnetworkreplyfileimpl: set attributes if file was sentValery Kotov2015-05-042-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set status code and status text if file was sent with reply. Change-Id: Ie6acadc5c1d06538449262ffd8486e8de573b931 Task-number: QTBUG-45581 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Pasi Keränen <pasi.keranen@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-272-2/+3
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/tools/qdoc/tree.cpp tests/auto/gui/painting/qcolor/tst_qcolor.cpp Change-Id: Iaa78f601a63191fa643aabf853520f913f2f0fdc
| * | Tests: Blacklist tst_QHostInfo::abortHostLookupInDifferentThreadCaroline Chao2015-04-272-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the insignificant_test CONFIG option in favor of a BLACKLIST file. This test has been found failing on OpenSuse in CI. Change-Id: Ibc6af3c30277fec7e422e8bbeccd9437de2a61ce Task-number: QTBUG-23837 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | | Add the ability to prefer the cipher preferences specified by the server.Richard J. Moore2015-04-251-7/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the cipher preferred by the client will always be used for SSL connections. This change makes it so that by default the ciphers specified by the server will be used (like the Apache SSLHonorCipherOrder option). This behavior can be disabled using a new SslOption. [ChangeLog][QtNetwork][QSslSocket] QSslSocket will now default to using the cipher preferences of the server socket when used as an SSL server. This can be disabled using the QSslConfiguration. Change-Id: I2d16d10145cf88a7412f30ef960d87024777de1c Reviewed-by: Peter Hartmann <peter-qt@hartmann.tk>