/***************************************************************************
- * 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 *
#ifndef CLIENTAUTHHANDLER_H
#define CLIENTAUTHHANDLER_H
+#include "compressor.h"
#include "authhandler.h"
#include "coreaccount.h"
public:
ClientAuthHandler(CoreAccount account, QObject *parent = 0);
+ enum DigestVersion {
+ Md5,
+ Sha2_512,
+ Latest=Sha2_512
+ };
+
public slots:
void connectToCore();
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 onSocketError(QAbstractSocket::SocketError);
+ void onSocketDisconnected();
+ void onReadyRead();
+
#ifdef HAVE_SSL
void onSslSocketEncrypted();
void onSslErrors();
bool _coreConfigured;
QVariantList _backendInfo;
CoreAccount _account;
-
+ bool _probing;
+ bool _legacy;
+ quint8 _connectionFeatures;
};
#endif