mirror of
https://github.com/znc/znc.git
synced 2026-08-02 15:03:16 +02:00
modules/sasl, modules/route_replies: interpret messages as intended even if they have prefix tags
This commit is contained in:
+14
-9
@@ -212,17 +212,23 @@ class CSASLMod : public CModule {
|
||||
}
|
||||
}
|
||||
|
||||
EModRet OnRaw(CString& sLine) override {
|
||||
if (sLine.Token(0).Equals("AUTHENTICATE")) {
|
||||
Authenticate(sLine.Token(1, true));
|
||||
} else if (sLine.Token(1).Equals("903")) {
|
||||
EModRet OnRawMessage(CMessage& msg) override {
|
||||
if (msg.GetCommand().Equals("AUTHENTICATE")) {
|
||||
Authenticate(msg.GetParam(0));
|
||||
return HALT;
|
||||
}
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnNumericMessage(CNumericMessage& msg) override {
|
||||
if (msg.GetCode() == 903) {
|
||||
/* SASL success! */
|
||||
GetNetwork()->GetIRCSock()->ResumeCap();
|
||||
m_bAuthenticated = true;
|
||||
DEBUG("sasl: Authenticated with mechanism ["
|
||||
<< m_Mechanisms.GetCurrent() << "]");
|
||||
} else if (sLine.Token(1).Equals("904") ||
|
||||
sLine.Token(1).Equals("905")) {
|
||||
} else if (msg.GetCode() == 904 ||
|
||||
msg.GetCode() == 905) {
|
||||
DEBUG("sasl: Mechanism [" << m_Mechanisms.GetCurrent()
|
||||
<< "] failed.");
|
||||
PutModule(m_Mechanisms.GetCurrent() + " mechanism failed.");
|
||||
@@ -234,18 +240,17 @@ class CSASLMod : public CModule {
|
||||
CheckRequireAuth();
|
||||
GetNetwork()->GetIRCSock()->ResumeCap();
|
||||
}
|
||||
} else if (sLine.Token(1).Equals("906")) {
|
||||
} else if (msg.GetCode() == 906) {
|
||||
/* CAP wasn't paused? */
|
||||
DEBUG("sasl: Reached 906.");
|
||||
CheckRequireAuth();
|
||||
} else if (sLine.Token(1).Equals("907")) {
|
||||
} else if (msg.GetCode() == 907) {
|
||||
m_bAuthenticated = true;
|
||||
GetNetwork()->GetIRCSock()->ResumeCap();
|
||||
DEBUG("sasl: Received 907 -- We are already registered");
|
||||
} else {
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
return HALT;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user