X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoreidentity.cpp;h=b7cd6d09c34d737397bcaf511744dba66c7070fb;hp=a82ef95ebf82b11eb89837461c19ab75f3bd05fb;hb=0dbec2cfc937857d66a9645249f876f1e6b3f05e;hpb=1adc00219ba072da57994764d086beed8ffb7bb4 diff --git a/src/core/coreidentity.cpp b/src/core/coreidentity.cpp index a82ef95e..b7cd6d09 100644 --- a/src/core/coreidentity.cpp +++ b/src/core/coreidentity.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 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 * @@ -15,99 +15,128 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include "coreidentity.h" #include "signalproxy.h" +INIT_SYNCABLE_OBJECT(CoreIdentity) CoreIdentity::CoreIdentity(IdentityId id, QObject *parent) - : Identity(id, parent) + : Identity(id, parent) #ifdef HAVE_SSL - , _certManager(*this) + , _certManager(*this) #endif { #ifdef HAVE_SSL - connect(this, SIGNAL(idSet(IdentityId)), &_certManager, SLOT(setId(IdentityId))); + connect(this, SIGNAL(idSet(IdentityId)), &_certManager, SLOT(setId(IdentityId))); + connect(&_certManager, SIGNAL(updated()), this, SIGNAL(updated())); #endif } + CoreIdentity::CoreIdentity(const Identity &other, QObject *parent) - : Identity(other, parent) + : Identity(other, parent) #ifdef HAVE_SSL - , _certManager(*this) + , _certManager(*this) #endif { #ifdef HAVE_SSL - connect(this, SIGNAL(idSet(IdentityId)), &_certManager, SLOT(setId(IdentityId))); + connect(this, SIGNAL(idSet(IdentityId)), &_certManager, SLOT(setId(IdentityId))); + connect(&_certManager, SIGNAL(updated()), this, SIGNAL(updated())); #endif } + CoreIdentity::CoreIdentity(const CoreIdentity &other, QObject *parent) - : Identity(other, parent) + : Identity(other, parent) #ifdef HAVE_SSL - , _sslKey(other._sslKey), + , _sslKey(other._sslKey), _sslCert(other._sslCert), _certManager(*this) #endif { #ifdef HAVE_SSL - connect(this, SIGNAL(idSet(IdentityId)), &_certManager, SLOT(setId(IdentityId))); + connect(this, SIGNAL(idSet(IdentityId)), &_certManager, SLOT(setId(IdentityId))); + connect(&_certManager, SIGNAL(updated()), this, SIGNAL(updated())); #endif } -void CoreIdentity::synchronize(SignalProxy *proxy) { - proxy->synchronize(this); + +void CoreIdentity::synchronize(SignalProxy *proxy) +{ + proxy->synchronize(this); #ifdef HAVE_SSL - proxy->synchronize(&_certManager); + proxy->synchronize(&_certManager); #endif } + #ifdef HAVE_SSL -void CoreIdentity::setSslKey(const QByteArray &encoded) { - QSslKey key(encoded, QSsl::Rsa); - if(key.isNull()) - key = QSslKey(encoded, QSsl::Dsa); - setSslKey(key); +void CoreIdentity::setSslKey(const QByteArray &encoded) +{ + QSslKey key(encoded, QSsl::Rsa); +#if QT_VERSION >= 0x050500 + if (key.isNull()) + key = QSslKey(encoded, QSsl::Ec); +#endif + if (key.isNull()) + key = QSslKey(encoded, QSsl::Dsa); + setSslKey(key); } -void CoreIdentity::setSslCert(const QByteArray &encoded) { - setSslCert(QSslCertificate(encoded)); + +void CoreIdentity::setSslCert(const QByteArray &encoded) +{ + setSslCert(QSslCertificate(encoded)); } + + #endif -CoreIdentity &CoreIdentity::operator=(const CoreIdentity &identity) { - Identity::operator=(identity); +CoreIdentity &CoreIdentity::operator=(const CoreIdentity &identity) +{ + Identity::operator=(identity); #ifdef HAVE_SSL - _sslKey = identity._sslKey; - _sslCert = identity._sslCert; + _sslKey = identity._sslKey; + _sslCert = identity._sslCert; #endif - return *this; + return *this; } + #ifdef HAVE_SSL // ======================================== // CoreCertManager // ======================================== +INIT_SYNCABLE_OBJECT(CoreCertManager) CoreCertManager::CoreCertManager(CoreIdentity &identity) - : CertManager(identity.id()), + : CertManager(identity.id()), identity(identity) { - setAllowClientUpdates(true); + setAllowClientUpdates(true); } -void CoreCertManager::setId(IdentityId id) { - renameObject(QString::number(id.toInt())); + +void CoreCertManager::setId(IdentityId id) +{ + renameObject(QString::number(id.toInt())); } -void CoreCertManager::setSslKey(const QByteArray &encoded) { - identity.setSslKey(encoded); - CertManager::setSslKey(encoded); + +void CoreCertManager::setSslKey(const QByteArray &encoded) +{ + identity.setSslKey(encoded); + CertManager::setSslKey(encoded); } -void CoreCertManager::setSslCert(const QByteArray &encoded) { - identity.setSslCert(encoded); - CertManager::setSslCert(encoded); + +void CoreCertManager::setSslCert(const QByteArray &encoded) +{ + identity.setSslCert(encoded); + CertManager::setSslCert(encoded); } + + #endif //HAVE_SSL