summaryrefslogtreecommitdiffstats
path: root/src/network/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-103-2/+51
|\ | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * Fixes a problem with the proxy detection on WindowsThierry2012-04-031-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current scheme is to use IE's default config. If that fails get the winhttp config. That's ok. The problem is that if you run a program as a service getting the IE config will set the fAutoDetect flag. But later the call to WinHttpGetProxyForUrl mightfail with the error code ERROR_WINHTTP_AUTODETECTION_FAILED. this patch just makes sure that we have a fallback winhttp solution in case the IE proxy is not set. The new code detcted if the current process is a service, in which case it will try to default to the system-wide proxy. Change-Id: I57e9082a46a8422c54f8f069715752c271a3a001 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * Set QNetworkInterface::IsPointToPoint on WindowsMartin Petersson2012-04-022-0/+5
| | | | | | | | | | | | | | | | | | This was never set on Windows Xp or later as we only checked for this in the old interfaceListingWin2K() function. Task-number: QTBUG-10170 Change-Id: Ib0808a945d9d1b31019967a69e668ec216702799 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QHostAddress: improve qHash implementationGiuseppe D'Angelo2012-04-082-4/+3
| | | | | | | | | | | | | | | | | | | | Avoid the conversion to a temporary QString -- just hash the address as a byte array. Change-Id: Ic35cdbbc3ee66c32a28d911bd27de0092395979f Done-with: Shane Kearns Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | More qHash(T, uint) overloads for Qt typesGiuseppe D'Angelo2012-04-072-3/+3
| | | | | | | | | | | | | | The more we get in 5.0, the better. Change-Id: If00084477709db4fc3f6b2e15024d046491be2ae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Port QHostAddress to use the new IP utilities in QtCoreThiago Macieira2012-03-281-132/+12
| | | | | | | | | | | | | | | | | | | | | | The new code now generates lowercase hex instead of uppercase, so adapt the unit tests to pass. Also, "123.0.0" is now considered valid (compatibility with inet_aton). Change-Id: I07b5125abf60106dc5e706033d60836fb690a41f Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | Merge master into api_changesKent Hansen2012-03-271-0/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
| * 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) Change-Id: Ic588a20cfe7c24d5e60cd384caff0673a587e484 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* | Optimise QHostAddress a littleThiago Macieira2012-03-231-7/+12
| | | | | | | | | | | | | | | | In QHostAddress::setAddress(SpecialAddress), avoid parsing strings. Change-Id: Icb756b4c8b06c21dbc231f8c7f0b0dac29ed97c3 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | Merge master into api_changesKent Hansen2012-03-231-0/+2
|\| | | | | | | Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
| * Don't do anything if setting the same proxy factory.Xizhi Zhu2012-03-221-0/+2
| | | | | | | | | | | | | | | | Otherwise, it crashes if you simply set the same proxy factory instance twice. Change-Id: I4b1f1d0eed7630c9a145c0a330c6be1b3fc381e5 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* | Merge master into api_changesKent Hansen2012-03-162-1/+13
|\| | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * 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. Change-Id: I35cd7f52331672a6d3e7bcdf817c0fe1fd1e7de3 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * Build with the LSB build envHarald Fernengel2012-03-151-1/+5
| | | | | | | | | | | | | | | | LSB doesn't define some functionality that we expect on Linux, so fall back to the generic code. Change-Id: I19e09908b9e9002140535f159ae0745d7ca80b70 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QtNetwork: make some constructors explicitMarc Mutz2012-03-143-4/+4
|/ | | | | | | | | | This is a semi-automatic search, so I'm reasonably sure that all the exported ones have been caught. Change-Id: Ia00eb9194a5f64002bd7e7b894abf6333d1b825e Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add debug stream operator for QNetworkProxyShane Kearns2012-03-082-0/+51
| | | | | Change-Id: Ib8e7ba041ede33dc9c751432e39be2d6a9f4662d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows - handle both auto detect proxy settings togetherShane Kearns2012-03-081-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>
* Fix a number of bugs with windows system proxiesShane Kearns2012-03-081-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>
* Windows - fall back on static proxy config if autoproxy failsShane Kearns2012-03-081-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>
* Windows - handle proxy autoconfiguration resulting in no proxyShane Kearns2012-03-081-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>
* Windows - fix proxy types for manually specified proxiesShane Kearns2012-03-081-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>
* Windows - fix QWindowsSystemProxy global static raceShane Kearns2012-03-061-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>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-024-55/+55
| | | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use QSystemError for QDnsLookup windows backendShane Kearns2012-03-011-1/+2
| | | | | | | | | | | The OS provides the error string in this case. This gives more information to the developer seeing a generic error. Change-Id: Ia03642982f3513ee5a8a9fa98d918e948f8d97a5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Fix buffer overrun crash running MSVC2010 win32 Qt on win64Shane Kearns2012-03-012-32/+4
| | | | | | | | | | | | | | | | | | | | When loading dnsapi.dll as a plugin, we experience crashes because the calling convention is not specified. The default is _cdecl, but __stdcall (via the WINAPI macro) should be used for windows APIs. Mismatched calling convention results in corruption of local variables, probably because the stack pointer is incorrect and SP offsets are used in optimised builds rather than frame pointer offsets. Since the library has been available since Windows 2000, I don't think that we need to load it dynamically. (Unlike the unix version where it isn't part of the LSB) Also checked that the current release of mingw works. Task-number: QTBUG-24227 Change-Id: I37c0a6aa0c133799c2a6dd9391ca1435ba2539ea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix error handling in QHostInfo windows backendShane Kearns2012-02-171-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>
* Remove unnecessary locking from QNetworkProxy constructorShane Kearns2012-02-171-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>
* Fix warnings about missing file.Friedemann Kleint2012-02-171-1/+1
| | | | | Change-Id: I8644d2b80bab9c18f666d742da389e84bf3f124c Reviewed-by: Xizhi Zhu <xizhi.zhu@nokia.com>
* Update documentation to show NTLMv2 is supportedShane Kearns2012-02-171-4/+2
| | | | | | | | | This feature was implemented in 4.8, but documentation was not updated at the time. Task-number: QTBUG-18181 Change-Id: I657d7ab7aaf43b73b7bf8fd1cb76086522cf5c2b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Qt Network: Added the \inmodule command in the class documentation.Michalina Ziemba2012-02-163-1/+4
| | | | | | | | -Some of the public classes were missing the \inmodule command. -Fixed a sentence. Change-Id: I88ebe12680c744e32253dc01c5ddb4292267caf9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Include headers before QT_BEGIN_NAMESPACE.Xizhi Zhu2012-02-162-2/+3
| | | | | Change-Id: Icaef1cb280d2968e4a35c93375749d2d9feff856 Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* Add missing private headers to .pri.Xizhi Zhu2012-02-161-1/+6
| | | | | Change-Id: Ia0f37953124198dce000adad9dfae051925d526e Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* Various documentation fixes ported from Qt 4.8Teemu Katajisto2012-02-151-3/+3
| | | | | | | | | | | | | | | | | | Final set of selected documentation fixes for qtbase from Qt 4.8 commit bacae725e584f51ee2fd83af7bef3e4515de9587 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-15738 Change-Id: I3bd33bb7ce7aa991913ba82f3ea0e4b124f3ee41 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Include winsock2.h for ntohl.Andreas Holzammer2012-02-101-0/+1
| | | | | | | | | | This fixes the compilation for Windows CE. Include Windock2.h before Windows.h. Change-Id: Iae1ab98239bb75b59c78460e0c0e48dfa1326032 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Use QBasicMutex instead of Q_GLOBAL_STATIC QMutexOlivier Goffart2012-02-012-12/+5
| | | | | | | | | | | | | | QBasicMutex is a POD and can be used as a static global object. in qpicture.cpp factoryLoader is used only once, and under the mutex, so there is no need for Q_GLOBAL_STATIC for it, it can be a function static in qhostinfo_unix.cpp the code seemed wrong while compiled with namespace and QT_NO_GETADDRINFO. I also could get rid of one include because it was included earlier. Change-Id: I3c700203c3e067266c20733f4bda8031446dbb86 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix QDnslookup build on FreeBSDJeremy Lainé2012-02-011-3/+1
| | | | | | | | | Unify the includes for resolver function on unix-like platforms to avoid build failures on BSD platforms. Change-Id: I9accd7077d5a319a2c93642e011492d0fc779394 Reviewed-by: Holger Freyther <holger+qt@freyther.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows: Fix inclusion of <windows.h>Friedemann Kleint2012-02-012-2/+2
| | | | | | | | | | | | | - Always use <qt_windows.h> as the last file to be included. - Remove it from some headers, use Qt::HANDLE instead of HANDLE. - Clean up #ifdef, use Q_OS_WIN for Windows/Windows CE. - Add NOMINMAX to qt_windows.h to avoid problems with the min/max macros. - Remove <windows.h> from qplatformdefs.h (VS2005) Change-Id: Ic44e2cb3eafce38e1ad645c3bf85745439398e50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Add support for DNS lookups using native APIsJeremy Lainé2012-01-306-3/+1943
| | | | | | | | | | | | | | | | The QDnsLookup class provides asynchronous APIs for performing DNS lookups. For now, the following lookups are supported: - A and AAAA - CNAME as defined per RFC 1035 - MX as defined per RFC 1035 - NS as defined per RFC 1035 - PTR as defined per RFC 1035 - SRV as defined per RFC 2782 - TXT as defined per RFC 1035 Task-number: QTBUG-10481 Change-Id: I46c1741ec23615863eeca3a1231d5e3f8942495e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3025-25/+25
| | | | | | | | | | 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: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove use of QT_MODULE from libraryGunnar Sletta2012-01-256-6/+0
| | | | | | | | | | These defines were there to aid in the commercial licensing scheme we used long ago, and are no longer needed. Keep a QT_MODULE(x) define so other modules continue compiling. Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2325-25/+25
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Removing QHttpHeader and QHttpResponseHeader.Jonas M. Gastal2012-01-192-19/+0
| | | | | | | | | QAuthenticator used it for the convinience of QHttpSocketEngine only. QHttpSocketEngine has now been ported to use QHttpNetworkReply to parse HTTP responses. Change-Id: Idf6e70aa76613aad6e3d789d81ca1b4fd73575c2 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
* Fixed build break when bearer is disabled.Xizhi Zhu2012-01-162-0/+4
| | | | | Change-Id: I29e88b046f6502c84acc9c6f566ecc328cf24e38 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
* Make QFtp private.Jonas M. Gastal2012-01-121-4/+3
| | | | | | | | | All references to QFtp in documentation have been removed, QFtp's documentaiton was marked internal. The QFtp example was removed. Task-number: QTBUG-23199 Change-Id: Ifff83cac069fb350e8ebeae63e605850e65c0c30 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Removing QHttp class, its tests and its usage in examples.Jonas M. Gastal2012-01-061-1/+1
| | | | | | Task-number: QTBUG-22750 Change-Id: I161fad772bfb26797e6ee9d69da925b6747c371f Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove all non-inline of qMalloc/qFree/qRealloc.Robin Burchell2012-01-062-14/+14
| | | | | | | | | | | | We're trying to deprecate these, so don't use them anymore. The inline uses of these have been left intact, for the moment. Inline code will need to create their own non-inline allocation methods (for future-proofing to allow alterations in how e.g. individual containers allocate) Change-Id: I1071a487c25e95b7bb81a3327b20c5481fb5ed22 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0524-24/+24
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Clarifying the flow of signals on QNetworkAccessManager.Jonas M. Gastal2011-12-281-0/+4
| | | | | | | Task-number: QTBUG-22858 Change-Id: I07eaecebf17e73f9c3148465d8970ca7672a900c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix http authentication to a different realm on the same serverShane Kearns2011-12-221-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>
* Don't fetch credentials from cache following a failed proxy authenticationShane Kearns2011-12-222-0/+2
| | | | | | | | | | 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>