summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix QTcpServer::listen() returning true when the port is in use on OS X.Robin Burchell2012-04-031-1/+7
| | | | | | | | | | | | | | | | | | | | | Way back in the mists of time, someone added SO_REUSEPORT to socket binding, which was great, because otherwise it meant that multiple UDP sockets couldn't share the same port on OS X (as platforms with SO_REUSEPORT apparently don't support rebinding with SO_REUSEADDR). However: SO_REUSEPORT also means that *any* bind on a port will succeed, which is most definitely not wanted in the case of TCP sockets, so check the socket type before performing the actual bind. Also test that multiple listens don't take effect. Cherry-picked-from: qtbase/master/a84b42e6194be0f40bd8f961effef9947c07c832 Change-Id: I2f8d450bcfb8a7f3abd8918a4e789a850281dd13 Done-with: Thiago Macieira Done-with: Shane Kearns Task-number: QTBUG-6305 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix regressions due to partial QSslSocket::peek fixShane Kearns2012-03-301-11/+27
| | | | | | | | | | The fix broke HTTPS transactions with chunked encoding. It also broke use of a QSslSocket in unencrypted mode where peek and read calls are mixed. See change 68b1d5c17aa38d5921bdade2b0e0cb67c6c90513. Change-Id: Ib115b3737b0e4217496f5def10aaaea3c6452ff8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNam: try to read the last CRLF when chunked encoding is used.Martin Petersson2012-03-292-3/+21
| | | | | | | | | | | When chunked encoding is used we should try to read the last CRLF after the last zero-lenght chunk, with chunk size coded as 0. Task-number: QTBUG-19480 Task-number: QTBUG-20924 Change-Id: I39c85f45c329246d6c53c29ba1511039b2503e13 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix performance problem with NTLM auth in http POSTShane Kearns2012-03-231-0/+2
| | | | | | | | | | | | | | | | | A combination of other fixes resulted in authentication credentials with a blank username & password being incorrectly added to the cache only for NTLM. This caused authentication to be attempted with blank credentials first (which would fail), before the authenticationRequired signal was emitted. It caused a performance issue because of the extra 2 requests to the server (and possibly delays inserted by the server following a failed login) Task-number: ou1cimx1#985786 Change-Id: Ic588a20cfe7c24d5e60cd384caff0673a587e484 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit 3c3ea9a869086ebb02a5d0c475754f6a184a50ab)
* Fix bug in qsslsocket peek()Kalle Viironen2012-03-192-0/+38
| | | | | | | | | Calling peek() for qsslsocket caused socket data to be copied into qiodevices buffer and therefore make it unaccessible in qsslsocket. Task-number: QTBUG-18498 Change-Id: Ie27a90a468be8158bd8afcd259dbb34483623c36 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Make sure QGlobalNetworkProxy is created for QNetworkProxy.Xizhi Zhu2012-03-151-0/+8
| | | | | | | | | | | Otherwise, you don't have any socket engine handler created when directly setting a proxy to a socket. Cherry-picked from Qt5 / QtBase commit: 92659bacda53da782c84dff44d3caa2590dbc7cc Change-Id: Id87a13cf496553e85ca1f92f0cb5093752f3f5f5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Windows - handle both auto detect proxy settings togetherShane Kearns2012-03-091-7/+31
| | | | | | | | | | | | | | | | | If both "automatically detect settings" and "use automatic configuration script" are selected in internet options, then respect that. Because of performance issues, these are tried separately, and disabled if they fail. Task-number: QTBUG-13957 Task-number: QTBUG-10238 Change-Id: Ibc824d3039afeaf12c5ea82ed95287e5cf4e1776 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> (cherry picked from commit 4cc8209998c386a4372f10496f0c97f3d86f92bb)
* Fix a number of bugs with windows system proxiesShane Kearns2012-03-091-6/+75
| | | | | | | | | | | | | | | | | TcpServer requests always returned no proxy, even if socks was available Tag handling was broken for empty tag (if system proxies were tagged) Tag handling was broken for unknown tags - now handled the same as if no tag was given at all. When there are different proxies for http and https, windows returns the http proxy first. However we should prefer to use the https proxy for general sockets, as it's more likely to support the CONNECT method. Change-Id: I55dcadf2e142367e857f94e55fdbb0c4ddb513a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> (cherry picked from commit ea92d02b6ba873c10153dc6ab7472edf07f99f03)
* Windows - fall back on static proxy config if autoproxy failsShane Kearns2012-03-091-23/+17
| | | | | | | | | | | | | If both manual proxy settings are configured and the autodetect setting is enabled, fall back on the manual configuration when auto detection fails. Task-number: QTBUG-10428 Change-Id: If008c7c967eec6256ce3c614fff0ec258190d451 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> (cherry picked from commit 276f64d21d7b877044fddd646b855829950099b0)
* Windows - handle proxy autoconfiguration resulting in no proxyShane Kearns2012-03-091-0/+2
| | | | | | | | | | | | The PAC file may result in direct connection, in which case WinHttp returns null strings for the proxies and the connection type marked as direct. In this case, return the default list (no proxy) Change-Id: I601033f56a841bb92ea80a28174bb993b024ad79 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 25c05ce3bb8b53ed937363492b8222ee3b83d749) Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Windows - fix proxy types for manually specified proxiesShane Kearns2012-03-091-8/+15
| | | | | | | | | | | | | | | | | When the windows internet options are used to specify a different proxy for each protocol, assume the proxy server type matches that protocol too. e.g. "socks=qt-test-server:1080" is both tagged for socks, and assumed to be a socks server. "ftp=qt-test-server:2121" is assumed to be an ftp proxy "ftp=http://qt-test-server:3128" is overridden to be a http proxy used for ftp. Task-number: QTBUG-10502 Change-Id: I70615c89d6ede53f0e7d62e6d0754b90d042aa2e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit a7489b2ba3f2f3ea28d6fff0c835c12b0666af45) Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Windows - fix QWindowsSystemProxy global static raceShane Kearns2012-03-091-1/+1
| | | | | | | | | | Loser of the race would try to delete an uninitialised pointer Task-number: QTBUG-15765 Change-Id: Ie184ee2306e102aa8fbad752ef09b95c3ede00c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 2cf8e487a5c546382daaa954c23d3926668b0a85) Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Windows - fix getsockopt calls for narrower than int optionsShane Kearns2012-03-071-2/+6
| | | | | | | | | | | | | | | | | | | Windows unhelpfully writes to only one byte of the output buffer when getsockopt is called for a boolean option. Therefore we have to zero initialise the int rather than initialising to -1 as was done before. This in general only works for little endian architecture, because the word would look like 0x01000000 on big endian. So I have added some compile time asserts in the assumption that windows is always little endian. This is ok for comparisons with 0/false, but not comparisons with true or nonzero values. Task-number: QTBUG-23488 Change-Id: I3c586d1ada76465fc045a82661f289920c657a4c Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> (cherry picked from commit 46e4a9d5231e2d9e35424259858713ca539b8e30)
* Fix error handling in QHostInfo windows backendShane Kearns2012-03-071-10/+18
| | | | | | | | | | | If the DNS server returns a non authoritative host not found response, then windows returns WSATRY_AGAIN error code. This is now reported as HostNotFound and not UnknownError Change-Id: I212985acd4e85ff4b2bdb6c57ec403405a7695fb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org> (cherry picked from commit 844b096d674c3b803923357502435ef89ce0c738)
* QSslCertificate - make lazy initialisation thread safeShane Kearns2012-03-041-0/+8
| | | | | | | | | | | | | | | | | | | QSslCertificate can be copied around into multiple threads, without detaching. For example, the https worker threads inside QNetworkAccessManager. There are const methods, which lazily initialise members of the private class without detaching (i.e. caching results of expensive function calls) These functions now lock the d pointer using QMutexPool to avoid concurrency related crashes. autotest crashes 20% of the time in release builds without the fix, passes 100 times in a row with the fix. Task-number: QTBUG-20452 Change-Id: I64a01af8159216f2dd6215a08669890f6c029ca8 (cherry picked from commit 55bf4ed9468ad467a0b681d2d041edbc2a5a4d21) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed missing parenthesesRobert Loehning2012-03-011-1/+1
| | | | | | Change-Id: Ide85353a85750a1ff85d392629855670ec4f67c0 Reviewed-by: Corentin Chary <corentin.chary@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNetwork: fix compilation with "-no-feature-bearermanagement"Martin Petersson2012-02-273-1/+5
| | | | | | | Task-number: QTBUG-23239 Change-Id: I12f89a4e595231738985ca0cf3179fee7de9fa72 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* QNetwork: remove compile warning.Martin Petersson2012-02-271-2/+2
| | | | | Change-Id: I01245f7f6943f5a8bf30e8215419dbfd4dfcdb09 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Remove unnecessary locking from QNetworkProxy constructorShane Kearns2012-02-201-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | QGlobalNetworkProxy (a singleton) had two phase construction, with the second phase being called from QNetworkProxy's constructor. This isn't necessary, and has been reported as causing deadlocks. Although constructing socket engine handlers has side effects (they add themselves to a list on construction and remove themselves on destruction), this appears to be safe. The socket engine handlers are only used while holding the list mutex, and any socket engines created don't have any reference to the factory that created them. With the new version, it is possible that two instances of QHttpSocketEngineHandler and QSocks5SocketEngineHandler exist temporarily if a Q_GLOBAL_STATIC initialisation race occurs. This appears safe, because the loser of the race deletes its handlers, which remove themselves from the global list as above. Task-number: QTBUG-13088 Change-Id: I8cf520da717d8ab7d862ab89c6de13aea6d60ac3 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit aee4cbf22a5942c7bd4b9545a8fcb7cf2930e0ee)
* Fix handling of urls containing username/password in QNetworkAccessManagerShane Kearns2012-02-201-0/+10
| | | | | | | | | | | | | | | | | | | QNetworkAccessManager was ignoring the supplied credentials, although webkit seems to support these urls at a higher level. Following the behaviour of browsers: We use supplied credentials if authentication is required. We add supplied credentials to the authentication cache. We emit authenticationRequired signal if the credentials were wrong. We do not use previously cached credentials for that url Synchronous http requests fail, if the credentials were wrong. Task-number: QTBUG-18107 Change-Id: If46e8eab1511ba8a0f4bbe0d4efaabc4df0b8ab4 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit b4a538ea1c3cdce09e3528227dba2e8f5765cbdc)
* Fix incorrect use of QObject::disconnect in synchronous http requestShane Kearns2012-02-201-2/+4
| | | | | | | | | | In certain circumstances, this could cause the request to time out (and repeatedly send bad authentication credentials to the server) instead of failing with AuthenticationRequiredError. Change-Id: Iff66b32f1d7268f21fd77b6620aae4b5d49d857f Reviewed-by: Richard J. Moore <rich@kde.org> (cherry picked from commit d425a0dad38e51c99cfe59294a3706ced90b24a0)
* Update documentation to show NTLMv2 is supportedShane Kearns2012-02-201-4/+2
| | | | | | | | | | This feature was implemented in 4.8, but documentation was not updated at the time. Task-number: QTBUG-18181 Change-Id: I657d7ab7aaf43b73b7bf8fd1cb76086522cf5c2b (cherry picked from commit 6f7bd6532d34713811c8f70b287d151d24cdda7c) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Abort FTP download, not the whole applicationShane Kearns2012-02-151-5/+1
| | | | | | | | | | An old coding error meant that the C runtime abort() function was being called instead of QFtp::abort() when cancelling an FTP download using QNetworkReply::close() Task-number: QTBUG-22820 Change-Id: Ib97fda9769b2b55a08c042c66c4444cb6216d2b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change bugreports.qt.nokia.com -> bugreports.qt-project.orgSergio Ahumada2012-02-093-3/+3
| | | | | | Change-Id: Ib13737eac7f7cee3ebca44aa712cb6b152672a81 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Prevent data loss when an ssl socket is closed by remoteShane Kearns2012-02-022-13/+22
| | | | | | | | | | | | | SSL context was destroyed on disconnect. This makes it impossible to decrypt buffered encrypted data. So if there is encrypted data in the receive buffers, then don't destroy the ssl context until the socket is destroyed. Task-Number: QTBUG-23607 Change-Id: I16a7b4fa006647ec73049c90cdbc72686696850f Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Richard J. Moore <rich@kde.org> (cherry picked from commit c5aba0ac17ae6ed8f3847bd30325acdbd1ecaa80)
* Various Qt documentation fixes (wk 44)artoka2012-01-311-3/+3
| | | | | | | | | | | | | | | | Task-number: QTBUG-13362 Task-number: QTBUG-18356 Task-number: QTBUG-18417 Task-number: QTBUG-18664 Task-number: QTBUG-21562 Task-number: QTBUG-22094 Task-number: QTBUG-18741 Task-number: QTBUG-15921 Task-number: QTBUG-22172 Task-number: QTBUG-15738 Change-Id: I1d383a22612cd4fbcb7e03751e76409ca57fe7a2 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Various Qt documentation bug fixes (wk 42)artoka2012-01-302-7/+10
| | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-18101 Task-number: QTBUG-8673 Task-number: QTBUG-14194 Task-number: QTBUG-9109 Task-number: QTBUG-9466 Task-number: QTBUG-8323 Task-number: QTBUG-7924 Task-number: QTBUG-20355 Task-number: QTBUG-19367 Task-number: QTBUG-21295 Task-number: QTBUG-14554 Task-number: QTBUG-8331 Task-number: QTBUG-8329 Task-number: QTBUG-8786 Task-number: QTBUG-8787 Change-Id: I4b6403df4a0078fa385abbfab5b6c3a94f175295 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix for coreservices, it should be part of QPA testsAndy Shaw2012-01-171-1/+2
| | | | | | | | | Since the coreservices test should be part of the QPA ones after all, this reverts d317182e and fixes the original problem correctly by checking if qpa is on before testing for coreservices Change-Id: I476f56924ff2d9bbc2f290563aaff9528fe72766 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Update year in Nokia copyright messages.Jason McDonald2012-01-11163-163/+163
| | | | | | | | | Simple search and replace. This commit doesn't touch 3rd-party files, nor translations (where the change is not so simple and will be handled in a separate commit). Change-Id: I4e48513b8078a44a8cd272326685b25338890148 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging into ↵Qt Continuous Integration System2012-01-0511-23/+78
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging: Fix http authentication to a different realm on the same server Fix race in http connection channel Don't fetch credentials from cache following a failed proxy authentication Handle plain socket write errors in SSL Fix for assertion failure Fix faulty logic in http connection pipelining Test case for QTBUG-22875 QThreads on Symbian are named to allow them to be opened externally
| * Fix http authentication to a different realm on the same serverShane Kearns2012-01-041-4/+2
| | | | | | | | | | | | | | | | | | | | | | This is a regression caused by the NTLMv2 authentication patch. I have manually tested NTLMv2 authentication against MS IIS and reverting these two lines does not break it. Task-number: QT-5209 Change-Id: I64159cbe468e1a7f834f8726fd0c9d4ab4c54b38 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> (cherry-picked from 4954f71648aa7f74a4cb8b1dd26470b5da44459e)
| * Fix race in http connection channelShane Kearns2012-01-042-1/+3
| | | | | | | | | | | | | | | | | | | | | | When authentication is cancelled, close the channel instead of the underlying socket. The previous behaviour could result in further requests being sent on the closed socket, which caused errors in case of https over a proxy. Change-Id: I3dbfc164de4fb29a426c06acaac8f29b9da1d705 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> (cherry picked from commit a7b99151f4445755c91d5227607d9ea2f785301f)
| * Don't fetch credentials from cache following a failed proxy authenticationShane Kearns2012-01-048-13/+52
| | | | | | | | | | | | | | | | | | | | | | Add variable to QAuthenticatorPrivate for tracking failure Track authentication success/failure in http proxy socket engine Track authentication success/failure in http connection channel Task-number: QTBUG-22875 Change-Id: Id5d39e839428271ad687e9da12fbbdea9c478f4f Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> (cherry-picked from d24aad82896addce88f1ffb4040560e406acf083)
| * Handle plain socket write errors in SSLShane Kearns2012-01-041-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an ssl socket is closed during connecting, and it is using a proxy then it is possible for the plain socket to be in pending close state when transmit() is called. As errors were not handled, this caused the socket (and https request) to "hang". It now propagates the error from plain socket. Change-Id: I6fb86815a2a63e197cea582f4b153e487543477c Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 2cc78885b0b7d08f965998d156945a077e56c1d8)
| * Fix for assertion failureShane Kearns2012-01-042-1/+6
| | | | | | | | | | | | Change-Id: I97b9ecc37e938a3050793fc746288243a1cb40b7 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> (cherry picked from commit 96cda705dcbeb79429055c1acca91f149d318820)
| * Fix faulty logic in http connection pipeliningShane Kearns2012-01-041-2/+6
| | | | | | | | | | | | | | | | | | | | The code which prevents pipelining of requests when authentication is in use had || where && should have been used. Also check for blank user with a password. Change-Id: Ic278cedd370c9d81377f49a0af43aef415cb49ad Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> (cherry picked from commit 058fb94afff8a1a9989ab6d18dacc1fe43769fdb)
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging into ↵Qt Continuous Integration System2011-12-203-12/+0
|\ \ | |/ |/| | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging: SSL: fix build with -openssl-linked for OpenSSL 0.9.8*
| * SSL: fix build with -openssl-linked for OpenSSL 0.9.8*Peter Hartmann2011-12-193-12/+0
| | | | | | | | | | | | | | | | | | OpenSSL's SSL_ctrl() always took a "void *" argument as 4th parameter, since at least version 0.9.7. I have no idea why we had "const void *" in there. Reviewed-by: Richard J. Moore <rich@kde.org> Task-number: QTBUG-23132
* | Fix NTLM authentication with email addressShane Kearns2011-12-121-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using "user@dns-domain" for NTLM authentication, the whole string should be sent as the username, and the domain should be set to an empty string. The domain sent by the server is still reflected if the username does not contain an '@' character. Manually tested using MS IIS on a domain-joined PC. Task-number: QTBUG-19894 Task-number: ou1cimx1#949951 Change-Id: Ie1f81172e71cb7cce7b8c909062be990c24aea47 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit f74ff46c7a333d771b07d8ff38df10d9fd13bbcf)
* | Fix null pointer dereference in NTLM authenticationShane Kearns2011-12-121-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | If NTLM authentication is required for the URL with an empty path, then QNetworkAuthenticationCache::findClosestMatch(url.path()) returns 0. e.g. "http://10.1.2.3". Return a default constructed credential in this case. Change-Id: I84ad3b308ee3f74fbbac9ad0f11dbdc66047b50b Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit b830c9cededf995fab1b0919a81658ceaec8d422)
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging into ↵Qt Continuous Integration System2011-12-051-0/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging: Correct client rect calculation for MCL Symbian: Fix CBA display on application with multiple windows Fix def files doc - document symbian behaviour of QFile::link Symbian - prefer sessions started by this process to choose proxy Freezing Def files in Qt Lightmaps demo Symbian fix CBA comes on top of option menu Fix memory leaks in OpenVG and OpenGL resource pools Fix sqlite driver memory eating due to close failure
| * | Symbian - prefer sessions started by this process to choose proxyShane Kearns2011-11-301-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When WLAN and 3G connections are both active, the proxy for the wrong connection may have been chosen in the case of plain sockets or QNetworkAccessManager with an invalid configuration. When enumarating active connections to choose a proxy, prefer a connection that was opened by this process. Task-number: QTBUG-22615 Task-number: ou1cimx1#930701 Reviewed-by: mread
* | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging into ↵Qt Continuous Integration System2011-11-302-22/+47
|\ \ \ | |/ / |/| / | |/ | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging: Backport SMP safe initialisation of QNetworkConfigurationManager
| * Backport SMP safe initialisation of QNetworkConfigurationManagerShane Kearns2011-11-302-22/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original commit in Qt5 uses new atomics API that is not in Qt4. I have replaced with equivalent calls. Also the init/cleanup functions are different, so those are renamed. Reviewed-by: mread Task-number: ou1cimx1#946677 Original commit message follows: Author: Thiago Macieira <thiago@kde.org> Date: Wed Jul 6 00:06:15 2011 +0200 Fix the QNetworkConnectionManagerPrivate initialisation code. The current code was meant to be a thread-safe initialisation that also ran a couple of extra steps. But it wasn't. While it's ok to call qAddPostRoutine(), the call to updateConfigurations() was thread-unsafe. It is possible that another thread got the pointer to the Private before updateConfigurations() finished. So instead protect the initialisation with a mutex. It's possible that the value of the pointer becomes visible to other processors before the other contained values, so use atomics here. To call qAddPostRoutine safely from the main thread, use the trick of deleteLater() (which is thread-safe) in another thread connecting to a slot.
* | SSL: fix build when compiled with -openssl-linkedPeter Hartmann2011-11-282-0/+12
| | | | | | | | | | | | | | | | | | | | ... and only resolve the functions when the methods are available. SSL 2 functionality is not always available in OpenSSL anymore. Change-Id: Ia3178685b26c67ac55447476789e06710b596181 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> (cherry picked from commit 09404c072fec2e195d8114dc4d95ce3683c341cf)
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging into ↵Qt Continuous Integration System2011-11-231-3/+3
|\ \ | |/ | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging: QNetworkProxy documentation: mention usage of "http_proxy" variable
| * QNetworkProxy documentation: mention usage of "http_proxy" variablePeter Hartmann2011-11-221-3/+3
| | | | | | | | | | | | | | | | This is done on systems other than Windows or Mac. Change-Id: I631ea350cb9bc123edc6df33b6f661afa8f0778b Reviewed-by: Arvid Picciani (cherry picked from commit ac22fa8a33472cbdd85ef312c436442a93959ab3)
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-11-181-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fix sporadic hang in QLocalServer::close() in OS X 10.7 Qt Linguist: Fix crash after select 2nd translation in lengthvariant
| * | Fix sporadic hang in QLocalServer::close() in OS X 10.7Robert Knight2011-11-181-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a bug in CFSocket/CFRunLoopSource in OS X 10.7 which can lead to a deadlock in CFRunLoopRemoveSource or CFRunLoopSourceInvalidate if the CFSocket manager thread is concurrently calling CFSocketInvalidate as a result of the socket's file descriptor having been closed. QLocalServer::close() triggers this race by closing the socket fd before unregistering the QSocketNotifier, which internally uses CFSocket. This commit fixes the problem by changing the ordering in close() so that the socket notifier is disabled before closing the file descriptor. This change also makes QLocalServer::close() perform operations in reverse order to QLocalServer::listen(), as would be expected. Task-number: QTBUG-22789 Merge-request: 1470 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging into ↵Qt Continuous Integration System2011-11-171-2/+29
|\ \ \ | |/ / |/| / | |/ | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging: QNAM: make systemProxyForQuery respect http_proxy