X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclient%2Fclientidentity.cpp;h=8e561688b11104a02375df7bef72b2bcb2e51da8;hb=8f2ee00f4edef1693628d3af0bdee84d725eb754;hp=162fa4d7e27029fd216e6f35fae53be36765699a;hpb=9d54503555534a2c554f09a33df6afa33d6308ec;p=quassel.git diff --git a/src/client/clientidentity.cpp b/src/client/clientidentity.cpp index 162fa4d7..8e561688 100644 --- a/src/client/clientidentity.cpp +++ b/src/client/clientidentity.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -23,23 +23,14 @@ #include "client.h" #include "signalproxy.h" -INIT_SYNCABLE_OBJECT(CertIdentity) CertIdentity::CertIdentity(IdentityId id, QObject *parent) : Identity(id, parent) -#ifdef HAVE_SSL - , _certManager(0), - _isDirty(false) -#endif { } CertIdentity::CertIdentity(const Identity &other, QObject *parent) : Identity(other, parent) -#ifdef HAVE_SSL - , _certManager(0), - _isDirty(false) -#endif { } @@ -47,10 +38,9 @@ CertIdentity::CertIdentity(const Identity &other, QObject *parent) CertIdentity::CertIdentity(const CertIdentity &other, QObject *parent) : Identity(other, parent) #ifdef HAVE_SSL - , _certManager(0), - _isDirty(other._isDirty), - _sslKey(other._sslKey), - _sslCert(other._sslCert) + , _isDirty(other._isDirty) + , _sslKey(other._sslKey) + , _sslCert(other._sslCert) #endif { } @@ -65,8 +55,8 @@ void CertIdentity::enableEditSsl(bool enable) _certManager = new ClientCertManager(id(), this); if (isValid()) { // this means we are not a newly created Identity but have a proper Id Client::signalProxy()->synchronize(_certManager); - connect(_certManager, SIGNAL(updated()), this, SLOT(markClean())); - connect(_certManager, SIGNAL(initDone()), this, SLOT(markClean())); + connect(_certManager, &SyncableObject::updated, this, &CertIdentity::markClean); + connect(_certManager, &SyncableObject::initDone, this, &CertIdentity::markClean); } } @@ -111,6 +101,8 @@ void CertIdentity::markClean() void ClientCertManager::setSslKey(const QByteArray &encoded) { QSslKey key(encoded, QSsl::Rsa); + if (key.isNull() && Client::isCoreFeatureEnabled(Quassel::Feature::EcdsaCertfpKeys)) + key = QSslKey(encoded, QSsl::Ec); if (key.isNull()) key = QSslKey(encoded, QSsl::Dsa); _certIdentity->setSslKey(key); @@ -122,5 +114,4 @@ void ClientCertManager::setSslCert(const QByteArray &encoded) _certIdentity->setSslCert(QSslCertificate(encoded)); } - #endif // HAVE_SSL