X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclientauthhandler.h;h=9c9a522dc9281a8e6fc2ff9e3e19b1cf75c3b455;hb=73f9fcde56bcf4d55b73eb88a8d6cf8dc9f9f814;hp=4b4e088b7f80c5cc44f3f62f4682780c3101e5b8;hpb=9d54503555534a2c554f09a33df6afa33d6308ec;p=quassel.git diff --git a/src/client/clientauthhandler.h b/src/client/clientauthhandler.h index 4b4e088b..9c9a522d 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(); @@ -78,10 +85,21 @@ private: void handle(const Protocol::LoginSuccess &msg); void handle(const Protocol::SessionState &msg); + 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 onSocketStateChanged(QAbstractSocket::SocketState state); + void onSocketError(QAbstractSocket::SocketError); + void onSocketDisconnected(); + void onReadyRead(); + #ifdef HAVE_SSL void onSslSocketEncrypted(); void onSslErrors(); @@ -96,7 +114,9 @@ private: bool _coreConfigured; QVariantList _backendInfo; CoreAccount _account; - + bool _probing; + bool _legacy; + quint8 _connectionFeatures; }; #endif