Skip to content

Commit

Permalink
Server: Parse version from capabilities too #5691
Browse files Browse the repository at this point in the history
  • Loading branch information
guruz committed Apr 12, 2017
1 parent 5e18d5c commit 22d6d57
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/gui/owncloudsetupwizard.cpp
Expand Up @@ -183,6 +183,8 @@ void OwncloudSetupWizard::slotOwnCloudFoundAuth(const QUrl& url, const QVariantM
Utility::escape(CheckServerJob::versionString(info)),
Utility::escape(serverVersion)));

// Note with newer servers we get the version actually only later in capabilities
// https://github.com/owncloud/core/pull/27473/files
_ocWizard->account()->setServerVersion(serverVersion);

QString p = url.path();
Expand Down
9 changes: 9 additions & 0 deletions src/libsync/connectionvalidator.cpp
Expand Up @@ -119,6 +119,8 @@ void ConnectionValidator::slotStatusFound(const QUrl&url, const QVariantMap &inf
<< url << " with version "
<< CheckServerJob::versionString(info)
<< "(" << CheckServerJob::version(info) << ")";
// Newer servers don't disclose any version in status.php anymore
// https://github.com/owncloud/core/pull/27473/files

QString version = CheckServerJob::version(info);
_account->setServerVersion(version);
Expand Down Expand Up @@ -235,6 +237,13 @@ void ConnectionValidator::slotCapabilitiesRecieved(const QVariantMap &json)
auto caps = json.value("ocs").toMap().value("data").toMap().value("capabilities");
qDebug() << "Server capabilities" << caps;
_account->setCapabilities(caps.toMap());

QString serverVersion = caps.toMap()["core"].toMap()["status"].toMap()["version"].toString();
if (!serverVersion.isEmpty()) {
_account->setServerVersion(serverVersion);
qDebug() << "Version from capabilities instead of status.php:" << serverVersion;
}

fetchUser();
}

Expand Down
3 changes: 2 additions & 1 deletion src/libsync/networkjobs.cpp
Expand Up @@ -477,7 +477,8 @@ bool CheckServerJob::finished()
if( status.contains("installed")
&& status.contains("version")
&& status.contains("versionstring") ) {

// Newer servers don't disclose anything in that empty string "version" anymore
// https://github.com/owncloud/core/pull/27473/files
emit instanceFound(reply()->url(), status);
} else {
qDebug() << "No proper answer on " << reply()->url();
Expand Down

0 comments on commit 22d6d57

Please sign in to comment.