X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.cpp;h=b43bbc29eaa65aaa83c9b785a861573e9b01efc8;hp=94854990ee05492669636b9153247d2e06bc9fbe;hb=f9a73e3ad8142212028a39b26ced62456e575b7a;hpb=ddeaf866099f56f42bf86b2bfc72a92763c733aa diff --git a/src/core/corenetwork.cpp b/src/core/corenetwork.cpp index 94854990..b43bbc29 100644 --- a/src/core/corenetwork.cpp +++ b/src/core/corenetwork.cpp @@ -77,6 +77,10 @@ CoreNetwork::CoreNetwork(const NetworkId &networkid, CoreSession *session) connect(&socket, SIGNAL(encrypted()), this, SLOT(socketInitialized())); connect(&socket, SIGNAL(sslErrors(const QList &)), this, SLOT(sslErrors(const QList &))); #endif + connect(this, SIGNAL(newEvent(Event *)), coreSession()->eventManager(), SLOT(postEvent(Event *))); + + if(Quassel::isOptionSet("oidentd")) + connect(this, SIGNAL(newSocket(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16)), Core::instance()->oidentdConfigGenerator(), SLOT(addSocket(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16))); } CoreNetwork::~CoreNetwork() { @@ -275,6 +279,9 @@ Cipher *CoreNetwork::cipher(const QString &target) const { if(target.isEmpty()) return 0; + if(!Cipher::neededFeaturesAvailable()) + return 0; + QByteArray key = cipherKey(target); if(key.isEmpty()) return 0; @@ -327,7 +334,7 @@ void CoreNetwork::socketHasData() { #else event->setTimestamp(QDateTime::currentDateTime().toUTC()); #endif - coreSession()->eventManager()->sendEvent(event); + emit newEvent(event); } } @@ -346,6 +353,7 @@ void CoreNetwork::socketError(QAbstractSocket::SocketError error) { } void CoreNetwork::socketInitialized() { +qDebug() << "connected()"; Server server = usedServer(); #ifdef HAVE_SSL if(server.useSsl && !socket.isEncrypted()) @@ -359,6 +367,8 @@ void CoreNetwork::socketInitialized() { return; } + emit newSocket(identity, localAddress(), localPort(), peerAddress(), peerPort()); + // TokenBucket to avoid sending too much at once _messageDelay = 2200; // this seems to be a safe value (2.2 seconds delay) _burstSize = 5;