X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientauthhandler.h;h=d6e54cd1a876def86483565448d17f7d0d54b6ac;hp=6683d1dd06c6efa1a0701762054ab6fa2477e906;hb=61aac1868f15babb7086d8bc6bbcff530346f438;hpb=d1bf207d30fe62a15d0e8669d186374c68e6eae8 diff --git a/src/client/clientauthhandler.h b/src/client/clientauthhandler.h index 6683d1dd..d6e54cd1 100644 --- a/src/client/clientauthhandler.h +++ b/src/client/clientauthhandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 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 * @@ -21,6 +21,7 @@ #ifndef CLIENTAUTHHANDLER_H #define CLIENTAUTHHANDLER_H +#include "compressor.h" #include "authhandler.h" #include "coreaccount.h" @@ -35,6 +36,12 @@ class ClientAuthHandler : public AuthHandler public: ClientAuthHandler(CoreAccount account, QObject *parent = 0); + enum DigestVersion { + Md5, + Sha2_512, + Latest=Sha2_512 + }; + public slots: void connectToCore(); @@ -63,7 +70,7 @@ signals: #endif void encrypted(bool isEncrypted = true); - void startCoreSetup(const QVariantList &backendInfo); + void startCoreSetup(const QVariantList &backendInfo, const QVariantList &authBackendInfo); void coreSetupSuccessful(); void coreSetupFailed(const QString &error); @@ -82,6 +89,10 @@ private: 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); @@ -102,6 +113,7 @@ private: RemotePeer *_peer; bool _coreConfigured; QVariantList _backendInfo; + QVariantList _authBackendInfo; CoreAccount _account; bool _probing; bool _legacy;