Skip to content

Feature/multiple account domain server - #2343

Open
JulianGro wants to merge 8 commits into
overte-org:masterfrom
JulianGro:feature/multiple_account_domain_server
Open

Feature/multiple account domain server#2343
JulianGro wants to merge 8 commits into
overte-org:masterfrom
JulianGro:feature/multiple_account_domain_server

Conversation

@JulianGro

Copy link
Copy Markdown
Member

This is #1350 just rebased (and with some trailing whitespaces removed). There were actually no conflicts whatsoever during rebase, so I would consider this to still be code reviewed.

@JulianGro JulianGro added server If used for a Pull Request, server packages are going to be built. needs QA This pull request needs to be tested labels Jun 19, 2026

@vatral vatral left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In addition to the above, attention needs to be paid to the wizard, I think it may need a change.

return false;
}

if (passwordVerify && password == passwordVerify) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably should be ===

QJsonObject accountListObject;

accountListObject.insert("http_username", httpUsernameValue->toString());
accountListObject.insert("http_password", httpPasswordValue->toString());

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this sends the hashed password to the UI of the domain server.

This means that anyone with access can read the hashes of other users, and potentially break them. This might be used for nefarious ends. For instance, a current admin could obtain password hashes, crack them, and then log in as another user even after having their access removed.

// we've pulled a username and password - now check if there is a match in our basic auth hash
QString settingsUsername = _settingsManager.valueForKeyPath(BASIC_AUTH_USERNAME_KEY_PATH).toString();
QVariant settingsPasswordVariant = _settingsManager.valueForKeyPath(BASIC_AUTH_PASSWORD_KEY_PATH);
QVariant allAccounts = _settingsManager.valueForKeyPath(BASIC_AUTH_MULTI_PATH);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got to check whether you can lock yourself out -- I think it may be possible to delete every account.

delete formJSON["security"]["http_authentication"][loginIndex]["http_password_verify"];

// Set the form password value to the new hashed value of that password
formJSON["security"]["http_authentication"][loginIndex]["http_password"] = password;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If password doesn't verify, I believe we leave the password in clear text

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs QA This pull request needs to be tested server If used for a Pull Request, server packages are going to be built.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants