Cookies: Don't override cookies with outdated values

This code was actually not breaking most cookie handling by accident.
As the raw cookies where not split properly we added cookies with values like
"key: val; key2 = val2; key3 = val3"
When the code was corrected we overwrote the newer values in the jar with
the old ones from a request.
This commit is contained in:
Hannah von Reth 2020-03-31 13:51:18 +02:00 committed by Kevin Ottens
parent 317d3735d7
commit f073997aee
No known key found for this signature in database
GPG Key ID: 074BBBCB8DECC9E2
2 changed files with 0 additions and 19 deletions

View File

@ -48,18 +48,6 @@ AccessManager::AccessManager(QObject *parent)
setCookieJar(new CookieJar);
}
void AccessManager::setRawCookie(const QByteArray &rawCookie, const QUrl &url)
{
QNetworkCookie cookie(rawCookie.left(rawCookie.indexOf('=')),
rawCookie.mid(rawCookie.indexOf('=') + 1));
qCDebug(lcAccessManager) << cookie.name() << cookie.value();
QList<QNetworkCookie> cookieList;
cookieList.append(cookie);
QNetworkCookieJar *jar = cookieJar();
jar->setCookiesFromUrl(cookieList, url);
}
static QByteArray generateRequestId()
{
// Use a UUID with the starting and ending curly brace removed.
@ -71,11 +59,6 @@ QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op,
{
QNetworkRequest newRequest(request);
if (newRequest.hasRawHeader("cookie")) {
// This will set the cookie into the QNetworkCookieJar which will then override the cookie header
setRawCookie(request.rawHeader("cookie"), request.url());
}
// Respect request specific user agent if any
if (!newRequest.header(QNetworkRequest::UserAgentHeader).isValid()) {
newRequest.setHeader(QNetworkRequest::UserAgentHeader, Utility::userAgentString());

View File

@ -34,8 +34,6 @@ class OWNCLOUDSYNC_EXPORT AccessManager : public QNetworkAccessManager
public:
AccessManager(QObject *parent = nullptr);
void setRawCookie(const QByteArray &rawCookie, const QUrl &url);
protected:
QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = nullptr) override;
};