aboutsummaryrefslogtreecommitdiff
path: root/modules/spanningtree
diff options
context:
space:
mode:
authorGravatar Sadie Powell2026-03-08 17:01:22 +0000
committerGravatar Sadie Powell2026-03-08 17:47:44 +0000
commitbb1e5a7b60ea200ddae99f263a38a219879f9617 (patch)
treea5cecddf75a3458447d09ca1fa2f859c4486ddec /modules/spanningtree
parentRemove the unused remote user finding methods. (diff)
Replace IS_* with member functions.
- All user types get an Is* function. - Only local users are cast using the old function so only local users get an As* function.
Diffstat (limited to 'modules/spanningtree')
-rw-r--r--modules/spanningtree/fmode.cpp4
-rw-r--r--modules/spanningtree/idle.cpp2
-rw-r--r--modules/spanningtree/main.cpp44
-rw-r--r--modules/spanningtree/num.cpp2
-rw-r--r--modules/spanningtree/override_whois.cpp2
-rw-r--r--modules/spanningtree/postcommand.cpp2
-rw-r--r--modules/spanningtree/rconnect.cpp2
-rw-r--r--modules/spanningtree/reply.cpp2
-rw-r--r--modules/spanningtree/servercommand.h8
-rw-r--r--modules/spanningtree/tags.cpp2
-rw-r--r--modules/spanningtree/utils.cpp2
11 files changed, 37 insertions, 35 deletions
diff --git a/modules/spanningtree/fmode.cpp b/modules/spanningtree/fmode.cpp
index 931a9c7c9..3a2e40c59 100644
--- a/modules/spanningtree/fmode.cpp
+++ b/modules/spanningtree/fmode.cpp
@@ -50,7 +50,7 @@ CmdResult CommandFMode::Handle(User* who, Params& params)
ServerInstance->Modes.ModeParamsToChangeList(who, MODETYPE_CHANNEL, params, changelist, 2);
ModeParser::ModeProcessFlag flags = ModeParser::MODE_LOCALONLY;
- if ((TS == ourTS) && IS_SERVER(who))
+ if ((TS == ourTS) && who->IsServer())
flags |= ModeParser::MODE_MERGE;
ServerInstance->Modes.Process(who, chan, nullptr, changelist, flags);
@@ -93,7 +93,7 @@ CmdResult CommandLMode::Handle(User* who, Params& params)
}
ModeParser::ModeProcessFlag flags = ModeParser::MODE_LOCALONLY;
- if (chants == chan->age && IS_SERVER(who))
+ if (chants == chan->age && who->IsServer())
flags |= ModeParser::MODE_MERGE;
ServerInstance->Modes.Process(who, chan, nullptr, changelist, flags);
diff --git a/modules/spanningtree/idle.cpp b/modules/spanningtree/idle.cpp
index 838d09045..0510f6054 100644
--- a/modules/spanningtree/idle.cpp
+++ b/modules/spanningtree/idle.cpp
@@ -43,7 +43,7 @@ CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, Params& params)
if (!target)
return CmdResult::FAILURE;
- LocalUser* localtarget = IS_LOCAL(target);
+ auto* localtarget = target->AsLocal();
if (!localtarget)
{
// Forward to target's server
diff --git a/modules/spanningtree/main.cpp b/modules/spanningtree/main.cpp
index 09793c7a2..91551e75e 100644
--- a/modules/spanningtree/main.cpp
+++ b/modules/spanningtree/main.cpp
@@ -383,7 +383,7 @@ ModResult ModuleSpanningTree::HandleConnect(const CommandBase::Params& parameter
void ModuleSpanningTree::OnUserInvite(User* source, User* dest, Channel* channel, time_t expiry, ModeHandler::Rank notifyrank, CUList& notifyexcepts)
{
- if (IS_LOCAL(source))
+ if (source->IsLocal())
{
CmdBuilder params(source, "INVITE");
params.push(dest->uuid);
@@ -409,7 +409,7 @@ ModResult ModuleSpanningTree::OnPreTopicChange(User* user, Channel* chan, const
void ModuleSpanningTree::OnPostTopicChange(User* user, Channel* chan, const std::string& topic)
{
// Drop remote events on the floor.
- if (!IS_LOCAL(user))
+ if (!user->IsLocal())
return;
CommandFTopic::Builder(user, chan).Broadcast();
@@ -417,7 +417,7 @@ void ModuleSpanningTree::OnPostTopicChange(User* user, Channel* chan, const std:
void ModuleSpanningTree::OnUserPostMessage(User* user, const MessageTarget& target, const MessageDetails& details)
{
- if (!IS_LOCAL(user))
+ if (!user->IsLocal())
return;
const char* message_type = (details.type == MessageType::PRIVMSG ? "PRIVMSG" : "NOTICE");
@@ -426,7 +426,7 @@ void ModuleSpanningTree::OnUserPostMessage(User* user, const MessageTarget& targ
case MessageTarget::TYPE_USER:
{
auto* d = target.Get<User>();
- if (!IS_LOCAL(d))
+ if (!d->IsLocal())
{
CmdBuilder params(user, message_type);
params.push_tags(details.tags_out);
@@ -456,7 +456,7 @@ void ModuleSpanningTree::OnUserPostMessage(User* user, const MessageTarget& targ
void ModuleSpanningTree::OnUserPostTagMessage(User* user, const MessageTarget& target, const CTCTags::TagMessageDetails& details)
{
- if (!IS_LOCAL(user))
+ if (!user->IsLocal())
return;
switch (target.type)
@@ -464,7 +464,7 @@ void ModuleSpanningTree::OnUserPostTagMessage(User* user, const MessageTarget& t
case MessageTarget::TYPE_USER:
{
auto* d = target.Get<User>();
- if (!IS_LOCAL(d))
+ if (!d->IsLocal())
{
CmdBuilder params(user, "TAGMSG");
params.push_tags(details.tags_out);
@@ -532,7 +532,7 @@ void ModuleSpanningTree::OnUserConnect(LocalUser* user)
void ModuleSpanningTree::OnUserJoin(Membership* memb, bool sync, bool created_by_local, CUList& excepts)
{
// Only do this for local users
- if (!IS_LOCAL(memb->user))
+ if (!memb->user->IsLocal())
return;
// Assign the current membership id to the new Membership and increase it
@@ -563,7 +563,7 @@ void ModuleSpanningTree::OnUserJoin(Membership* memb, bool sync, bool created_by
void ModuleSpanningTree::OnChangeHost(User* user, const std::string& newhost)
{
- if (!user->IsFullyConnected() || !IS_LOCAL(user))
+ if (!user->IsFullyConnected() || !user->IsLocal())
return;
CmdBuilder(user, "FHOST").push(newhost).push('*').Broadcast();
@@ -571,7 +571,7 @@ void ModuleSpanningTree::OnChangeHost(User* user, const std::string& newhost)
void ModuleSpanningTree::OnChangeRealHost(User* user, const std::string& newhost)
{
- if (!user->IsFullyConnected() || !IS_LOCAL(user))
+ if (!user->IsFullyConnected() || !user->IsLocal())
return;
CmdBuilder(user, "FHOST").push('*').push(newhost).Broadcast();
@@ -579,7 +579,7 @@ void ModuleSpanningTree::OnChangeRealHost(User* user, const std::string& newhost
void ModuleSpanningTree::OnChangeRealName(User* user, const std::string& real)
{
- if (!user->IsFullyConnected() || !IS_LOCAL(user))
+ if (!user->IsFullyConnected() || !user->IsLocal())
return;
CmdBuilder(user, "FNAME").push_last(real).Broadcast();
@@ -587,7 +587,7 @@ void ModuleSpanningTree::OnChangeRealName(User* user, const std::string& real)
void ModuleSpanningTree::OnChangeUser(User* user, const std::string& newuser)
{
- if (!user->IsFullyConnected() || !IS_LOCAL(user))
+ if (!user->IsFullyConnected() || !user->IsLocal())
return;
CmdBuilder(user, "FIDENT").push(newuser).push("*").Broadcast();
@@ -595,7 +595,7 @@ void ModuleSpanningTree::OnChangeUser(User* user, const std::string& newuser)
void ModuleSpanningTree::OnChangeRealUser(User* user, const std::string& newuser)
{
- if (!user->IsFullyConnected() || !IS_LOCAL(user))
+ if (!user->IsFullyConnected() || !user->IsLocal())
return;
CmdBuilder(user, "FIDENT").push("*").push(newuser).Broadcast();
@@ -603,7 +603,7 @@ void ModuleSpanningTree::OnChangeRealUser(User* user, const std::string& newuser
void ModuleSpanningTree::OnUserPart(Membership* memb, std::string& partmessage, CUList& excepts)
{
- if (IS_LOCAL(memb->user))
+ if (memb->user->IsLocal())
{
CmdBuilder params(memb->user, "PART");
params.push(memb->chan->name);
@@ -615,7 +615,7 @@ void ModuleSpanningTree::OnUserPart(Membership* memb, std::string& partmessage,
void ModuleSpanningTree::OnUserQuit(User* user, const std::string& reason, const std::string& oper_message)
{
- if (IS_LOCAL(user))
+ if (user->IsLocal())
{
if (oper_message != reason)
ServerInstance->PI->SendMetadata(user, "operquit", oper_message);
@@ -642,7 +642,7 @@ void ModuleSpanningTree::OnUserQuit(User* user, const std::string& reason, const
void ModuleSpanningTree::OnUserPostNick(User* user, const std::string& oldnick)
{
- if (IS_LOCAL(user))
+ if (user->IsLocal())
{
// The nick TS is updated by the core, we don't do it
CmdBuilder params(user, "NICK");
@@ -658,14 +658,14 @@ void ModuleSpanningTree::OnUserPostNick(User* user, const std::string& oldnick)
void ModuleSpanningTree::OnUserKick(User* source, Membership* memb, const std::string& reason, CUList& excepts)
{
- if ((!IS_LOCAL(source)) && (source != ServerInstance->FakeClient))
+ if ((!source->IsLocal()) && (source != ServerInstance->FakeClient))
return;
CmdBuilder params(source, "KICK");
params.push(memb->chan->name);
params.push(memb->user->uuid);
// If a remote user is being kicked by us then send the membership id in the kick too
- if (!IS_LOCAL(memb->user))
+ if (!memb->user->IsLocal())
params.push_int(memb->id);
params.push_last(reason);
params.Broadcast();
@@ -716,7 +716,7 @@ void ModuleSpanningTree::ReadConfig(ConfigStatus& status)
std::string msg = "Error in configuration: ";
msg.append(e.GetReason());
ServerInstance->SNO.WriteToSnoMask('l', msg);
- if (status.srcuser && !IS_LOCAL(status.srcuser))
+ if (status.srcuser && !status.srcuser->IsLocal())
ServerInstance->PI->SendSNONotice('L', msg);
}
}
@@ -786,7 +786,7 @@ restart:
void ModuleSpanningTree::OnOperLogin(User* user, const std::shared_ptr<OperAccount>& oper, bool automatic)
{
- if (!user->IsFullyConnected() || !IS_LOCAL(user))
+ if (!user->IsFullyConnected() || !user->IsLocal())
return;
// Note: The protocol does not allow direct umode +o;
@@ -796,7 +796,7 @@ void ModuleSpanningTree::OnOperLogin(User* user, const std::shared_ptr<OperAccou
void ModuleSpanningTree::OnAddLine(User* user, XLine* x)
{
- if (!x->IsBurstable() || loopCall || (user && !IS_LOCAL(user)))
+ if (!x->IsBurstable() || loopCall || (user && !user->IsLocal()))
return;
if (!user)
@@ -807,7 +807,7 @@ void ModuleSpanningTree::OnAddLine(User* user, XLine* x)
void ModuleSpanningTree::OnDelLine(User* user, XLine* x)
{
- if (!x->IsBurstable() || loopCall || (user && !IS_LOCAL(user)))
+ if (!x->IsBurstable() || loopCall || (user && !user->IsLocal()))
return;
if (!user)
@@ -821,7 +821,7 @@ void ModuleSpanningTree::OnDelLine(User* user, XLine* x)
void ModuleSpanningTree::OnUserAway(User* user, const std::optional<AwayState>& prevstate)
{
- if (IS_LOCAL(user) && user->IsFullyConnected())
+ if (user->IsLocal() && user->IsFullyConnected())
CommandAway::Builder(user).Broadcast();
}
diff --git a/modules/spanningtree/num.cpp b/modules/spanningtree/num.cpp
index 595bc89ac..64cc0f62e 100644
--- a/modules/spanningtree/num.cpp
+++ b/modules/spanningtree/num.cpp
@@ -30,7 +30,7 @@ CmdResult CommandNum::HandleServer(TreeServer* server, CommandBase::Params& para
if (!target)
return CmdResult::FAILURE;
- LocalUser* const localtarget = IS_LOCAL(target);
+ auto* const localtarget = target->AsLocal();
if (!localtarget)
return CmdResult::SUCCESS;
diff --git a/modules/spanningtree/override_whois.cpp b/modules/spanningtree/override_whois.cpp
index 0e1ee727d..dfdb987eb 100644
--- a/modules/spanningtree/override_whois.cpp
+++ b/modules/spanningtree/override_whois.cpp
@@ -31,7 +31,7 @@
ModResult ModuleSpanningTree::HandleRemoteWhois(const CommandBase::Params& parameters, User* user)
{
auto* remote = ServerInstance->Users.FindNick(parameters[1]);
- if (remote && !IS_LOCAL(remote))
+ if (remote && !remote->IsLocal())
{
CmdBuilder(user, "IDLE").push(remote->uuid).Unicast(remote);
return MOD_RES_DENY;
diff --git a/modules/spanningtree/postcommand.cpp b/modules/spanningtree/postcommand.cpp
index fbb0ecc3c..1f9e20a55 100644
--- a/modules/spanningtree/postcommand.cpp
+++ b/modules/spanningtree/postcommand.cpp
@@ -115,7 +115,7 @@ void SpanningTreeUtilities::RouteCommand(TreeServer* origin, CommandBase* thiscm
{
// user target?
auto* d = ServerInstance->Users.Find(dest);
- if (!d || IS_LOCAL(d))
+ if (!d || d->IsLocal())
return;
TreeServer* tsd = TreeServer::Get(d)->GetRoute();
if (tsd == origin)
diff --git a/modules/spanningtree/rconnect.cpp b/modules/spanningtree/rconnect.cpp
index d787173d9..6ccdcf206 100644
--- a/modules/spanningtree/rconnect.cpp
+++ b/modules/spanningtree/rconnect.cpp
@@ -67,7 +67,7 @@ CmdResult CommandRConnect::Handle(User* user, const Params& parameters)
* for those conditions here, as ModuleSpanningTree::HandleConnect() (which will run
* on the target) does all the checking and error reporting.
*/
- if (IS_LOCAL(user))
+ if (user->IsLocal())
{
user->WriteNotice("*** RCONNECT: Sending remote connect to \002 " + parameters[0] + "\002 to connect server \002" + parameters[1] + "\002.");
}
diff --git a/modules/spanningtree/reply.cpp b/modules/spanningtree/reply.cpp
index 4a407296e..095dc0eeb 100644
--- a/modules/spanningtree/reply.cpp
+++ b/modules/spanningtree/reply.cpp
@@ -30,7 +30,7 @@ CmdResult CommandReply::HandleServer(TreeServer* server, CommandBase::Params& pa
if (!target)
return CmdResult::FAILURE; // User has gone.
- auto* ltarget = IS_LOCAL(target);
+ auto* ltarget = target->AsLocal();
if (!ltarget)
return CmdResult::SUCCESS; // Not for us.
diff --git a/modules/spanningtree/servercommand.h b/modules/spanningtree/servercommand.h
index af1761cb0..e4e2062cf 100644
--- a/modules/spanningtree/servercommand.h
+++ b/modules/spanningtree/servercommand.h
@@ -71,9 +71,10 @@ public:
CmdResult Handle(User* user, Params& parameters) override
{
- RemoteUser* remoteuser = IS_REMOTE(user);
- if (!remoteuser)
+ if (!user->IsRemote())
throw ProtocolException("Invalid source");
+
+ auto* remoteuser = static_cast<RemoteUser*>(user);
return static_cast<T*>(this)->HandleRemote(remoteuser, parameters);
}
};
@@ -91,8 +92,9 @@ public:
CmdResult Handle(User* user, CommandBase::Params& parameters) override
{
- if (!IS_SERVER(user))
+ if (!user->IsServer())
throw ProtocolException("Invalid source");
+
TreeServer* server = TreeServer::Get(user);
return static_cast<T*>(this)->HandleServer(server, parameters);
}
diff --git a/modules/spanningtree/tags.cpp b/modules/spanningtree/tags.cpp
index 9b4077a98..ce13ca4ea 100644
--- a/modules/spanningtree/tags.cpp
+++ b/modules/spanningtree/tags.cpp
@@ -30,7 +30,7 @@ ModResult ServerTags::OnProcessTag(User* user, const std::string& tagname, std::
return MOD_RES_PASSTHRU;
// Only allow tags from remote users.
- return IS_LOCAL(user) ? MOD_RES_DENY : MOD_RES_ALLOW;
+ return user->IsLocal() ? MOD_RES_DENY : MOD_RES_ALLOW;
}
bool ServerTags::ShouldSendTag(LocalUser* user, const ClientProtocol::MessageTagData& tagdata)
diff --git a/modules/spanningtree/utils.cpp b/modules/spanningtree/utils.cpp
index 240d5a3ee..6254c0a41 100644
--- a/modules/spanningtree/utils.cpp
+++ b/modules/spanningtree/utils.cpp
@@ -150,7 +150,7 @@ void SpanningTreeUtilities::GetListOfServersForChannel(const Channel* c, TreeSoc
TreeServer::ChildServers children = TreeRoot->GetChildren();
for (const auto& [user, memb] : c->GetUsers())
{
- if (IS_LOCAL(user))
+ if (user->IsLocal())
continue;
if (minrank && memb->GetRank() < minrank)