X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.cpp;h=7c20a05bdcc4b7cf668351a6cf8b3e4c39961573;hp=11adb1dda4a20e7057427297e1f30b04d5ac3eed;hb=5924533c6d0f9777d38c01ed7e1510a55db2b876;hpb=53211b31038dac1726bb768dce4ae4dda1090cd3 diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index 11adb1dd..7c20a05b 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -207,7 +207,8 @@ UserId PostgreSqlStorage::addUser(const QString &user, const QString &password) QSqlQuery query(logDb()); query.prepare(queryString("insert_quasseluser")); query.bindValue(":username", user); - query.bindValue(":password", cryptedPassword(password)); + query.bindValue(":password", hashPassword(password)); + query.bindValue(":hashversion", Storage::HashVersion::latest); safeExec(query); if (!watchQuery(query)) return 0; @@ -224,7 +225,8 @@ bool PostgreSqlStorage::updateUser(UserId user, const QString &password) QSqlQuery query(logDb()); query.prepare(queryString("update_userpassword")); query.bindValue(":userid", user.toInt()); - query.bindValue(":password", cryptedPassword(password)); + query.bindValue(":password", hashPassword(password)); + query.bindValue(":hashversion", Storage::HashVersion::latest); safeExec(query); watchQuery(query); return query.numRowsAffected() != 0; @@ -248,11 +250,10 @@ UserId PostgreSqlStorage::validateUser(const QString &user, const QString &passw QSqlQuery query(logDb()); query.prepare(queryString("select_authuser")); query.bindValue(":username", user); - query.bindValue(":password", cryptedPassword(password)); safeExec(query); watchQuery(query); - if (query.first()) { + if (query.first() && checkHashedPassword(query.value(0).toInt(), password, query.value(1).toString(), static_cast(query.value(2).toInt()))) { return query.value(0).toInt(); } else {