mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile/credentials: email address must be lower case
I could have sworn that I have fixed this several times in various places, but apparently (as shown by todays support emails) it's still possible to setup a mixed case email address. So let's try to solve this problem at the very top. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
891c0e7ec6
commit
9deb4f4a22
2 changed files with 9 additions and 5 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
Mobile: convert entered email to lower case
|
||||||
desktop: localize salinity string with respect to thousands separators
|
desktop: localize salinity string with respect to thousands separators
|
||||||
desktop: update date and time fields on maintab if user changes preferences
|
desktop: update date and time fields on maintab if user changes preferences
|
||||||
mobile: small improvements to usability with dark theme
|
mobile: small improvements to usability with dark theme
|
||||||
|
|
|
@ -558,24 +558,27 @@ void QMLManager::saveCloudCredentials(const QString &newEmail, const QString &ne
|
||||||
bool cloudCredentialsChanged = false;
|
bool cloudCredentialsChanged = false;
|
||||||
bool noCloud = qPrefCloudStorage::cloud_verification_status() == qPrefCloudStorage::CS_NOCLOUD;
|
bool noCloud = qPrefCloudStorage::cloud_verification_status() == qPrefCloudStorage::CS_NOCLOUD;
|
||||||
|
|
||||||
|
// email address MUST be lower case or bad things happen
|
||||||
|
QString email = newEmail.toLower();
|
||||||
|
|
||||||
// make sure we only have letters, numbers, and +-_. in password and email address
|
// make sure we only have letters, numbers, and +-_. in password and email address
|
||||||
QRegularExpression regExp("^[a-zA-Z0-9@.+_-]+$");
|
QRegularExpression regExp("^[a-zA-Z0-9@.+_-]+$");
|
||||||
if (!noCloud) {
|
if (!noCloud) {
|
||||||
// in case of NO_CLOUD, the email address + passwd do not care, so do not check it.
|
// in case of NO_CLOUD, the email address + passwd do not care, so do not check it.
|
||||||
if (newPassword.isEmpty() ||
|
if (newPassword.isEmpty() ||
|
||||||
!regExp.match(newPassword).hasMatch() ||
|
!regExp.match(newPassword).hasMatch() ||
|
||||||
!regExp.match(newEmail).hasMatch()) {
|
!regExp.match(email).hasMatch()) {
|
||||||
setStartPageText(RED_FONT + tr("Cloud storage email and password can only consist of letters, numbers, and '.', '-', '_', and '+'.") + END_FONT);
|
setStartPageText(RED_FONT + tr("Cloud storage email and password can only consist of letters, numbers, and '.', '-', '_', and '+'.") + END_FONT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// use the same simplistic regex as the backend to check email addresses
|
// use the same simplistic regex as the backend to check email addresses
|
||||||
regExp = QRegularExpression("^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.+_-]+\\.[a-zA-Z0-9]+");
|
regExp = QRegularExpression("^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.+_-]+\\.[a-zA-Z0-9]+");
|
||||||
if (!regExp.match(newEmail).hasMatch()) {
|
if (!regExp.match(email).hasMatch()) {
|
||||||
setStartPageText(RED_FONT + tr("Invalid format for email address") + END_FONT);
|
setStartPageText(RED_FONT + tr("Invalid format for email address") + END_FONT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!same_string(prefs.cloud_storage_email, qPrintable(newEmail))) {
|
if (!same_string(prefs.cloud_storage_email, qPrintable(email))) {
|
||||||
cloudCredentialsChanged = true;
|
cloudCredentialsChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -589,11 +592,11 @@ void QMLManager::saveCloudCredentials(const QString &newEmail, const QString &ne
|
||||||
qPrefCloudStorage::set_cloud_verification_status(m_oldStatus);
|
qPrefCloudStorage::set_cloud_verification_status(m_oldStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!noCloud && !verifyCredentials(newEmail, newPassword, pin)) {
|
if (!noCloud && !verifyCredentials(email, newPassword, pin)) {
|
||||||
appendTextToLog("saveCloudCredentials: given cloud credentials didn't verify");
|
appendTextToLog("saveCloudCredentials: given cloud credentials didn't verify");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qPrefCloudStorage::set_cloud_storage_email(newEmail);
|
qPrefCloudStorage::set_cloud_storage_email(email);
|
||||||
qPrefCloudStorage::set_cloud_storage_password(newPassword);
|
qPrefCloudStorage::set_cloud_storage_password(newPassword);
|
||||||
|
|
||||||
if (m_oldStatus == qPrefCloudStorage::CS_NOCLOUD && cloudCredentialsChanged && dive_table.nr) {
|
if (m_oldStatus == qPrefCloudStorage::CS_NOCLOUD && cloudCredentialsChanged && dive_table.nr) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue