Просмотр исходного кода

Don't check against product name if checking server version

We should not rely on the product name because it is something the
user can change in the theming options on the server.

Fixes #3001

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
Felix Weilbach 4 лет назад
Родитель
Сommit
c0f09ae12c
4 измененных файлов с 13 добавлено и 3 удалено
  1. 5 0
      VERSION.cmake
  2. 3 2
      src/libsync/account.cpp
  3. 1 1
      src/libsync/networkjobs.cpp
  4. 4 0
      version.h.in

+ 5 - 0
VERSION.cmake

@@ -4,6 +4,11 @@ set( MIRALL_VERSION_PATCH 81 )
 set( MIRALL_VERSION_YEAR  2020 )
 set( MIRALL_SOVERSION 0 )
 
+# Minimum supported server version according to https://docs.nextcloud.com/server/latest/admin_manual/release_schedule.html
+set(NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MAJOR 19)
+set(NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR 0)
+set(NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_PATCH 0)
+
 if ( NOT DEFINED MIRALL_VERSION_SUFFIX )
     set( MIRALL_VERSION_SUFFIX "git") #e.g. beta1, beta2, rc1
 endif( NOT DEFINED MIRALL_VERSION_SUFFIX )

+ 3 - 2
src/libsync/account.cpp

@@ -21,6 +21,7 @@
 #include "capabilities.h"
 #include "theme.h"
 #include "pushnotifications.h"
+#include "version.h"
 
 #include "common/asserts.h"
 #include "clientsideencryption.h"
@@ -531,8 +532,8 @@ bool Account::serverVersionUnsupported() const
         // not detected yet, assume it is fine.
         return false;
     }
-    // Older version which is not "end of life" according to https://docs.nextcloud.com/server/latest/admin_manual/release_schedule.html
-    return serverVersionInt() < makeServerVersion(18, 0, 0) || !serverVersion().endsWith("Nextcloud");
+    return serverVersionInt() < makeServerVersion(NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MAJOR,
+               NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR, NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_PATCH);
 }
 
 void Account::setServerVersion(const QString &version)

+ 1 - 1
src/libsync/networkjobs.cpp

@@ -454,7 +454,7 @@ void CheckServerJob::onTimedOut()
 
 QString CheckServerJob::version(const QJsonObject &info)
 {
-    return info.value(QLatin1String("version")).toString() + "-" + info.value(QLatin1String("productname")).toString();
+    return info.value(QLatin1String("version")).toString();
 }
 
 QString CheckServerJob::versionString(const QJsonObject &info)

+ 4 - 0
version.h.in

@@ -37,4 +37,8 @@
 
 #define MIRALL_VERSION_STRING "@MIRALL_VERSION_STRING@"
 
+constexpr int NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MAJOR = @NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MAJOR@;
+constexpr int NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR = @NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR@;
+constexpr int NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_PATCH = @NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_PATCH@;
+
 #endif // VERSION_H