X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.cpp;h=23125bbc9ea6b27bc58082515094c05a1a2a9019;hp=d18ddca5878c7675f4b85b43a4a4cd15253339ce;hb=160492494676f09b7836badc165727a538f03ece;hpb=88b350153eb364853e75d237d3eed2dfaf839d59 diff --git a/src/core/corenetwork.cpp b/src/core/corenetwork.cpp index d18ddca5..23125bbc 100644 --- a/src/core/corenetwork.cpp +++ b/src/core/corenetwork.cpp @@ -78,6 +78,11 @@ CoreNetwork::CoreNetwork(const NetworkId &networkid, CoreSession *session) 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(socketInitialized(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16)), Core::instance()->oidentdConfigGenerator(), SLOT(addSocket(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16))); + connect(this, SIGNAL(socketDisconnected(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16)), Core::instance()->oidentdConfigGenerator(), SLOT(removeSocket(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16))); + } } CoreNetwork::~CoreNetwork() { @@ -363,6 +368,8 @@ void CoreNetwork::socketInitialized() { return; } + emit socketInitialized(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; @@ -407,6 +414,7 @@ void CoreNetwork::socketDisconnected() { setConnected(false); emit disconnected(networkId()); + emit socketDisconnected(identityPtr(), localAddress(), localPort(), peerAddress(), peerPort()); if(_quitRequested) { _quitRequested = false; setConnectionState(Network::Disconnected);