mirror of
https://github.com/znc/znc.git
synced 2026-08-11 19:32:46 +02:00
merge rev 936, 939-943 from psychon branch:
- if a client connected before znc connected to irc and if it uses a wrong nick it wasnt informed of this -> fixed - znc.cpp didnt work with --disable-modules - some stuff which was already merged previously git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@800 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
+2
-2
@@ -1564,10 +1564,10 @@ void CClient::PutModule(const CString& sModule, const CString& sLine) {
|
||||
Write(":" + m_pUser->GetStatusPrefix() + ((sModule.empty()) ? "status" : sModule) + "!znc@znc.com PRIVMSG " + GetNick() + " :" + sLine + "\r\n");
|
||||
}
|
||||
|
||||
CString CClient::GetNick() const {
|
||||
CString CClient::GetNick(bool bAllowIRCNick) const {
|
||||
CString sRet;
|
||||
|
||||
if ((m_bAuthed) && (m_pIRCSock)) {
|
||||
if ((bAllowIRCNick) && (m_bAuthed) && (m_pIRCSock)) {
|
||||
sRet = m_pIRCSock->GetNick();
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
void AcceptLogin(CUser& User);
|
||||
void RefuseLogin(const CString& sReason);
|
||||
|
||||
CString GetNick() const;
|
||||
CString GetNick(bool bAllowIRCNick = true) const;
|
||||
CString GetNickMask() const;
|
||||
bool HasNamesx() const { return m_bNamesx; }
|
||||
bool HasUHNames() const { return m_bUHNames; }
|
||||
|
||||
+5
-5
@@ -92,10 +92,6 @@ void CIRCSock::ReadLine(const CString& sData) {
|
||||
SetTimeout(900); // Now that we are connected, let nature take its course
|
||||
PutIRC("WHO " + sNick);
|
||||
|
||||
SetNick(sNick);
|
||||
|
||||
MODULECALL(OnIRCConnected(), m_pUser, NULL, );
|
||||
|
||||
m_bAuthed = true;
|
||||
m_pUser->PutStatus("Connected!");
|
||||
|
||||
@@ -103,7 +99,7 @@ void CIRCSock::ReadLine(const CString& sData) {
|
||||
|
||||
for (unsigned int a = 0; a < vClients.size(); a++) {
|
||||
CClient* pClient = vClients[a];
|
||||
CString sClientNick = pClient->GetNick();
|
||||
CString sClientNick = pClient->GetNick(false);
|
||||
|
||||
if (sClientNick.CaseCmp(sNick) != 0) {
|
||||
// If they connected with a nick that doesn't match the one we got on irc, then we need to update them
|
||||
@@ -111,6 +107,10 @@ void CIRCSock::ReadLine(const CString& sData) {
|
||||
}
|
||||
}
|
||||
|
||||
SetNick(sNick);
|
||||
|
||||
MODULECALL(OnIRCConnected(), m_pUser, NULL, );
|
||||
|
||||
m_pUser->ClearRawBuffer();
|
||||
m_pUser->AddRawBuffer(":" + sServer + " " + sCmd + " ", " " + sRest);
|
||||
|
||||
|
||||
+1
-1
@@ -148,7 +148,7 @@ if test "$MODULES" = "yes"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
VERSION=`grep '#define VERSION' main.h | awk '{print $3}'`
|
||||
VERSION=`grep '#define VERSION' main.h | awk '{print $3}' | head -n 1`
|
||||
#
|
||||
# Auto detect modules
|
||||
|
||||
|
||||
Reference in New Issue
Block a user