Add CIRCNetwork which now hold each IRC Connection.

This allows a user to have multiple networks.

A user can login as a network by supplying PASS [user[/network]:]pass or
USER user[/network] on connect. A user can also switch between networks
by using /msg *status JumpNetwork <network>
This commit is contained in:
Kyle Fuller
2011-08-24 13:52:34 +01:00
parent 88033a5b3e
commit fec1a3fe91
9 changed files with 1204 additions and 662 deletions
+2 -2
View File
@@ -55,11 +55,11 @@ bool CRealListener::ConnectionFrom(const CString& sHost, unsigned short uPort) {
Csock* CRealListener::GetSockObj(const CString& sHost, unsigned short uPort) {
CIncomingConnection *pClient = new CIncomingConnection(sHost, uPort, m_pParent->GetAcceptType());
if (CZNC::Get().AllowConnectionFrom(sHost)) {
GLOBALMODULECALL(OnClientConnect(pClient, sHost, uPort), NULL, NULL, NOTHING);
GLOBALMODULECALL(OnClientConnect(pClient, sHost, uPort), NULL, NULL, NULL, NOTHING);
} else {
pClient->Write(":irc.znc.in 464 unknown-nick :Too many anonymous connections from your IP\r\n");
pClient->Close(Csock::CLT_AFTERWRITE);
GLOBALMODULECALL(OnFailedLogin("", sHost), NULL, NULL, NOTHING);
GLOBALMODULECALL(OnFailedLogin("", sHost), NULL, NULL, NULL, NOTHING);
}
return pClient;
}