Always prefill username from Windows login name based on server version

Signed-off-by: alex-z <blackslayer4@gmail.com>
This commit is contained in:
alex-z 2021-12-03 10:41:33 +02:00
parent 14374bc1be
commit 25785841a3
7 changed files with 9 additions and 19 deletions

View File

@ -13,7 +13,6 @@ set( APPLICATION_REV_DOMAIN "com.nextcloud.desktopclient" )
set( APPLICATION_VIRTUALFILE_SUFFIX "nextcloud" CACHE STRING "Virtual file suffix (not including the .)")
set( APPLICATION_OCSP_STAPLING_ENABLED OFF )
set( APPLICATION_FORBID_BAD_SSL OFF )
set( APPLICATION_LOGIN_WITH_SYSTEM_USERNAME OFF )
set( LINUX_PACKAGE_SHORTNAME "nextcloud" )
set( LINUX_APPLICATION_ID "${APPLICATION_REV_DOMAIN}.${LINUX_PACKAGE_SHORTNAME}")

View File

@ -31,7 +31,6 @@
#cmakedefine APPLICATION_VIRTUALFILE_SUFFIX "@APPLICATION_VIRTUALFILE_SUFFIX@"
#cmakedefine APPLICATION_OCSP_STAPLING_ENABLED "@APPLICATION_OCSP_STAPLING_ENABLED@"
#cmakedefine APPLICATION_FORBID_BAD_SSL "@APPLICATION_FORBID_BAD_SSL@"
#cmakedefine APPLICATION_LOGIN_WITH_SYSTEM_USERNAME "@APPLICATION_LOGIN_WITH_SYSTEM_USERNAME@"
#define APPLICATION_DOTVIRTUALFILE_SUFFIX "." APPLICATION_VIRTUALFILE_SUFFIX
#cmakedefine01 ENFORCE_VIRTUAL_FILES_SYNC_FOLDER

View File

@ -133,7 +133,7 @@ void Flow2Auth::fetchNewToken(const TokenAction action)
_loginUrl = loginUrl;
if (Theme::instance()->loginWithSystemUserName()) {
if (_account->isUsernamePrefillSupported()) {
const auto userName = Utility::getCurrentUserName();
if (!userName.isEmpty()) {
auto query = QUrlQuery(_loginUrl);

View File

@ -57,6 +57,7 @@ using namespace QKeychain;
namespace {
constexpr int pushNotificationsReconnectInterval = 1000 * 60 * 2;
constexpr int usernamePrefillServerVersinMinSupportedMajor = 24;
}
namespace OCC {
@ -629,6 +630,11 @@ bool Account::serverVersionUnsupported() const
NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR, NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_PATCH);
}
bool Account::isUsernamePrefillSupported() const
{
return serverVersionInt() >= makeServerVersion(usernamePrefillServerVersinMinSupportedMajor, 0, 0);
}
void Account::setServerVersion(const QString &version)
{
if (version == _serverVersion) {

View File

@ -230,6 +230,8 @@ public:
*/
bool serverVersionUnsupported() const;
bool isUsernamePrefillSupported() const;
/** True when the server connection is using HTTP2 */
bool isHttp2Supported() { return _http2Supported; }
void setHttp2Supported(bool value) { _http2Supported = value; }

View File

@ -417,15 +417,6 @@ bool Theme::forbidBadSSL() const
#endif
}
bool Theme::loginWithSystemUserName() const
{
#ifdef APPLICATION_LOGIN_WITH_SYSTEM_USERNAME
return true;
#else
return false;
#endif
}
QString Theme::forceConfigAuthType() const
{
return QString();

View File

@ -254,13 +254,6 @@ public:
*/
virtual bool forbidBadSSL() const;
/**
* Use current logged in username from the system
*
* When true, the Web login form will be pre-filled with system user name
*/
bool loginWithSystemUserName() const;
/**
* This is only usefull when previous version had a different overrideServerUrl
* with a different auth type in that case You should then specify "http" or "shibboleth".