X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientauthhandler.h;h=701bd7e3661b585a37598f7c58adcb47c732cf7b;hp=00c2986ef2659e19014a84503fb26cf099500e33;hb=cc6e7c08709c4e761e2fd9c2e322751015497003;hpb=80f22eedcd34e1fc021f5d30fe67a56955dc9083 diff --git a/src/client/clientauthhandler.h b/src/client/clientauthhandler.h index 00c2986e..701bd7e3 100644 --- a/src/client/clientauthhandler.h +++ b/src/client/clientauthhandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,11 +18,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef CLIENTAUTHHANDLER_H -#define CLIENTAUTHHANDLER_H +#pragma once -#include "compressor.h" #include "authhandler.h" +#include "compressor.h" #include "coreaccount.h" class QSslSocket; @@ -34,70 +33,69 @@ class ClientAuthHandler : public AuthHandler Q_OBJECT public: - ClientAuthHandler(CoreAccount account, QObject *parent = 0); - - enum DigestVersion { + enum DigestVersion + { Md5, Sha2_512, - Latest=Sha2_512 + Latest = Sha2_512 }; + ClientAuthHandler(CoreAccount account, QObject* parent = nullptr); + + Peer* peer() const; + public slots: void connectToCore(); - void login(const QString &previousError = QString()); - void login(const QString &user, const QString &password, bool remember); - void setupCore(const Protocol::SetupData &setupData); + void login(const QString& previousError = QString()); + void login(const QString& user, const QString& password, bool remember); + void setupCore(const Protocol::SetupData& setupData); signals: - void statusMessage(const QString &message); - void errorMessage(const QString &message); - void errorPopup(const QString &message); + void statusMessage(const QString& message); + void errorMessage(const QString& message); + void errorPopup(const QString& message); void transferProgress(int current, int max); - void requestDisconnect(const QString &errorString = QString(), bool wantReconnect = false); + void requestDisconnect(const QString& errorString = QString(), bool wantReconnect = false); void connectionReady(); - void loginSuccessful(const CoreAccount &account); - void handshakeComplete(RemotePeer *peer, const Protocol::SessionState &sessionState); + void loginSuccessful(const CoreAccount& account); + void handshakeComplete(RemotePeer* peer, const Protocol::SessionState& sessionState); // These signals MUST be handled synchronously! - void userAuthenticationRequired(CoreAccount *account, bool *valid, const QString &errorMessage = QString()); - void handleNoSslInClient(bool *accepted); - void handleNoSslInCore(bool *accepted); + void userAuthenticationRequired(CoreAccount* account, bool* valid, const QString& errorMessage = QString()); + void handleNoSslInClient(bool* accepted); + void handleNoSslInCore(bool* accepted); #ifdef HAVE_SSL - void handleSslErrors(const QSslSocket *socket, bool *accepted, bool *permanently); + void handleSslErrors(const QSslSocket* socket, bool* accepted, bool* permanently); #endif void encrypted(bool isEncrypted = true); - void startCoreSetup(const QVariantList &backendInfo); + void startCoreSetup(const QVariantList& backendInfo, const QVariantList& authenticatorInfo); void coreSetupSuccessful(); - void coreSetupFailed(const QString &error); + void coreSetupFailed(const QString& error); private: using AuthHandler::handle; - void handle(const Protocol::ClientDenied &msg); - void handle(const Protocol::ClientRegistered &msg); - void handle(const Protocol::SetupFailed &msg); - void handle(const Protocol::SetupDone &msg); - void handle(const Protocol::LoginFailed &msg); - void handle(const Protocol::LoginSuccess &msg); - void handle(const Protocol::SessionState &msg); + void handle(const Protocol::ClientDenied& msg) override; + void handle(const Protocol::ClientRegistered& msg) override; + void handle(const Protocol::SetupFailed& msg) override; + void handle(const Protocol::SetupDone& msg) override; + void handle(const Protocol::LoginFailed& msg) override; + void handle(const Protocol::LoginSuccess& msg) override; + void handle(const Protocol::SessionState& msg) override; - void setPeer(RemotePeer *peer); + void setPeer(RemotePeer* peer); void checkAndEnableSsl(bool coreSupportsSsl); void startRegistration(); -#if QT_VERSION < 0x050000 - QByteArray sha2_512(const QByteArray &input); -#endif - private slots: void onSocketConnected(); void onSocketStateChanged(QAbstractSocket::SocketState state); - void onSocketError(QAbstractSocket::SocketError); - void onSocketDisconnected(); + void onSocketError(QAbstractSocket::SocketError) override; + void onSocketDisconnected() override; void onReadyRead(); #ifdef HAVE_SSL @@ -110,13 +108,12 @@ private slots: void onConnectionReady(); private: - RemotePeer *_peer; + RemotePeer* _peer; bool _coreConfigured; QVariantList _backendInfo; + QVariantList _authenticatorInfo; CoreAccount _account; bool _probing; bool _legacy; quint8 _connectionFeatures; }; - -#endif