mirror of
https://github.com/znc/znc.git
synced 2026-05-05 04:52:31 +02:00
CTCP sent to *status shouldn't reach server
This commit is contained in:
@@ -1175,6 +1175,11 @@ bool CClient::OnActionMessage(CActionMessage& Message) {
|
||||
this, &bContinue);
|
||||
if (bContinue) continue;
|
||||
|
||||
if (sTarget.TrimPrefix(m_pUser->GetStatusPrefix())) {
|
||||
EchoMessage(Message);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (m_pNetwork) {
|
||||
AddBuffer(Message);
|
||||
EchoMessage(Message);
|
||||
@@ -1385,6 +1390,10 @@ bool CClient::OnCTCPMessage(CCTCPMessage& Message) {
|
||||
}
|
||||
if (bContinue) continue;
|
||||
|
||||
if (sTarget.TrimPrefix(m_pUser->GetStatusPrefix())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!GetIRCSock()) {
|
||||
// Some lagmeters do a NOTICE to their own nick, ignore those.
|
||||
if (!sTarget.Equals(m_sNick))
|
||||
@@ -1610,16 +1619,16 @@ bool CClient::OnTagMessage(CTargetMessage& Message) {
|
||||
Message.SetChan(m_pNetwork->FindChan(sTarget));
|
||||
}
|
||||
|
||||
if (sTarget.TrimPrefix(m_pUser->GetStatusPrefix())) {
|
||||
EchoMessage(Message);
|
||||
continue;
|
||||
}
|
||||
|
||||
bool bContinue = false;
|
||||
NETWORKMODULECALL(OnUserTagMessage(Message), m_pUser, m_pNetwork,
|
||||
this, &bContinue);
|
||||
if (bContinue) continue;
|
||||
|
||||
if (sTarget.TrimPrefix(m_pUser->GetStatusPrefix())) {
|
||||
EchoMessage(Message);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (m_pNetwork) {
|
||||
AddBuffer(Message);
|
||||
EchoMessage(Message);
|
||||
|
||||
@@ -1029,5 +1029,16 @@ TEST_F(ZNCTest, TagMsg) {
|
||||
client.ReadUntil("@bar TAGMSG #bar");
|
||||
}
|
||||
|
||||
TEST_F(ZNCTest, StatusAction) {
|
||||
auto znc = Run();
|
||||
auto ircd = ConnectIRCd();
|
||||
auto client = LoginClient();
|
||||
ircd.Write("001 nick Welcome");
|
||||
|
||||
client.Write("PRIVMSG *status :\1ACTION waves\1");
|
||||
client.Write("PRIVMSG *status :\1VERSION\1");
|
||||
ASSERT_THAT(ircd.ReadRemainder().toStdString(), Not(HasSubstr("PRIVMSG")));
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace znc_inttest
|
||||
|
||||
Reference in New Issue
Block a user