summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* QSslSocket: Wrong warning message in startServerEncryptionMarkus Goetz2009-06-101-1/+1
| | | | Reviewed-by: TrustMe
* Make it possible to compile Qt 4.5 SSL support with OpenSSL 1.0.0Bernhard Rosenkraenzer2009-06-095-2/+59
| | | | | | | (-beta2, but 1.0.0 final shouldn't be very different) Merge-request: 449 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
* Doc typo fix in QSslSocketMarkus Goetz2009-06-081-1/+1
| | | | Reviewed-by: TrustMe
* Set the error to be HostUnreacheable if WSAEHOSTUNREACH is recievedAndy Shaw2009-06-081-0/+5
| | | | | | | This was a contribution sent via the public bugs channel. Task-number: 255161 Reviewed-by: Marius Storm-Olsen
* open pipes in overlapped mode also on the client sideOswald Buddenhagen2009-06-031-2/+2
| | | | | | otherwise PeekNamedPipe() may block in threaded environments. Reviewed-by: thiago
* QNetworkReply internals: do not assert when aborted and reading dataPeter Hartmann2009-05-271-1/+2
| | | | | | | | ...but just silently return. This is ok because at another location in QNetworkReplyImplPrivate we do the same. Reviewed-by: Thiago Task-number: 254638
* SSL: Remove broken system certificate loading codeMarkus Goetz2009-05-261-24/+1
| | | | | Task-number: 254365 Reviewed-by: Peter Hartmann
* Doc: Clarified what close(), abort() and disconnectFromHost() really doDavid Boddie2009-05-251-10/+18
| | | | | | | | | | | to the socket connection. (Reviewed - see below.) Also included corrections to the description of how to send SocketError and SocketState values via signals. (Trust me - as part of an earlier revision of the custom types documentation.) Task-number: 222907 Reviewed-by: Andy Shaw
* Doc: Miscellaneous documentation fixes for Qt 4.5.x and later.David Boddie2009-05-251-1/+1
| | | | Reviewed-by: Trust Me
* Fix another compilation breakage introduced by the fix to theThiago Macieira2009-05-231-15/+0
| | | | | | | | | compilation breakage introduced in 6c1d7e57. The fix in fc7a43cce did fix the failure, but created another one because qhostinfo_win.cpp also had a copy of qt_sockaddr_in6 Reviewed-by: Jason McDonald
* Fix compilation breakage on Windows caused by 6c1d7e57.Thiago Macieira2009-05-223-41/+32
| | | | | | | On Windows, QT_NO_IPV6 isn't defined, but the necessary includes were missing. So #include winsock2.h and also use our own structures. Reviewed-By: Trust Me
* Fixed compilation with -qtnamespaceMarkus Goetz2009-05-224-8/+8
| | | | | Task-number: 254333 Reviewed-by: Andy Shaw <qt-info@nokia.com>
* Fixed strict aliasing breaks with sockaddr_XXX structs.Thiago Macieira2009-05-222-41/+29
| | | | | | | | | This case it was possible to fix by using a union of the types when we actually declare the variable. Besides, this avoids a bunch of #ifdef for IPv6 functionality. Reviewed-By: Oswald Buddenhagen
* Fix some typos in the documentation.Frederik Schwarzer2009-05-183-3/+3
| | | | | | Usually, "the the" is not proper English Reviewed-By: Thiago Macieira
* Fix QNetworkDiskCache to expire the oldest files first.Benjamin C Meyer2009-05-181-3/+3
| | | | | | | | | | When expiring cache files use a QMultiMap, when using a QMap not all files are put into the map because often many files (downloaded or updated at the same time) will have the same creation QDateTime and so only one will go into the QMap who's key is QDateTime. Reviewed-By: Thiago Macieira Reviewed-By: Peter Hartmann
* HTTP authentication: return error if authentication cannot be handledPeter Hartmann2009-05-151-5/+15
| | | | | | | return error upon receiving an unknown authentication method (e.g. WSSE); before we were just silently returning. Reviewed-by: Thiago Macieira
* HTTP backend / network cache: only cache responses to GET by defaultPeter Hartmann2009-05-131-12/+30
| | | | | | | | responses to POST might be cacheable, but are not cacheable by default; responses to PUT or DELETE are never cacheable. Reviewed-by: Thiago Macieira Task-number: 252281
* Improve the HTTP status line parsing and catch more errors.Thiago Macieira2009-05-132-23/+37
| | | | | | | | | | | | There's no need for using QByteArrayMatcher for one single character, so avoid the overhead. Also validate the message header a bit more: we require the status line to start with "HTTP/n.m " where n and m are positive integers less than 10. Task-number: 248838 Reviewed-by: Markus Goetz
* Fix handling of garbage data sent by the HTTP server instead of aThiago Macieira2009-05-132-3/+22
| | | | | | | | | | | proper HTTP reply. If the server's reply doesn't start with "HTTP/", then the reply is not valid. This could happen if we connected via HTTP to an HTTPS server. It could also happen with an Icecast server (reply ICY/x.y). Task-number: 248838 Reviewed-by: Markus Goetz
* Document that we don't support NTLM version 2.Thiago Macieira2009-05-111-0/+9
| | | | | Task-number: 236925 Reviewed-by: Tor Arne Vestbø
* fix parsing cookies in multiple linesPeter Hartmann2009-05-072-17/+17
| | | | | | | | | | | | original patch by Benjamin Meyer. Handle multiple cookies split by new lines in a cleaner way. Parsing the combined string was error prone. Splitting them and sending each line through our header parser is more robust, and has more obvious code paths. Tested by logging into wordpress.com, facebook.com etc. Reviewed-by: Thiago Task-number: 251959
* Fix OpenSSL dynamic loading on OpenBSD.Thiago Macieira2009-05-071-3/+6
| | | | | | | | | | | OpenBSD's OpenSSL libraries are linked in a bizarre way: libssl.so doesn't link to libcrypto.so, even though it depends on it. I don't claim to understand why, but they do it. So make sure we export its symbols for libssl to see and we load libcrypto first. Task-number: 252042 Patch by: Marc Espie <espie@openbsd.org> Reviewed-by: Peter Hartmann
* Make QNetworkProxy calculate the capabilities for a new proxy typeThiago Macieira2009-05-071-3/+10
| | | | | | | | | | | | If you write: QNetworkProxy proxy; proxy.setType(QNetworkProxy::HttpProxy); Then now QNetworkProxy will set the capabilities to the default value for the new proxy type. Previously, it wouldn't do that: default values were set only for the type passed in the constructor. Reviewed-by: Peter Hartmann
* Clarify documentation in QNetworkProxy about SOCKS5 supporting domainThiago Macieira2009-05-071-4/+5
| | | | | | name resolution Task-number: 252761
* QNetworkDiskCache: check if opening file succeedsBenjamin C Meyer2009-05-061-2/+6
| | | | | | | | In QNetworkDiskCache::prepare() When QTemporaryFile::open fails, delete the cache item and return 0 rather then returning a closed device. And a spelling mistake in a qWarning() Reviewed-by: Peter Hartmann
* Moved the QT_BEGIN_NAMESPACE macro to the right place in qsslcipher.cppThiago Macieira2009-05-061-1/+1
| | | | | Task-number: 252298 Reviewed-by: Peter Hartmann
* QNetworkCookieJar: do not allow cookies for domains like ".com"Peter Hartmann2009-05-041-0/+7
| | | | | | | | the domain attribute in cookies must always contain one embedded dot, according to RFC 2109 section 4.3.2 Reviewed-by: Thiago Task-number: 251467
* QNetworkCookieJar: allow cookies with wrong domain attributePeter Hartmann2009-04-301-5/+4
| | | | | | | | | | According to the (old) cookie RFC 2109, the domain attribute must always contain a leading dot. Some servers do not have that, but all browsers accept those cookies anyway, so we should do that as well. Reviewed-by: Olivier Reviewed-by: Denis Task-number: 228974
* QNetworkAccessManager: do not segfault when using a network cacheBenjamin C Meyer2009-04-291-1/+2
| | | | | | | Don't setfault when setting 0 for the network cache such as when you want to disable it. Reviewed-by: Peter Hartmann
* Re-send network request properly when the socket is in Closing state.Denis Dzyubenko2009-04-241-0/+8
| | | | | | | | | This fixes the "QAbstractSocket::connectToHost() called when already connecting/connected to <hostname>". The issue was that we were trying to call connect on a socket that was in a Closing state. We have to wait for the disconnected signal before we try to connect again. Reviewed-by: Prasanth
* don't complain about invalid socket on server shutdownOswald Buddenhagen2009-04-241-2/+4
| | | | Reviewed-by: thiago
* correctly handle remote disconnectsOswald Buddenhagen2009-04-231-1/+1
| | | | | | | | | about the only error case for a PeekNamedPipe() which does not actually want to read anything is some kind of disconnect. so ignore the error code and just handle the error as a close. Task-number: 247144 Reviewed-by: thiago
* fix reading problem on 64-bit machines in QProcess and socket enginePeter Hartmann2009-04-161-17/+2
| | | | | | | | | | QProcessPrivate and QNativeSocketEnginePrivate were reporting a wrong number of bytes available on 64-bit machines, due to use of size_t in ioctl. That was required by Irix, which we dropped support for, so we can also drop size_t Reviewed-by: Thiago Task-number: 249537
* Add a warning for trying to connectToHost() when disconnecting.Thiago Macieira2009-04-161-1/+1
| | | | | | | | | | | | | | Right now, we print this warning if connectToHost() is called when we're in ConnectingState (waiting for remote to SYN,ACK) or in ConnectedState. This also means connectToHost() allows interruption of the HostLookupState cleanly (I think). But if you called connectToHost() right after disconnectFromHost() and there were data to write, the connectToHost() could discard the pending outgoing data and reconnect. Or not, depending on whether the DNS resolution ended first. In other words, race condition. Reviewed-by: Peter Hartmann
* BT: QAbstractSocket: fix check for closing state (typo)Peter Hartmann2009-04-151-1/+1
| | | | | | | | emit disconnected() if we were in ConnectedState or in ClosingState before Reviewed-by: Thiago Task-number: 250976
* Don't remove the cache file if you have successfully added it.Thiago Macieira2009-04-141-1/+2
| | | | | | | | | | | This regression probably happened because of the fix to task 244485 (see 8d500381), which made QFile follow a rename. This means that QTemporaryFile removes its target when it is deleted. This fixes a number of caching autotests that are failing. Reviewed-by: Markus Goetz BT: yes
* Fix compilation if SSL is not enabled.Thiago Macieira2009-04-071-6/+4
| | | | | | | | | Using #ifndef QT_NO_OPENSSL without first #include'ing something will never work. Which means we always include qsslsocket.h. The problem is: if OpenSSL isn't enabled, then that file is a no-op and we never include qabstractsocket.h. Reviewed-by: Markus Goetz
* QLocalSocket will disconnect 30 seconds after a successful delayed connectBradley T. Hughes2009-04-072-13/+16
| | | | | | | | | | When the connection is established, the socket notifier is deleted, but not the connection timer, so the opened connection will be closed after 30 seconds. Task-number: none Reviewed-by: Andreas Reviewed-by: Thiago
* Remove inline keywords, fix compile bugIan Walters2009-04-071-3/+3
| | | | | | | | | | The compile under OS-X was failing due to unfound symbols. Given that the implementation of these functions is not in the header file, they should not have inline keywords. Removing the inline keywords allowed compilation to succeed. Reviewed-by: Rhys Weatherley
* Move QT_BEGIN_NAMESPACE to after the usual Qt header includesRhys Weatherley2009-04-073-8/+8
| | | | | | | QT_BEGIN_NAMESPACE is not defined until qglobal.h is included, but some of the QtNetwork headers were listing it before. Reviewed-by: Ian Walters
* De-inlined 2 functions in QHttpNetworkHeaderMarkus Goetz2009-04-061-2/+2
| | | | RevBy: Thiago
* Splitted qhttpnetworkconnection* files into individual filesMarkus Goetz2009-04-069-1237/+1659
| | | | (cherry picked from commit fd9b788bd6a99630b06cffee4c9fa9f4c06b0ef1)
* Fix QNetworkReply's automatic pushing of a cache when the cache isThiago Macieira2009-04-061-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | more than 64k. This issue was found by Warwick: the copyReadyRead() slot is called only once as a result of readyRead(), but since there's no more data to be received (the source QIODevice is a QBuffer), we'll never get a readyRead() again. So, if we don't have a limited buffer size, we should read everything. This applies to QFile as well. The side-effect is that we cause the entire QFile to be loaded to memory, so if you had a 2 GB cache entry, you'll probably run out of memory. Future optimisations: - don't memcpy the data from a QBuffer into another buffer - find a way to avoid loading the entire contents of the file (probably not possible with the default QNetworkDiskCache since that may compress the data, so we won't know the size and thus can't fake finished()) Reviewed-by: Warwick Allison
* Use the standard 'type name = value' variable declaration for PODThiago Macieira2009-04-031-1/+1
| | | | | | | | | | | | types. C++ is nice, but we don't have to use confusing syntax when plain old C works (and is correct). This apparently fixes a compilation error on MSVC 6, that doesn't like the constructor-like initialisation for POD types. Reviewed-by: Trust Me BT: yes
* make relative #include relative to the current fileOswald Buddenhagen2009-04-021-1/+1
| | | | i.e., use "", not <> and thus rely on the include path
* QNetworkInterface: fix listing of all interfacesPeter Hartmann2009-04-011-3/+3
| | | | | | | | Before, we returned 0 for many interfaces because we picked up the IPv6 address regardless whether it was 0 or not. Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com> Task-number: 249312
* Subject: Mention setProxy() should be called before setHost() in the docAndy Shaw2009-04-011-1/+5
| | | | Reviewed-by: Kavindra Devi Palaraja <kavindra.palaraja@nokia.com>
* Fix the parsing of October dates.Benjamin C Meyer2009-03-301-3/+4
| | | | | | | The code was looking for a 't' to detect GMT-nnnn. It should really be checking for 'gmt'. Signed-off-by: Thiago Macieira <thiago.macieira@nokia.com>
* Fix parsing of multiple cookies that are separated by a newlineThiago Macieira2009-03-301-1/+1
| | | | Signed-off-by: Peter Hartmann <peter.hartmann@trolltech.com>
* Fix accesses past-the-end of the byte arrayThiago Macieira2009-03-301-2/+3
| | | | Signed-off-by: Peter Hartmann <peter.hartmann@trolltech.com>