summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* SSL internals: do not write after shutting down the socketPeter Hartmann2013-04-243-4/+13
| | | | | | | | | | ... but rather throw an error, so the HTTP layer can recover from a SSL shutdown gracefully. In case the other side sent us a shutdown, we tried to send one as well, which results in an error. (backport of commit e145b67fbd54f147dab0f8e460280a9c8533aa7b) Change-Id: I57291a5363cb0f6585dbd6aaa521c748766a1fdf Reviewed-by: Richard J. Moore <rich@kde.org>
* Increase the size of the QHostInfo cache.Richard Moore2013-04-241-2/+2
| | | | | | | | | | | | | This change increases the size of the DNS cache in QHostInfo from 64 entries to 128. Given the figures in the google chrome performance paper http://www.igvita.com/posa/high-performance-networking-in-google-chrome/ this should mean we can cache enough entries to handle 4 tabs at once. (cherry picked from commit fd9013658bab096839154ae6e68adfd1a4e10189) Change-Id: I824aa4127b6067c3ed6a2be3dbc819288ba41d1c Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Allow QHostInfo::lookupHost() with no receiver to warm the DNS cache.Richard Moore2013-04-241-1/+8
| | | | | | | | | | | | This change lets you call QHostInfo::lookupHost() with a null receiver in order to warm up the DNS cache. This allows you to try to get the DNS request in flight early. (cherry picked from commit 4030b6339c3dae4474f60b07700526fccf428b0c) Change-Id: Ieac3c535b8f9b12a2f894510a898b349712e2fce Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* QNX host lookup: do not try to load libresolv.so, it is not therePeter Hartmann2013-04-241-1/+1
| | | | | | | | | | Not trying to load the lib saves 30 - 50ms upon an apps' 1st host lookup. Task-number: QTBUG-30809 (cherry picked from commit b4985215df767c14ddd888cbb2919be3a7617cfd) Change-Id: If7338188c05f7fdf2ff80d06d91e7c7022e0e3d7 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QNetworkConfigurationManager: check whether app is shutting downPeter Hartmann2013-04-161-1/+4
| | | | | | | | | | | | | | | | | ... before trying to update the configurations. Before, we would check whether the pointer to the QNetworkConfigurationManagerPrivate instance was 0 and in that case construct it. This would mean that this code path was taken "at app shutdown", i.e. when the qAddPostRoutine had already been called but the other statics were still accessed. Note: This is not thread safe, but neither is the rest of the code; making it thread-safe would require additional changes. Task-number: QTBUG-30585 (backport of commit cc028650e590ac49293558099b3fb87720e9793b) Change-Id: Ifaae4d758a10b44bc7f838cdc0d3a1129ed63228 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* SSL code: store SSL parameters for debugging, guarded by definePeter Hartmann2013-03-251-0/+35
| | | | | | | | | | | | | ... so SSL traffic can be decrypted with e.g. tcpdump / Wireshark. For this to work, the define needs to be uncommented and QtNetwork recompiled. This will create a file in /tmp/qt-ssl-keys which can be fed into Wireshark. A recent version of Wireshark is needed for this to work. (cherry-picked from commit 1f180e9690a0a5f6cc849c1988ccda13de1b1e20) Change-Id: I413ffd2494c780f92ccad7e4fdc11b790966e7ce Reviewed-by: Richard J. Moore <rich@kde.org>
* QSslConfiguration: toggle on demand loading of root certs properlyPeter Hartmann2013-03-044-1/+21
| | | | | | | | | | | | | | | | | make sure we keep track of when we can load root certs and when we cannot (we cannot when the developer set the certs explicitly). This is implemented the same way for QSslSocket already, and needs to be duplicated because we have 2 methods for setting CA certificates: one in QSslSocket and one in QSslConfiguration. In addition, adapt the auto test which checks whether setting a default QSslConfiguration works: There is no way to set on demand loading through the API, so it should be enabled by default. Task-number: QTBUG-29103 (backport of commit ce35c0db0d9dd849c736eabaeb57d597186aaa13) Change-Id: Idf15c21092c7727e1080b1c261ce055f30dbcf63 Reviewed-by: Richard J. Moore <rich@kde.org>
* SSL docs: Be more explicit about the threats of ignoring SSL errorsPeter Hartmann2013-02-272-5/+14
| | | | | | | | | ... because almost everybody gets it wrong almost every time. (cherry picked from commit eaa18f306341818165c2ee4fc22750da04d5e45e) Change-Id: I3ca1dfe9723d4d29339c2c0a1ebe421f5929c760 Reviewed-by: Richard J. Moore <rich@kde.org>
* BB10 systemProxyForQuery: query system proxy also for non-URL requestsPeter Hartmann2013-02-122-4/+28
| | | | | | | | | | | | | | | ... like e.g. in QAbstractSocket::connectToHost(). We can set the scheme on the query URL based on well-known ports; even if the port is not well-known, we can just query the URL anyhow and let the netstatus API resolve the right proxy for us. In addition, return early for local schemes like "file" and "qrc". Task-number: QTBUG-29425 (cherry picked from commit 28d526db74c50977215133159e565e7c15fd18e3) Change-Id: I40a4865aa7765aad9145e956c0069e78c54670e7 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* BlackBerry bearer plugin: check whether device is online several timesPeter Hartmann2013-02-031-0/+11
| | | | | | | | | | | | | | | | This is supposed to workaround a race condition in the underlying netstatus API: Sometimes we get an event that the Wifi interface changed, but it is not up, e.g. no gateway (yet). In that case we need to check back (currently: 300 ms) whether the interface has come up or not. This commit can be reverted again once the race condition in the netstatus API has been resolved. Task-number: QTBUG-29421 (cherry picked from commit 3dc47622a469ded1c99397fdedc2053b73d57189) Change-Id: I252c39411340fe3f6af8440a8f21482ca9b6e62d Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* BlackBerry: change SSL root cert folderPeter Hartmann2013-01-141-1/+1
| | | | | | | | | | | Currently /etc/openssl/certs is symlinked to /var/certmgr/web/user_trusted, but this will be changed in the future. /etc/openssl/certs is the folder to be used to read the root certs. (cherry picked from commit 4c8d8a72ec65f409394075ef50401265e495c1dd) Change-Id: I80820374586b5a9038e8b69206b6c9b05f486a07 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-13164-164/+164
| | | | | | Change-Id: I52bf8ef0447b701b4ebf7d7d240013a72adb9425 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* QtNetwork: blacklist two more certificatesMartin Petersson2013-01-051-0/+2
| | | | | | | | | | | | | | | | | The comodogate 72:03:21:05:c5:0c:08:57:3d:8e:a5:30:4e:fe:e8:b0 certificate is a test certificate and the MD5 Collisions was created as a proof of concept deliberately made to be expired at the time of it's creation. Task-number: QTBUG-24654 (cherry picked from commit 4c0df9feb2b44d0c4fcaa5076f00aa08fbc1dda5) Signed-off-by: Peter Hartmann <phartmann@rim.com> Apparently this commit was forgotten to cherry-pick to Qt 4. Change-Id: I86949eaa3c02483b0b66b4a620bfa88aaa9aa99b Reviewed-by: Richard J. Moore <rich@kde.org>
* Centralise handling & ignoring of SIGPIPE in qcore_unix_p.hThiago Macieira2013-01-052-27/+3
| | | | | | | | | | | | We had two instances of this function in the Qt source code, one clearly a copy of the other, so both had the same thread-safety issue. Instead, let's have one copy and have both write_nosignal() and sendto() call them. (cherry-picked from qtbase commit cb7d64170d62c9cda11ced7e5047070af678338b) Change-Id: I0f1354a8e9df8e6b10a02f86a940e3c6d1222087 Reviewed-by: Peter Hartmann <phartmann@rim.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix thread-safety of qt_ignore_sigpipeThiago Macieira2013-01-051-1/+5
| | | | | | | | | | | | | | The testAndSet operation would mean another thread could see the value of 1 and proceed to write(2)/sendto(2) before SIGPIPE had been ignored. If the pipe or socket were already closed by then, a SIGPIPE would be delivered to the application with its default action: terminate. (cherry-picked from qtbase commit 3f970c20f9afd5c9a1cc14d7f69882e13f6aaf1b) Change-Id: I62dc8f5fa14c1dd453d13e4053c642bd78fbc468 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Peter Hartmann <phartmann@rim.com>
* SSL certificates: blacklist mis-issued Turktrust certificatesPeter Hartmann2013-01-041-0/+3
| | | | | | | | | | | | Those certificates have erroneously set the CA attribute to true, meaning everybody in possesion of their keys can issue certificates on their own. backport of bf5e7fb2652669599a508e049b46ebd5cd3206e5 from qtbase Task-number: QTBUG-28937 Change-Id: Iee57c6f983fee61c13c3b66ed874300ef8e80c23 Reviewed-by: Richard J. Moore <rich@kde.org>
* Fix binary incompatibility between openssl versionsShane Kearns2012-12-113-1/+13
| | | | | | | | | | | | | | | OpenSSL changed the layout of X509_STORE_CTX between 0.9 and 1.0 So we have to consider this struct as private implementation, and use the access functions instead. This bug would cause certificate verification problems if a different version of openssl is loaded at runtime to the headers Qt was compiled against. Task-number: QTBUG-28343 Change-Id: I47fc24336f7d9c80f08f9c8ba6debc51a5591258 Reviewed-by: Richard J. Moore <rich@kde.org> (cherry picked from commit eb2688c4c4f257d0a4d978ba4bf57d6347b15252)
* Fix compile issue with building with openssl and in a namespaceAndy Shaw2012-11-181-7/+11
| | | | | | | Task-number: QTBUG-25207 Change-Id: I20ab722d3fcb74d90d9010c5c7c303f586e0d7c7 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Adding PAC and exclusion list support to BlackBerry Qt proxy implementation.Andrey Leonov2012-11-062-4/+26
| | | | | | | | | The additional proxy functionality is only available starting BPS API version 3.1.1. (cherry picked from commit 4b71432987ca9ff059d04f0e5f567b8eb09717f9) Change-Id: Ia59adf00a15e7b0a8fc124fcbb598c9c7c331358 Reviewed-by: Peter Hartmann <phartmann@rim.com>
* fix bug in QLocalSocket::waitForReadyRead on WindowsJoerg Bornemann2012-11-051-1/+1
| | | | | | | | | | | | | | | | | | We must not close the socket, if there's still data in the read buffer. Also waitForReadyRead must return true, even if the pipe is broken after we've read data. QLocalSocket::readData will close the socket after the buffer has been drained. This fixes the flakiness of tst_QLocalSocket::threadedConnection. In Qt5 large portions of this code has been rewritten and this fix does not apply. Task-number: QTBUG-27816 Task-number: QTQAINFRA-574 Change-Id: I467340d4dbab11056e6720b145a94a87156cb419 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QtNetwork: introduce configure switch to use system proxies by defaultPeter Hartmann2012-10-312-0/+7
| | | | | | | | | | | | This option is opt-in (default: no). When configured with "-system-proxies", Qt automatically picks up the system proxies. (backport of commit f7893223e84db86dcdd860c625663d7006fcdad6) Change-Id: I95c3b17abee0691991a60a386052b4c2989f896c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Implementation of the BlackBerry Qt Proxy support.Andrey Leonov2012-10-143-0/+138
| | | | | | | | | An implementation for BlackBerry devices based on the BPS netstatus API. (backport of qtbase/cf66e41728ae70595365833c9ed00d0e2e6c4200) Change-Id: I155f287274c4d92e0546740b8dbe595ea030b505 Reviewed-by: Peter Hartmann <phartmann@rim.com>
* Add Proxy Auto Config support (PAC) on MacDaniel Molkentin2012-10-122-5/+113
| | | | | | | | | | | | | | Adds support for fetching and parsing Proxy Auto Config files if one is specified in the Mac System Preferences Task-Number: QTBUG-2069 Task-Number: QTIFW-28 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> (cherry picked from commit c524bbbb8aa4ba10bac68292a3078534f1b51df5) Change-Id: Iad8fa2a7517f9254e9c9a3c573bec0f7f4df0dfb Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix g++/MinGW compiler warnings.Friedemann Kleint2012-09-291-1/+1
| | | | | | | | | | - Assigned/Unused variables. - Unsigned comparison >= 0 is always true. - Constructor initialization order. - Signed/Unsigned comparisons. Change-Id: I1f9edab0506573420ed0bf3055252ba48625c8eb Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-29165-3962/+3962
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* HTTP header may be damaged - fix, unit testTomasz Duda2012-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | "HTTP/1.1 100 CONTINUE\r\n" If the header from a server is splitted between two packets the first packet contains "HTTP/1.1 100" and the second one contains " CONTINUE\r\n", one space (0x20) is skipped. After processing the line looks in this way "HTTP/1.1 100CONTINUE". QHttpNetworkReplyPrivate::readStatus(QAbstractSocket *socket) is called twice, if a http header is splitted as above. The function always removes whitespace from the beginning of a packet, even if it is the second part of a http header QHttpNetworkReply returns QNetworkReply::RemoteHostClosedError due to damaged http header during processing. Task-number: QTBUG-27161 Backported qtbase/60f4fc8b706db9cbeacd5dc4886a7aa347daafc0 Change-Id: I07ec43641bbb9966285a8a1f57a51fb27d2643d4 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix build for platforms that use QPA other than IOSPeter Hartmann2012-09-191-1/+1
| | | | | | | | | | | For instance on Blackberry this would try to include Mac libraries as well. In Qt 5 this is still working. Change-Id: Iae9d3b7e1b988ac8932c58deabfeb249cd2cfc2e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Disable SSL compression by default.Richard Moore2012-09-193-4/+9
| | | | | | | | | | | Disable SSL compression by default since this appears to be the a likely cause of the currently hyped CRIME attack. This is a backport of 5ea896fbc63593f424a7dfbb11387599c0025c74 Change-Id: I6eeefb23c6b140a9633b28ed85879459c474348a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Peter Hartmann <phartmann@rim.com>
* Refactor coreservices -> ios & QT_NO_CORESERVICES -> Q_OS_IOSIan Dean2012-09-183-6/+6
| | | | | | | Similar work was done in Qt5 in Change Id3b02316 Change-Id: I392d2a5bfffb9a335f28d5dbc5ea27b800fc4487 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* QtNetwork: bypass proxy for local connectionsJulien Brianceau2012-09-072-10/+13
| | | | | | | | | | | According to Qt doc, "Network proxy is not used if the address used in connectToHost(), bind() or listen() is equivalent to QHostAddress::LocalHost or QHostAddress::LocalHostIPv6. This is not the case in current implementation. cherry-picked from qt5/qtbase commit 5b1bc864a91c3bdb02e36e7546dadebabb42fdec Change-Id: I20585b4be1149f67f77f02903aac53ee8b140eab Reviewed-by: Richard J. Moore <rich@kde.org>
* Parse yearless date strings on leap years during LIST in QFtpPhilip Van Hoof2012-08-231-2/+35
| | | | | | | | | | Adapted _q_parseUnixDir to handle yearless date strings during a leap year while performing LIST. Task-number: QTBUG-26911 Change-Id: I3193400a274a896530d45de986ec8fa5b159abb4 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Philip Van Hoof <philip@codeminded.be>
* add configure options for debug/release OpenSSLPeter Kümmel2012-08-151-0/+13
| | | | | | | | | msvc cannot use the same library for debug and release builds if openssl libraries are linked statically into the network library. Backported from 952788d64bc30c7aac5f9572533241ab8f48fb63 Change-Id: I8332b8293a27b6f9bd87ca1e6ebc63327589ab78 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* test: Re-enable tst_Headers test.Sergio Ahumada2012-08-021-0/+6
| | | | | | | | The test had one stable failure which should be fixed by adding missing QT_MODULE and QT_BEGIN_NAMESPACE macros Change-Id: I10801e4c495bee66e1937a57d14019dae8b43a9d Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Adding missing QT_BEGIN_HEADER/QT_END_HEADERSergio Ahumada2012-08-011-1/+5
| | | | | | Change-Id: I1144497ec8376ec41c714b7a55c05637b6feee66 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> (cherry picked from commit 0e904279bd14c6d3d32165ff93d22d96e7ff6fd7)
* Update contact information in license headers.Sergio Ahumada2012-08-01164-328/+328
| | | | | | | | | | | | | - Replace Nokia contact email address with Qt Project website. - Remove "All rights reserved" line from license headers. As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Use improved QLibrary search heuristics for SSLSean Harmer2012-07-271-0/+2
| | | | | Change-Id: I3b6b4beedae4323cce5130fd2fcaf2a25c5be5b9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use improved QLibrary search heuristics for libresolvSean Harmer2012-07-271-0/+1
| | | | | Change-Id: Iecd4c19ae6d9c415bca828bf2ea2557f0fb96241 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add null httpReply checks to QHttpThreadDelegateShane Kearns2012-07-041-6/+25
| | | | | | | | | | | | | | | | | | If a request is aborted while under load, the abort signal can be queued in front of a signal emitted from the httpReply. The abort slot is deleting the httpReply and setting it to null. So when the queued slot is processed the httpReply is null and caused an MMU fault. Removed qWarning from existing null checks, as these are expected if abort is called with precise timing so that it races with the reply finishing on the socket. Task-number: QTBUG-26245 Change-Id: I0a7e0223fda1bc01d117fe8a993c7f6e43fd72ff Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Richard J. Moore <rich@kde.org> (cherry picked from commit 41064f851591d9437baeda502b6e2504fee8f213)
* Change default Content-Type for http POST to match 4.7.4Shane Kearns2012-06-281-2/+5
| | | | | | | | | | | | | | | | | Qt 4.7.3 sent no Content-Type header by default. This was fixed independently on 4.8.0 and 4.7.4 branches, with different defaults. Since this is often used for web service logins, the 4.7.4 default of x-www-form-urlencoded seems more likely to work. The warning message is left in place, since not specifying the content type is still an application bug. Task-number: QTBUG-23350 Change-Id: I30bf50fd216ee9894d0168e904cea1ed4251ec68 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit 4f578d15fe2ef176f0533c7ff4aea99b17636f85) Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Ensure that Proxy-Connection: Keep-Alive is respected for HTTP 1.0Andy Shaw2012-06-241-1/+2
| | | | | | | | | | | | | When doing a NTML authentication it would close the connection after the second phase before replying when the reply was a HTTP 1.0 version reply. Since the Proxy-Connection header is set to Keep-Alive in this case we want to ensure we do not close in this siutation. Task-number: QTBUG-26037 Change-Id: Icaaf2277efc0d05a946c52fb42b5191964e2e0fe (cherry picked from commit bd5ef309ba831740fd8475b2f7415f30c1a18be8) Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add Blackberry path for SSL certificatesNicolas Arnaud-Cormos2012-06-071-0/+1
| | | | | | | Change-Id: I64a7f7aeca3954db615cc69c87048bc6ee386b88 Backport of <b002c7a8c06750e58e6d88f6a6052055eddcc9ed> from Qt5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Mark the testSslOption method as introduced from Qt 4.8Laszlo Papp2012-06-071-0/+2
| | | | | Change-Id: I49bbac754c65f80c9c614072ab2fec9f738a906a Reviewed-by: Richard J. Moore <rich@kde.org>
* QNAM - maintain a weak reference to the QNetworkSessionShane Kearns2012-06-064-31/+49
| | | | | | | | | | | | | | | | When handling signals from the session, a pointer is needed. Also the QNetworkReplyImpl needs to access the manager's session. So, the manager should have a strong and weak reference. The strong reference is held during connection establishment. The weak reference is held all the time, though it will become null when the session is destroyed in idle. The non static member function getNetworkSession() is used to create strong references from the weak reference where required. Task-number: ou1cimx#1004278 Change-Id: I4b5b36b1d996b98e659d993969006c61b4440c15 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (backported from commit bae1613c4c3d8c38b90ed2ba5c1b149e1bc87987)
* Track active network replies without qFindChildrenShane Kearns2012-06-062-1/+7
| | | | | | | | | | | | | | | | For bearer management to work correctly, we need to know when there are no network replies active. Previously this was implemented using qFindChildren, but that doesn't work when the user reparents QNetworkReply. QtWebkit does this (actually sets parent to 0). Also the qFindChildren implementation was racy if multiple requests were finished in parallel. Again, likely to be triggered by webkit loading page elements. Task-number: QTBUG-15812 Change-Id: I181a9ba6611c7c4b6fffa2d84fe4029d89e8f596 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit 3580168c3e357c2289acddc5f2515a3ad306ef2b)
* Include scope ids in QHostAddress from QNetworkInterfaceShane Kearns2012-05-242-3/+17
| | | | | | | | | | | | | | The scope ID is a required part of the address for link local addresses (to solve the problem of the same link local address being created by two machines on different networks). It is required to send packets to a link local address on Mac and Windows, although Linux multicasts if scope is missing. Task-number: QTBUG-25634 Change-Id: Ie2bb09df8d261eefcb81716bafeb1475f0bed5fe Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit b72c8dd8a248d67b1192e3baa1fca07244a3719d) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Properly handle unexpected EOF in QHttpThreadDelegateShane Kearns2012-05-241-6/+9
| | | | | | | | | | This prevents http POST/PUT from hanging if the QIODevice being uploaded returns -1 from read. Task-number: QTBUG-24738 Change-Id: I76500cc4f0101cc8e5da5f1dc105508b3f519a3c Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit 3976339ca9b12c7eddbc69ed3a31f85ce845ba63)
* Fix sending UDP packets to link local addressesShane Kearns2012-05-242-18/+27
| | | | | | | | | | | | | | When the scope ID is not set, Mac and Windows will not transmit packets to link local addresses. This patch implements setting the scope in the native socket engines and adds a test case. (it was partially implemented already, though UDP specific code paths were missed in the unix engine) Task-number: QTBUG-25634 Change-Id: I23300bdc9856e38458078e913daaa59cd05a74b5 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (back ported from commit 6abc66e076826b24cc3700c3a0702f552ab50429) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNetwork: fix compilation with no opensslMartin Petersson2012-05-221-1/+1
| | | | | | Change-Id: Id637dd1155c46ffc75563812b8c9d5f062e76e22 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* QNetworkAccessManager: Read all from socket on remote host closeMartin Petersson2012-05-211-0/+26
| | | | | | | | | | When we get a remoteHostClosed we should try to read everything from the socket before we close the channel. cherry-picked from commit 27bc9945a84c6f6d8e0d2a33183c3a6e9b2978d8 Change-Id: Ia1b64dbd991265ce0ce4c4d21f4df323133e2b07 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* qhttpthreaddelegate: check that we have a reply set when reading.Martin Petersson2012-05-161-0/+3
| | | | | | | Make sure that we always have a reply set when we try to read. Change-Id: Icedf4190f3a4f0727e9f415c41cb6041fe5f7604 Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>