summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* qnativesocketengine_win.cpp: Fix comparison of OS versionFriedemann Kleint2016-12-091-10/+3
| | | | | | | | | | Rewrite code to assume Windows 7 as minimum supported version and check using the operators of QOperatingSystemVersion. Amends change e26c59e564023b89336d97f7a838cacd7c9cb9e3. Change-Id: I47cdd4f53ef55441ac7c1f6b1c15f8d4983d70b1 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Add configurable connect timeout for QAbstractSocketSamuel Gaist2016-11-294-9/+69
| | | | | | | | | | | | | | The aim of this patch is to allow the configuration of the connect timeout used by QAbstractSocket that is currently hardcoded to 30 seconds. Using QNetworkConfiguration for this allows to adapt the timeout per network configuration (e.g. 2G vs wired lan) [ChangeLog][QtNetwork] The connect timeout from QAbstractSocket is now configurable through QNetworkConfiguration. Change-Id: I1dc4051be2c74f925f7a9e0a9ccef332efc2e370 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* qnativesocketengine_win.cpp: Use QOperatingSystemVersion to detect OSFriedemann Kleint2016-11-251-4/+7
| | | | | | | | | | | | | | | | | Fix warning: socket\qnativesocketengine_win.cpp: In member function 'bool QNativeSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType, QAbstractSocket::NetworkLayerProtocol&)': socket\qnativesocketengine_win.cpp:337:26: warning: 'WinVersion' is deprecated: Use QOperatingSystemVersion [-Wdeprecated-declarations] QSysInfo::WinVersion osver = QSysInfo::windowsVersion(); ^ In file included from ..\..\include/QtCore/qsysinfo.h:1:0, from ..\..\include\QtCore/../../src/corelib/global/qglobal.h:1150, from ..\..\include\QtCore/qglobal.h:1, from ..\corelib\global\qt_pch.h:56: enum QT_DEPRECATED_X("Use QOperatingSystemVersion") WinVersion { Change-Id: I9b060d886af3b627ac4b6eeb3321629734cc1e46 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* qsslsocket_openssl_symbols.cpp: Fix signedness warning in DEFINEFUNC2Friedemann Kleint2016-11-241-1/+1
| | | | | | | | | | | Fix warning: qsslsocket_openssl_symbols.cpp157:78:warning: implicit conversion changes signedness: 'int' to 'unsigned long' note: expanded from macro 'DEFINEFUNC2' Amends change 2cf63c71ebe139890526057dcc51b24ea6df6c30 Change-Id: I694c5199d272d05f0070288af2e00b6fce42fc91 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* doc: clangqdoc must see SCTP classesMartin Smith2016-11-192-2/+2
| | | | | | | | | clangqdoc must parse the declarations for QSctpServer and QSctpSocket, not just for Q_OS_WIN, so Q_CLANG_QDOC must be tested as well. Change-Id: I70f5a0542b654826d9d36fe68930752e68caf6b6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-172-2/+4
|\ | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/uikit/default_post.prf Change-Id: I2a6f783451f2ac9eb4c1a050f605435d2dacf218
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-161-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/linux-android.conf src/gui/opengl/qopengl.h src/network/socket/qnativesocketengine_winrt.cpp src/network/socket/qnativesocketengine_winrt_p.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/api/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp sync.profile Change-Id: If70aaf2c49df91157b864cf0d7d9513546c9bec4
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-152-4/+19
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/platforms/eglfs/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp Change-Id: Id2da7c775439adb62646d5b741ee7c638042b34b
| | | * winrt: Proper guarding by readMutexOliver Wolff2016-11-082-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commented its purpose and the guarded members for readMutex. Fixed places where guarded members were accessed without using the mutex. Use QMutexLocker instead of manually (un-)locking the mutex. Task-number: QTBUG-44357 Change-Id: I3049bb0df30f00659dc284c8e30ad7503c11e7c6 Reviewed-by: David Faure <david.faure@kdab.com>
| * | | Unbreak a couple of configurationsLars Knoll2016-11-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix compilation with topleveldomain, textodfwriter and cssparser features disabled. Change-Id: I3f061fb09eef36cd640256a46cf77dde85a54d3d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-081-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qalgorithms.h Change-Id: Ib8ce4d5d9ecd5b9c166d5b8b44e58f3e4e7283ff
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-041-1/+1
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/json/qjsonparser.cpp src/gui/opengl/qopengl.cpp Change-Id: Ib4d3208398399691839e6c6eaeb9006f99e3a62b
| | | * winrt: Fixed assignment of readOrigin in readDatagramOliver Wolff2016-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I0455b6526b8bacd30622698e0a497fa2da3932ba Reviewed-by: David Faure <david.faure@kdab.com>
* | | | Merge remote-tracking branch 'gerrit/5.8' into devTor Arne Vestbø2016-11-057-113/+98
|\| | | | | | | | | | | | | | | Change-Id: Ib31cae9b57f6fb078739c409162bf2987eb430ad
| * | | configure -libproxy: add a warning if not namespacing QtEdward Welbourne2016-11-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-46058 Change-Id: I62978b7fe9a82f9facb16ba56d0b14b792e3de61 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | | winrt: Removed unused member variable from socket engineOliver Wolff2016-11-031-2/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: I3255c1fb10e053f9a9a1753ad0a0b6969d8a8cfe Reviewed-by: David Faure <david.faure@kdab.com>
| * | | winrt: Remove static mutex that protected handleReadyReadOliver Wolff2016-11-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the point in time when the callback is called it is very unlikely that another thread sets the state or error of the socket engine. Other members (readBytes, bytesAvailable) are protected by readMutex. Change-Id: I76cf12fbc9019d1b42846c4b40e0cd1c06bbb220 Reviewed-by: David Faure <david.faure@kdab.com>
| * | | winrt: Guard pendingReadOps with mutexOliver Wolff2016-11-032-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the list is changed inside a native callback (handleReadyRead) which can be run inside another thread it has to be protected by a mutex. Change-Id: I145a866a36a12b7ea9bfa9f99ad9f7add872a021 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
| * | | winrt: Proper guarding by readMutexOliver Wolff2016-11-032-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commented its purpose and the guarded members for readMutex. Fixed places where guarded members were accessed without using the mutex. Use QMutexLocker instead of manually (un-)locking the mutex. Task-number: QTBUG-44357 Change-Id: I0d46f9592d5a9d1b52e73df961785a6f6c9e80be Reviewed-by: David Faure <david.faure@kdab.com>
| * | | Add QNetworkProxy::usesSystemConfiguration() accessorKai Koehne2016-11-024-103/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow to check programmatically whether using the system proxy settings is enabled. To implement this the QSystemConfigurationProxyFactory is replaced by an explicit boolean in QGlobalNetworkProxy. Change-Id: I52231b4ffc890b085bcd1739acf93c97bdb18eb5 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | | | QAbstractSocket: print error message before emitting the signalAlex Trotsenko2016-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The socket might get closed by some slot connected to its error() signal. This could lead to 'errorString' being cleared, which would hide the actual error code from the debug output. Changing the order of calls ensures we always get the correct message. Change-Id: If7c01196dbeb3cb0c97235cd02a3baf63fc190da Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | | QSocks5SocketEngine: improve buffering in CONNECT modeAlex Trotsenko2016-11-021-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace QByteArray-based read buffer with a more efficient QRingBuffer. Change-Id: Id43427a0692463481dfc4dfbe915772afb093364 Reviewed-by: Jesus Fernandez <jesus.fernandez@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-0218-123/+523
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blacklist tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() on macOS. Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/sdk.prf src/angle/src/libEGL/libEGL.pro src/platformsupport/fontdatabases/fontdatabases.pro src/platformsupport/platformsupport.pro src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/direct2d/qwindowsdirect2dintegration.cpp src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro tests/auto/widgets/widgets/qmenubar/BLACKLIST tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Task-number: QTBUG-56853 Change-Id: If58785210feee3550892fc7768cce90e75a2416c
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-015-8/+17
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/win/msvc_version.cpp configure.pri mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf src/corelib/io/qsettings_mac.cpp src/corelib/json/qjsondocument.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.h src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/qiosintegration.h src/plugins/platforms/minimalegl/qminimaleglintegration.cpp tests/auto/gui/painting/qpainter/tst_qpainter.cpp tools/configure/environment.cpp Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-312-2/+6
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/minimalegl/qminimaleglintegration.cpp Change-Id: Ia6ab42a6daadbf8abc085c971545904d49ea4b56
| | | * QAbstractSocket: avoid unspecified behavior in writing on TCPAlex Trotsenko2016-10-272-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing zero as size parameter to QAbstractSocketEngine::write() has unspecified behavior, at least for TCP sockets. This could happen on flush() when writeBuffer is empty or on writeData() with size 0. Avoid by explicitly checking against zero size. Change-Id: I070630d244ce6c3de3da94f84c2cded2c7a4b081 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-222-6/+6
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/eglfs/qeglfshooks.cpp Change-Id: I483f0dbd876943b184803f0fe65a0c686ad75db2
| | | * QNetworkReplyHttpImpl: Fix UB (member call) in destruction sequenceMarc Mutz2016-10-201-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by UBSan: qnetworkreplyhttpimpl.cpp:457:29: runtime error: member call on address 0x602000009cf0 which does not point to an object of type 'QNetworkReplyHttpImpl' 0x602000009cf0: note: object is of type 'QObject' 1e 00 80 18 20 e0 bb 12 54 7f 00 00 00 f2 00 00 70 61 00 00 02 00 00 00 ff ff ff 06 08 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QObject' #0 0x7f541461b71b in QNetworkReplyHttpImplPrivate::~QNetworkReplyHttpImplPrivate() qnetworkreplyhttpimpl.cpp:457 #1 0x7f541461b7f0 in QNetworkReplyHttpImplPrivate::~QNetworkReplyHttpImplPrivate() qnetworkreplyhttpimpl.cpp:458 #2 0x7f540f26df1a in QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) qscopedpointer.h:54 #3 0x7f540f26df1a in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() qscopedpointer.h:101 #4 0x7f540f26df1a in QObject::~QObject() qobject.cpp:940 #5 0x7f540e915f6e in QIODevice::~QIODevice() qiodevice.cpp:416 #6 0x7f5414599bae in QNetworkReply::~QNetworkReply() qnetworkreply.cpp:444 #7 0x7f54145e6f5e in QNetworkReplyHttpImpl::~QNetworkReplyHttpImpl() qnetworkreplyhttpimpl.cpp:239 #8 0x7f54145e6f5e in QNetworkReplyHttpImpl::~QNetworkReplyHttpImpl() qnetworkreplyhttpimpl.cpp:242 #9 0x7f54144b3539 in void qDeleteAll<QList<QNetworkReply*>::const_iterator>(QList<QNetworkReply*>::const_iterator, QList<QNetworkReply*>::const_iterator) qalgorithms.h:317 #10 0x7f54144b3539 in void qDeleteAll<QList<QNetworkReply*> >(QList<QNetworkReply*> const&) qalgorithms.h:325 #11 0x7f54144b3539 in QNetworkAccessManager::~QNetworkAccessManager() qnetworkaccessmanager.cpp:496 Fix by moving the emission of the QNetworkReplyHttpImpl::abortHttpRequest() signal from ~Private, when the public object is merely a QObject anymore, to ~QNetworkReplyHttpImpl(), when the public class is still itself. Change-Id: Ifb3b19f6d180452bdf3fc26f54629ef780a5d9d9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | | * winrt: Added timeout for cancellation of socket read operationOliver Wolff2016-10-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the function runs on the XAML thread it can make the app unresponsive/wait forever on a socket close. Thus we should not wait forever but have a timeout. If the timeout is hit the socket is not closed properly but hard reset. Change-Id: I82e9425c0f8195e3465027fdc2417a93f1c1ad91 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-171-0/+5
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/macx-ios-clang/features/resolve_config.prf src/testlib/qtestcase.qdoc Change-Id: Icefa63056ffb37106f35299a8f19165535571799
| | | * QNetworkSession: make sure that "interface" isn't #definedThiago Macieira2016-10-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on #include order isn't a good idea. Change-Id: Ief935e1fcc5d40ecb510fffd147c08dffe6cba2d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | | Document Qt Network licensesKai Koehne2016-10-243-6/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also explicitly mention the GPL exception for OpenSSL. Change-Id: I460189ee4d2dd79f8eca320ac82460e186b0f84c Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * | | HTTP/2 - fix the handling of PUSH_PROMISETimur Pocheptsov2016-10-217-99/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HTTP/2 allows a server to pre-emptively send (or "push") responses (along with corresponding "promised" requests) to a client in association with a previous client-initiated request. This can be useful when the server knows the client will need to have those responses available in order to fully process the response to the original request. Server push is semantically equivalent to a server responding to a request; however, in this case, that request is also sent by the server, as a PUSH_PROMISE frame. The PUSH_PROMISE frame includes a header block that contains a complete set of request header fields that the server attributes to the request. After sending the PUSH_PROMISE frame, the server can begin delivering the pushed response as a response on a server-initiated stream that uses the promised stream identifier. This patch: - fixes the HPACK decompression of PUSH_PROMISE frames; - allows a user to enable PUSH_PROMISE; - processes and caches pushed data for promised streams; - updates auto-test - emulates a simple PUSH_PROMISE scenario. Change-Id: Ic4850863a5e3895320baac3871a723fc091b4aca Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | | make setting OPENSSL_LIBS_{DEBUG,RELEASE} work with dynamic buildsOswald Buddenhagen2016-10-141-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | while it's probably not really necessary (which is why it wasn't implemented before), just ignoring the options is somewhat inconsistent and a deviation from historical behavior. Task-number: QTBUG-55530 Change-Id: I9441bf7be50ab5c997bb745e2525048ca23e4cd5 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * | | Fix resolution of OPENSSL_LIBS in ssl.priKai Koehne2016-10-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-55530 Change-Id: Icc5ae9849e41479732eb44d01d9ea37aa3da16f8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | | winrt: Do not lose initial data for TCP connectionsOliver Wolff2016-10-142-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a client connects and sends data immediately it was possible that initial data was lost as the state was set too late. If the callback was called before the state was set the socket engine just discarded the data. So the state has to be set before the callback is registered. The new implementation needs a list of pending read operations. It can happen that the "readyRead" callback is triggered directly while "put_Completed" is called. The callback reassigns readOp which causes a "function not implemented" exception when it jumps back to the "put_Completed" call in "initialize" Task-number: QTBUG-55889 Change-Id: I5f52e3377b6176f1f90f227ac0bf52b60ee2d95a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | | | qhostaddress.cpp: optimize string usageAnton Kudryavtsev2016-10-241-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prefer QStringRef methods to avoid allocations. Change-Id: I0a5878f29c93e65feb2ab189b6b316d53ed497bd Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-137-29/+143
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakeevaluator.cpp (cherry picked from commit 1af6dc2c8fb4d91400fddc5050166f972ae57c9a in qttools) src/corelib/kernel/qcore_mac_objc.mm src/gui/painting/qcolor.h src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: I5b3ec468a5a9a73911b528d3d24ff8e19f339f31
| * | | winrt: tcpsocket: Update bytesAvailable when new data is readHarald Meyer2016-10-122-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of calculating the bytesAvailable in place, the value should be stored and only retrieved in the function itself. Otherwise it is possible that bytesAvailable is called between the data having been read and readyRead is emitted. In this case it's possible, that the client reads all the data before the signal is emitted. Triggering readyRead without any data being available will stop the socket. Task-number: QTBUG-44357 Change-Id: I81d6ab094c5fdd71f30b9ceba9d790153cc92439 Reviewed-by: Harald Meyer <dev@meh.at> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | | winrt: Rework handling of udp datagramsOliver Wolff2016-10-122-12/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We may only emit the readReady signal once for every event loop iteration. The previous implementation lead to the situation that the socket engine stopped reading socket data when bursts of data was received. In this case several readReady signals were fired. The socket engine obtained the pending datagrams (not only the first one) and for the following readReady signal no datagram was present. In this case the socket engine stops reading and the engine stalls. The new approach emits the readyRead signal at the most once every event loop iteration. The list of new pending datagrams is queued to be added to the "real" pending datagram list at the same time as the readyRead signal. Thereby we avoid the situation that a client can read all the datagrams before readyRead is emitted. One more advantage of having the worker handle the pending datagrams is that we no longer have to access the socket engine's members inside the callback. Thus we avoid the situation, where a late callback can make the application crash when the socket engine has already been deleted. Task-number: QTBUG-53472 Task-number: QTBUG-53471 Task-number: QTBUG-55895 Change-Id: Ia6d21cb635a40e7bd9e0213bb3a5c54ebc1220eb Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | | Add configure feature for QUrl::topLevelDomainLars Knoll2016-10-111-1/+10
| | | | | | | | | | | | | | | | | | | | Change-Id: I237af8c60a9572c707e7004c9a284dd6cd3306ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-113-6/+13
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qpixmap.cpp src/widgets/kernel/qformlayout.cpp Change-Id: I8a8391a202adf7f18464a22ddf0a6c4974eab692
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-083-6/+13
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/qhttpnetworkconnection.cpp src/network/access/qhttpnetworkconnection_p.h Change-Id: I11f8641ef482efa8cee1b79977d19cc3182814b4
| | | * Make sure SSL configuration is correct in QNetworkReply::encrypted.Vladimir Prus2016-10-053-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases, when QNetworkReply::encrypted is emitted, QNetworkReply::sslConfiguration is not yet initialized, in particular certificate chain is empty, which breaks the documented usage of 'encrypted' to perform additional checks on certificate chain. It looks to be caused by the fact that QHttpNetworkReply is originally associated with 0th QHttpNetworkConnectionChannel, and this association is not updated if HTTP pipelining is not used. Therefore, a reply on channel >0 might arrive before reply on channel 0, and then using ssl configuration from channel 0, which not made it through handshake, is not usable. Task-number: QTBUG-49554 Change-Id: Ie5d4b5a0c503d5bdc44761ce8581f6ffe4e3bac2 Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
| * | | Replace QCFString::to(CF/NS/Q)String usage with QString methodsTor Arne Vestbø2016-10-061-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Slims down QCFString and leaves only one implementation of converting back and forth between CF/NS strings and QStrings. Change-Id: I068568ffa25e6f4f6d6c99dcf47078b7a8e70e10 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-09-293-3/+8
|\| | | | | | | | | | | | | | | Change-Id: I3b51bb706e401edfda09a433c67aa58e44f33e83
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-293-3/+8
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/uikit/xcodebuild.mk tests/auto/other/lancelot/tst_lancelot.cpp tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Change-Id: Ia0ae2de86094120281abd445138877c2cc3e882c
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-282-1/+4
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qfiledialog.cpp tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp Change-Id: I34bc8a990f8f526889a95a5c7099ef557b9681ad
| | | * QSslSocket: respect read buffer's max size (SecureTransport)Timur Pocheptsov2016-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. QSslSocketBackendPrivate::transmit was ignoring 'readBufferMaxSize'; as a result, we can have a user trying to set read buffer's size to a small value (and more important - reading slowly in a small chunks from this socket), but SSL itself socket reading 'too fast', potentially growing its internal buffer to a huge size. This also results in auto-tests failing - whenever we're trying to limit read rate in some test. 2. Update qsslsocket auto-test. Task-number: QTBUG-43388 Task-number: QTBUG-55170 Change-Id: Iedece26df0ac5b3b7cad62cc8c98aedc28e7ca5b Reviewed-by: Richard J. Moore <rich@kde.org>
| | | * QNetworkInterface: fix reporting of virtual interfaces on LinuxThiago Macieira2016-09-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We checked if we had seen the interface by looking into seenInterfaces and seenIndexes, but we never updated those variables with what we saw in this block. This fixes the reporting of PPP interfaces as well as TUN/TAP virtual interfaces. Change-Id: I33dc971f005a4848bb8ffffd1476830b8482b808 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>