1
0
mirror of https://github.com/anope/anope.git synced 2026-07-02 15:33:13 +02:00

Add/fix various checks on source user existing in the protocol modules

This commit is contained in:
Adam
2016-07-23 15:47:33 -04:00
parent b2e25db159
commit 647f8cd4e6
5 changed files with 26 additions and 6 deletions
+6 -1
View File
@@ -386,7 +386,12 @@ struct IRCDMessageNick : IRCDMessage
User::OnIntroduce(params[0], params[4], params[5], "", params[8], s, params[9], signon, params[3], "", na ? *na->nc : NULL);
}
else
source.GetUser()->ChangeNick(params[0]);
{
User *u = source.GetUser();
if (u)
u->ChangeNick(params[0]);
}
}
};
+5 -1
View File
@@ -195,7 +195,11 @@ class CharybdisProto : public IRCDProto
struct IRCDMessageEncap : IRCDMessage
{
IRCDMessageEncap(Module *creator) : IRCDMessage(creator, "ENCAP", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT);}
IRCDMessageEncap(Module *creator) : IRCDMessage(creator, "ENCAP", 3)
{
SetFlag(IRCDMESSAGE_SOFT_LIMIT);
SetFlag(IRCDMESSAGE_REQUIRE_USER);
}
void Run(MessageSource &source, const std::vector<Anope::string> &params) anope_override
{
+5 -2
View File
@@ -280,7 +280,7 @@ struct IRCDMessageChaninfo : IRCDMessage
struct IRCDMessageJoin : Message::Join
{
IRCDMessageJoin(Module *creator) : Message::Join(creator, "JOIN") { }
IRCDMessageJoin(Module *creator) : Message::Join(creator, "JOIN") { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
/*
* <@po||ux> DukeP: RFC 2813, 4.2.1: the JOIN command on server-server links
@@ -440,8 +440,11 @@ struct IRCDMessageNick : IRCDMessage
{
if (params.size() == 1)
{
User *u = source.GetUser();
// we have a nickchange
source.GetUser()->ChangeNick(params[0]);
if (u)
u->ChangeNick(params[0]);
}
else if (params.size() == 7)
{
+5 -1
View File
@@ -929,7 +929,11 @@ struct IRCDMessageNick : IRCDMessage
User::OnIntroduce(params[0], params[3], params[4], vhost, ip, s, params[10], user_ts, params[7], "", na ? *na->nc : NULL);
}
else
source.GetUser()->ChangeNick(params[0]);
{
User *u = source.GetUser();
if (u)
u->ChangeNick(params[0]);
}
}
};
+5 -1
View File
@@ -966,7 +966,11 @@ struct IRCDMessageNick : IRCDMessage
User::OnIntroduce(params[0], params[3], params[4], vhost, ip, s, params[10], user_ts, params[7], "", na ? *na->nc : NULL);
}
else
source.GetUser()->ChangeNick(params[0]);
{
User *u = source.GetUser();
if (u)
u->ChangeNick(params[0]);
}
}
};