Commit 9043786d authored by Marco Martin's avatar Marco Martin
Browse files

set setInteractiveAuthorizationAllowed on SetPassword call

is important that the setpasswod call uses interactive authorization,
otherwise will be denied, unless the user had been modified beforehand
so an authorization was already granted

BUG:459309
parent b9846c93
Pipeline #237928 passed with stage
in 6 minutes and 3 seconds
......@@ -225,9 +225,14 @@ void User::setPassword(const QString &password)
{
// Blocking because we need to wait for the password to be changed before we
// can ask the user about also possibly changing their KWallet password
auto invocation = m_dbusIface->SetPassword(saltPassword(password), QString());
invocation.waitForFinished();
if (!invocation.isError()) {
auto mc = QDBusMessage::createMethodCall(m_dbusIface->service(), m_dbusIface->path(), m_dbusIface->interface(), "SetPassword");
mc.setArguments({saltPassword(password), QString()});
mc.setInteractiveAuthorizationAllowed(true);
auto message = QDBusConnection::systemBus().call(mc);
// Not an error or invalid message
if (message.type() == QDBusMessage::ReplyMessage) {
Q_EMIT passwordSuccessfullyChanged();
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment