summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-15 03:02:27 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-15 03:02:27 +0200
commita1343e7594c69671583004d8433bf5edbd89d404 (patch)
tree4807df5fd55054b16b3bee656be83dcdb74c1e33
parent093e7176cf9627db0ea1673ca329b722bd2397a7 (diff)
parent51a0b723032640e3b3f99adf3e392ed7d8ceec33 (diff)
Merge remote-tracking branch 'origin/5.12' into dev
-rw-r--r--dist/changes-5.11.224
-rw-r--r--src/oauth/qoauth1.cpp23
-rw-r--r--tests/auto/oauth1/tst_oauth1.cpp1
3 files changed, 40 insertions, 8 deletions
diff --git a/dist/changes-5.11.2 b/dist/changes-5.11.2
new file mode 100644
index 0000000..8efdf5e
--- /dev/null
+++ b/dist/changes-5.11.2
@@ -0,0 +1,24 @@
+Qt 5.11.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.11.0 through 5.11.1.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.11 series is binary compatible with the 5.10.x series.
+Applications compiled for 5.10 will continue to run with 5.11.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Qt 5.11.2 Changes *
+****************************************************************************
+
+ - This release contains only minor code improvements.
diff --git a/src/oauth/qoauth1.cpp b/src/oauth/qoauth1.cpp
index 37408fc..928418e 100644
--- a/src/oauth/qoauth1.cpp
+++ b/src/oauth/qoauth1.cpp
@@ -155,7 +155,6 @@ QNetworkReply *QOAuth1Private::requestToken(QNetworkAccessManager::Operation ope
const QPair<QString, QString> &token,
const QVariantMap &parameters)
{
- Q_Q(QOAuth1);
if (Q_UNLIKELY(!networkAccessManager())) {
qCWarning(loggingCategory, "QNetworkAccessManager not available");
return nullptr;
@@ -175,27 +174,35 @@ QNetworkReply *QOAuth1Private::requestToken(QNetworkAccessManager::Operation ope
QAbstractOAuth::Stage stage = QAbstractOAuth::Stage::RequestingTemporaryCredentials;
QVariantMap headers;
+ QVariantMap remainingParameters;
appendCommonHeaders(&headers);
- headers.insert(Key::oauthCallback, q->callback());
+ for (auto it = parameters.begin(), end = parameters.end(); it != end; ++it) {
+ const auto key = it.key();
+ const auto value = it.value();
+ if (key.startsWith(QStringLiteral("oauth_")))
+ headers.insert(key, value);
+ else
+ remainingParameters.insert(key, value);
+ }
if (!token.first.isEmpty()) {
headers.insert(Key::oauthToken, token.first);
stage = QAbstractOAuth::Stage::RequestingAccessToken;
}
- appendSignature(stage, &headers, url, operation, parameters);
+ appendSignature(stage, &headers, url, operation, remainingParameters);
- request.setRawHeader("Authorization", q->generateAuthorizationHeader(headers));
+ request.setRawHeader("Authorization", QOAuth1::generateAuthorizationHeader(headers));
QNetworkReply *reply = nullptr;
if (operation == QNetworkAccessManager::GetOperation) {
if (parameters.size() > 0) {
QUrl url = request.url();
- url.setQuery(QOAuth1Private::createQuery(parameters));
+ url.setQuery(QOAuth1Private::createQuery(remainingParameters));
request.setUrl(url);
}
reply = networkAccessManager()->get(request);
}
else if (operation == QNetworkAccessManager::PostOperation) {
- QUrlQuery query = QOAuth1Private::createQuery(parameters);
+ QUrlQuery query = QOAuth1Private::createQuery(remainingParameters);
const QByteArray data = query.toString(QUrl::FullyEncoded).toUtf8();
request.setHeader(QNetworkRequest::ContentTypeHeader,
QStringLiteral("application/x-www-form-urlencoded"));
@@ -665,7 +672,9 @@ QNetworkReply *QOAuth1::requestTemporaryCredentials(QNetworkAccessManager::Opera
Q_D(QOAuth1);
d->token.clear();
d->tokenSecret.clear();
- return d->requestToken(operation, url, qMakePair(d->token, d->tokenSecret), parameters);
+ QVariantMap allParameters(parameters);
+ allParameters.insert(Key::oauthCallback, callback());
+ return d->requestToken(operation, url, qMakePair(d->token, d->tokenSecret), allParameters);
}
/*!
diff --git a/tests/auto/oauth1/tst_oauth1.cpp b/tests/auto/oauth1/tst_oauth1.cpp
index 2385863..dbc793c 100644
--- a/tests/auto/oauth1/tst_oauth1.cpp
+++ b/tests/auto/oauth1/tst_oauth1.cpp
@@ -450,7 +450,6 @@ void tst_OAuth1::getToken()
});
QVERIFY(waitForFinish(reply) == Success);
QCOMPARE(tokenReceived, expectedToken);
- QCOMPARE(oauthHeaders["oauth_callback"], "oob");
QCOMPARE(oauthHeaders["oauth_consumer_key"], clientCredentials.first);
QCOMPARE(oauthHeaders["oauth_version"], "1.0");
QString expectedSignature;