X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fstorage.h;h=29a8df877c79e512da897e9d502067e0da3df418;hb=4b0caf61565c8791efba283bbcaf73530b9feafc;hp=989f33142e18e63de06795d7491ff8391ff67c63;hpb=1e57394b3bb6aaf6213270658e00975b19f02d26;p=quassel.git diff --git a/src/core/storage.h b/src/core/storage.h index 989f3314..29a8df87 100644 --- a/src/core/storage.h +++ b/src/core/storage.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -43,13 +43,10 @@ public: }; enum HashVersion { - sha1, -#if QT_VERSION >= 0x050000 - sha2_512, - latest=sha2_512 -#else - latest=sha1 -#endif + Sha1, + Sha2_512, + Latest=Sha2_512 + }; public slots: @@ -106,7 +103,7 @@ public slots: * \param password The cleartext password for the new user * \return The new user's UserId */ - virtual UserId addUser(const QString &user, const QString &password) = 0; + virtual UserId addUser(const QString &user, const QString &password, const QString &authenticator = "Database") = 0; //! Update a core user's password. /** \param user The user's id @@ -134,6 +131,13 @@ public slots: */ virtual UserId getUserId(const QString &username) = 0; + //! Get the authentication provider for a given user. + /** \param username The username to validate + * \return The name of the auth provider if the UserId exists, "" otherwise. + */ + virtual QString getUserAuthenticator(const UserId userid) = 0; + + //! Determine the UserId of the internal user /** \return A valid UserId if the password matches the username; 0 else */ @@ -425,10 +429,9 @@ private: QString hashPasswordSha1(const QString &password); bool checkHashedPasswordSha1(const QString &password, const QString &hashedPassword); -#if QT_VERSION >= 0x050000 QString hashPasswordSha2_512(const QString &password); bool checkHashedPasswordSha2_512(const QString &password, const QString &hashedPassword); -#endif + QString sha2_512(const QString &input); };