| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Since 925912ebf552417306a5bd20fd986afda6a582be QNetworkReplyImplPrivate
no longer holds its own pointer to the network cache and relies on the
backend to get it. Since the cache is used in our call to finished, we
must reset the backend only after that.
This fixes a crash I was seeing in Arora...
Reviewed-by: Markus Goetz
Reviewed-by: Peter Hartmann
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Discussed with Ben Meyer.
|
|
|
|
|
|
|
|
|
|
| |
any point. Rather then keep a separate pointer to the cache in the
reply use the pointer kept by the manager so the reply never tries
to access a cache pointer that has already been deleted.
Autotest: included
Merge-request: 1124
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|
|
|
|
|
|
| |
and when creating a CacheBackend set the manager pointer.
Merge-request: 1124
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
| |
The text:
When the current size of the cache is greater then the
maximumCacheSize()
should read
When the current size of the cache is greater than the
maximumCacheSize()
Task-number: 260496
Reviewed-by: Zheng Liu (George)
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
Note however you still need to -nomake examples -nomake demos
when configuring Qt.
Reviewed-by: Thiago
Task: 259179
|
|
|
|
|
| |
Task-number: 258644
Reviewed-by: Thiago
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
Properly load the raw headers and properly handle the redirection
when having a network cache in AlwaysCache mode (equals the offline
mode in web browser).
Task-number: 256240
Reviewed-by: Thiago Macieira
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
In some cases, weird timing issues could occur. In those cases, an EOF
was sent twice for the upload data, leading to the HTTP code being
confused and sending the request headers twice.
Task-number: 257662
Reviewed-by: Thiago Macieira
|
|
|
|
|
|
| |
A few "fixes" to make that number go down..
Reviewed-by: Thiago Macieira
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug that occured together with a QProgressDialog.
The signal emission was like:
readyRead readyRead readyRead [...] readyRead finished readyRead
Now finished should be properly at the ending of this sequence.
Task-number: 256630
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|
|
|
| |
Reviewed-by: Volker Hilsheimer
|
|
|
|
|
|
|
|
|
|
| |
This makes sure the keep-alive connections stay open even
if someone deletes a QNetworkReply which will then go all the
way down to removeReply(QHttpNetworkReply).
Should fix
http://lists.trolltech.com/pipermail/qt-interest/2009-June/007777.html
Reviewed-by: Peter Hartmann
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
...but just silently return. This is ok because at another location
in QNetworkReplyImplPrivate we do the same.
Reviewed-by: Thiago
Task-number: 254638
|
|
|
|
|
| |
Task-number: 254333
Reviewed-by: Andy Shaw <qt-info@nokia.com>
|
|
|
|
|
|
| |
Usually, "the the" is not proper English
Reviewed-By: Thiago Macieira
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
return error upon receiving an unknown authentication method (e.g.
WSSE); before we were just silently returning.
Reviewed-by: Thiago Macieira
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Don't setfault when setting 0 for the network cache such as when you
want to disable it.
Reviewed-by: Peter Hartmann
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
RevBy: Thiago
|
|
|
|
| |
(cherry picked from commit fd9b788bd6a99630b06cffee4c9fa9f4c06b0ef1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Kavindra Devi Palaraja <kavindra.palaraja@nokia.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Peter Hartmann <peter.hartmann@trolltech.com>
|
|
|
|
| |
Signed-off-by: Peter Hartmann <peter.hartmann@trolltech.com>
|
|
|
|
|
|
|
|
| |
negative sign.
I don't know why, but this only triggers for the month of October
Signed-off-by: Peter Hartmann <peter.hartmann@trolltech.com>
|
|
|
|
|
|
| |
It's the logical time that matters, not the exact date representation.
Signed-off-by: Peter Hartmann <peter.hartmann@trolltech.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test if we're not past the end of the array before we attempt to read it.
Dates without timezone information are taken to be UTC, so merge the code.
If the date parsing failed, don't add a malformed cookie. Better to
have no cookie than to have it for past its expiration date.
Also update the autotests, since we now can cope with some of the
invalid cookies seen on the net.
Signed-off-by: Peter Hartmann <peter.hartmann@trolltech.com>
|