Skip to content

Commit 39de56b

Browse files
committed
Remove needsToken logic from ConnectionData
This was introduced as a workaround for cases when homeservers require authentication on media endpoints, deviating from the spec text of that time in order to protect themselves. This workaround is not necessary since #776; DownloadFileJob and MediaThumbnailJob now always supply the access token even when the homeserver doesn't require it.
1 parent fabb3da commit 39de56b

File tree

3 files changed

+0
-26
lines changed

3 files changed

+0
-26
lines changed

Quotient/connectiondata.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ class ConnectionData::Private {
3030
QString userId;
3131
QString deviceId;
3232
QStringList supportedSpecVersions;
33-
std::vector<QString> needToken;
3433

3534
mutable unsigned int txnCounter = 0;
3635
const qint64 txnBase = QDateTime::currentMSecsSinceEpoch();
@@ -134,12 +133,6 @@ const QString& ConnectionData::deviceId() const { return d->deviceId; }
134133

135134
const QString& ConnectionData::userId() const { return d->userId; }
136135

137-
bool ConnectionData::needsToken(const QString& requestName) const
138-
{
139-
return std::find(d->needToken.cbegin(), d->needToken.cend(), requestName)
140-
!= d->needToken.cend();
141-
}
142-
143136
void ConnectionData::setDeviceId(const QString& deviceId)
144137
{
145138
d->deviceId = deviceId;
@@ -156,11 +149,6 @@ void ConnectionData::setUserId(const QString& userId)
156149
d->userId = userId;
157150
}
158151

159-
void ConnectionData::setNeedsToken(const QString& requestName)
160-
{
161-
d->needToken.push_back(requestName);
162-
}
163-
164152
void ConnectionData::setSupportedSpecVersions(QStringList versions)
165153
{
166154
qCInfo(MAIN).noquote() << "CS API versions:" << versions.join(u' ');

Quotient/connectiondata.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,13 @@ class QUOTIENT_API ConnectionData {
2828
QUrl baseUrl() const;
2929
const QString& deviceId() const;
3030
const QString& userId() const;
31-
bool needsToken(const QString& requestName) const;
3231
HomeserverData homeserverData() const;
3332
Quotient::NetworkAccessManager *nam() const;
3433

3534
void setBaseUrl(QUrl baseUrl);
3635
void setToken(QByteArray accessToken);
3736
void setDeviceId(const QString& deviceId);
3837
void setUserId(const QString& userId);
39-
void setNeedsToken(const QString& requestName);
4038
void setSupportedSpecVersions(QStringList versions);
4139

4240
QString lastEvent() const;

Quotient/jobs/basejob.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,6 @@ void BaseJob::sendRequest()
381381
return;
382382
}
383383
Q_ASSERT(d->connection && status().code == Pending);
384-
d->needsToken |= d->connection->needsToken(objectName());
385384
auto req = d->prepareRequest();
386385
emit aboutToSendRequest(&req);
387386
d->sendRequest(req);
@@ -601,17 +600,6 @@ void BaseJob::finishJob()
601600
emit rateLimited();
602601
d->connection->submit(this);
603602
return;
604-
case Unauthorised:
605-
if (!d->needsToken && !d->connection->accessToken().isEmpty()) {
606-
// Rerun with access token (extension of the spec while
607-
// https://github.com/matrix-org/matrix-doc/issues/701 is pending)
608-
d->connection->setNeedsToken(objectName());
609-
qCWarning(d->logCat) << this << "re-running with authentication";
610-
emit retryScheduled(d->retriesTaken, 0);
611-
d->connection->submit(this);
612-
return;
613-
}
614-
break;
615603
case NetworkError:
616604
case IncorrectResponse:
617605
case Timeout:

0 commit comments

Comments
 (0)