summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* Fix error reporting in QNetworkReplyHttpImplPrivateShane Kearns2012-04-111-6/+18
| | | | | | | | | | | | | | When errors are detected synchronously in _q_startOperation, they were not reported. This is because unlike the generic QNetworkReplyImpl the function is called directly rather than using a queued connection. In order to report errors, use the _q_error and _q_finished slots so that signals are emitted after returning to the event loop i.e. after the application had a chance to connect the QNetworkReply Change-Id: I8a7bbe79a934f4634fb4e0572ebb5479dfc5f489 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Add autotest interface to get session from QNAMShane Kearns2012-04-112-0/+12
| | | | | | Change-Id: I7d8ea41299408377042a9f0d0a672e1a6fb57e7d Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Check background requests are allowed before startingShane Kearns2012-04-112-5/+26
| | | | | | | | | | | | | | | | | | | If background requests are not allowed, don't even attempt to start the network session, just fail the request immediately. After this change, a QNAM with mixed requests queued should behave as follows when background requests are disabled: - background requests at head of the queue fail - first foreground request starts the session and succeeds - remaining background requests fail - remaining foreground requests succeed If policy is changed on the fly, then running background requests are not aborted. However queued background requests won't be started. Change-Id: Ic9aba1eb59ca41b166a08d2ed09418e1b6af6b60 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Define usagePolicies API in QNetworkSessionShane Kearns2012-04-113-1/+57
| | | | | | | | | | | | | This allows the system to publish usage restrictions to applications related to the network in use. Currently there is only one restriction defined: NoBackgroundTrafficPolicy, which means that non user initiated traffic should be avoided (e.g. background downloads). For example this policy could be applied to save battery or data transfer charges. Change-Id: I49e26c0f3650d2b92f4ec51981aae9435b717b49 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use NetworkSessionFailedError in QNetworkReplyShane Kearns2012-04-113-5/+16
| | | | | | | | | Switched the error code. Republish the error string from the bearer plugin if possible. Change-Id: I9e4ac7a9914fbf2e87fe8fd3a5175deda6d933d2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Define QNetworkReply::BackgroundRequestNotAllowedErrorShane Kearns2012-04-112-0/+4
| | | | | | | | | | This error will be used when background network requests are not allowed according to the current policy of the bearer plugin. For example, to save power when battery is low on a portable device. Change-Id: I866e115f8fdd046134da99ea895b7c1df0375f26 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Define QNetworkReply::NetworkSessionFailed errorShane Kearns2012-04-112-0/+4
| | | | | | | | | This is to replace the UnknownNetworkError which occurs when the internal QNetworkSession fails to start (e.g. no usable WLAN available) Change-Id: I2b14577c22e0acf8ff07be7e932f0dfe9ac89c33 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Set ConnectInBackground based on requestShane Kearns2012-04-111-1/+4
| | | | | | | | | | | | | | Set the QNetworkSession attribute to match the QNetworkRequest that triggered it. Currently if there are a mix of normal and background requests queued and background connections are not allowed by policy: - background requests at the head of the queue should fail - first foreground request should successfully start a connection - remaining requests succeed regardless of background attribute Change-Id: If0e3ec0b8a5096e3d7cd6df85884c6f53172d233 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Define BackgroundRequestAttributeShane Kearns2012-04-112-0/+9
| | | | | | | | | This is so that the ConnectInBackground flag can be set on the QNetworkSession internal to QNAM according to pending requests. Change-Id: If0cc62f5117ed8febbbda7b7f6de62b11b274258 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Deprecate qMemCopy/qMemSet in favour of their stdlib equivilents.Robin Burchell2012-04-111-1/+1
| | | | | | | | | | | | | | | | | | Just like qMalloc/qRealloc/qFree, there is absolutely no reason to wrap these functions just to avoid an include, except to pay for it with worse runtime performance. On OS X, on byte sizes from 50 up to 1000, calling memset directly is 28-15% faster(!) than adding an additional call to qMemSet. The advantage on sizes above that is unmeasurable. For qMemCopy, the benefits are a little more modest: 16-7%. Change-Id: I98aa92bb765aea0448e3f20af42a039b369af0b3 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-1013-16/+140
|\ | | | | | | | | | | | | | | | | | | 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
| * Find libssl on linux using paths of loaded librariesShane Kearns2012-04-051-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The installed path of libssl may include an element describing the architecture, e.g. x86_64-linux-gnu or i386-linux-gnu. In most cases, the libraries already loaded (static dependencies of Qt, such as libc) will include the path where libssl is installed. Use dl_iterate_phdr to find the paths. This is a linux specific function, but it does provide "/lib/<arch>" and "/usr/lib/<arch>" at the point ssl symbols are being resolved when running the qsslsocket autotest (which has less dependencies than a typical Qt app). Task-number: QTBUG-24694 Change-Id: I9af8081f41bb85c2fcff450a2acda5672a7f7518 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
| * Fix warnings about truncations in constants.Friedemann Kleint2012-04-031-1/+1
| | | | | | | | | | Change-Id: I46872c5b2866454112092c1ec5efbfe15db5af33 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * 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>
| * QNAM: close the channel if bytesAvailable and nothing piplinedMartin Petersson2012-04-021-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | If there are still bytesAvailable on the socket and we have nothing pipelined we should close the channel. This was not done before as the chunked decoder did not read the last CRLF. This has now been fixed so this close should be enabled again. Task-number: QTBUG-24875 Change-Id: I115b60f8d78bf1b83d3fd5887ab3eb9940b6bf00 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * QAbstractSocket::waitForConnected check if host name is an IP addressMartin Petersson2012-04-021-1/+10
| | | | | | | | | | | | | | | | | | | | | | If the current host name is an ip address we can create the QHostInfo directly instead of performing a reverse lookup. Task-number: QTBUG-18881 Change-Id: If239481e455f4f7fb74d978f685dc5d8e9f22c0a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * Fix QTcpServer::listen() returning true when the port is in use on OS X.Robin Burchell2012-04-021-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. 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 multicast join/leave when binding to QHostAddress::Any.Robin Burchell2012-04-022-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OS X and Windows, this was not working, because the socket was being bound in v6 mode (due to ::Any being for dual mode), but the address passed was a v4 address, meaning it took the wrong codepath. Linux, strangely, apparently works anyway. This is fixable in OS X (by using the v6 join path when bound in v6/dual mode), but the same fix doesn't work on Windows, failing with WSAEADDRNOTAVAIL. Don't allow this behaviour, and provide a sane error message telling the user what to do instead. Done-with: Shane Kearns Task-number: QTBUG-25047 Change-Id: Iaf5bbee82e13ac92e11b60c558f5af9ce26f474b 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>
| * QNetworkAccessFtpBackend: remove entry from QNetworkAccessCacheMartin Petersson2012-04-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | When FTP login fails we fail to remove the entry from the cache. This is because the cache key is created from the url with the userInfo. So this needs to be set again to match the key used when inserted. Task-number: QTBUG-11824 Change-Id: Ib3fd2d737581653ae59c56d0810d42e2d8dc2176 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * QNam: try to read the last CRLF when chunked encoding is used.Martin Petersson2012-03-282-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: Ida40593fec8788bff713a31cfe6a7c2d86354a91 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Shane Kearns <shane.kearns@accenture.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 to the new QUrl APIThiago Macieira2012-03-305-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The use of any broken-down components of the query now needs QUrlQuery. The QUrl constructor and toString() are now rehabilitated and the preferred forms. Use toEncoded() and fromEncoded() now only when we need to store data in a QByteArray or the data comes from a QByteArray anyway. Change to toString() or the constructor if the data was in a QString. Change-Id: I9d761a628bef9c70185a48e927a61779a1642342 Reviewed-by: Lars Knoll <lars.knoll@nokia.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-236-6/+11
|\| | | | | | | Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
| * QLocalSocket: remove double buffer on qlocalsocket_unixMartin Petersson2012-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The QLocalSocket is using a QLocalUnixSocket which is a QTcpSocket that has buffering enabled. Because QLocalSocket is a QIODevice it also has its own read buffer. By opening the QIODevice Unbuffered we only use the buffer in the QLocalUnixSocket. Change-Id: I4b9091522f73b0831b20efb4a2a00c2603fc748b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * Allow autobound UDP sockets to send to IPv4 and IPv6Shane Kearns2012-03-223-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When writeDatagram is called without first binding the UDP socket, then bind it as QHostAddress::Any. This allows the same socket to be used to sent to both IPv4 and IPv6 destination addresses. Allowing the OS to autobind the socket inside sendTo() may result in a single protocol socket. Task-number: QTBUG-5275 Change-Id: I2b76507e8a8a38369c6eafb61ce4191d1d6cc930 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
| * 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>
| * Fix QT_NO_DEBUG_STREAM buildRichard Moore2012-03-201-2/+1
| | | | | | | | | | Change-Id: I640f93750583d36284f189fa12bac6440664a7a2 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | Merge master into api_changesKent Hansen2012-03-167-51/+158
|\| | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * Fix QUdpSocket bindMode autotest regressionShane2012-03-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | When binding with the DefaultForPlatform bindmode, then don't set options on the socket related to sharability, leave them at the platform default. This restores compatiblity with Qt 4 Change-Id: I612a3acb976f08446b4eef03ccdcdf84b3477c3c Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
| * Add missing private headers to .pri.Xizhi Zhu2012-03-151-0/+1
| | | | | | | | | | Change-Id: I7ba23f23c1e7cb19152f2c0cedec3549ddfb11c9 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. 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>
| * QHttpNetworkConnectionChannel: Warn if bytesAvailable and no replyMartin Petersson2012-03-151-3/+3
| | | | | | | | | | | | | | | | | | | | If there are no bytesAvailable and no reply then the channel can be closed without any need for this warning. Task-number: QTBUG-9315 Change-Id: Ifbb1f4732d3173a7807ac5bd0dc78fb5144faaf3 Reviewed-by: Markus Goetz <markus@woboq.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * QNam: only init channels when needed.Martin Petersson2012-03-133-47/+139
| | | | | | | | | | | | | | | | | | Each channel will create a socket that will allocate memory for the read and write buffers. This change will instead initialize channels only when they are needed. Change-Id: I112b4c7b944a7dd345414f06260c92803394eaed Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | QtNetwork: make some constructors explicitMarc Mutz2012-03-1410-13/+13
|/ | | | | | | | | | 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>
* Revert "QNam: only init channels when needed."Kent Hansen2012-03-093-138/+46
| | | | | | | | | | | | This reverts commit ff25691d00d634068c6389f8f1607d7cc95ac5be. The change broke qtdeclarative. Several autotests crash because QHttpNetworkConnection::transparentProxy() calls proxy() on a null socket. Task-number: QTBUG-24717 Change-Id: I57e3ccf5d20683f59cf7450083d1fcb3fa1c40fe Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Use SSL_MODE_RELEASE_BUFFERS in QSslSocketMartin Petersson2012-03-092-0/+8
| | | | | | | | | | | | If SSL_MODE_RELEASE_BUFFERS is available we should tell OpenSSL to release memory early. http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html Task-number: QTBUG-14985 Change-Id: Ib6656ebb3c4d67ca868b317ee83ddbf0983953f9 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Markus Goetz <markus@woboq.com>
* Add debug stream operator for QNetworkProxyShane Kearns2012-03-082-0/+51
| | | | | Change-Id: Ib8e7ba041ede33dc9c751432e39be2d6a9f4662d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtNetwork: blacklist two more certificatesMartin Petersson2012-03-081-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 Change-Id: Ic8eb417363569fe50bf19cd229658f5e371862f7 Reviewed-by: Richard J. Moore <rich@kde.org>
* Call wait() after calling quit() so that it can gracefully finishAndy Shaw2012-03-082-0/+3
| | | | | | | | | | | There was a problem with slow https connections that if the download was ongoing when quit() was called then it tended to cause a crash because it tries to shutdown the SSL connection. Task-number: QTBUG-24594 Change-Id: I6b161bc7a9bb99e41849537462de2d7c92661902 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.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>