summaryrefslogtreecommitdiff
path: root/modules/protocol/inspircd12.cpp
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2022-12-31 21:55:05 +0000
committerSadie Powell <sadie@witchery.services>2022-12-31 21:55:05 +0000
commitb64dc09bd2c717222ba90f6f5950b2ee3a26a9ea (patch)
tree501e46df860297691aaded0fca7619c4ac444251 /modules/protocol/inspircd12.cpp
parentfee60c8e064815847662bfce9c421fc9ad7109a0 (diff)
Fix marking services pseudoclients as an oper on InspIRCd.
The bot user needs to be marked as introduced in order to send an oper type.
Diffstat (limited to 'modules/protocol/inspircd12.cpp')
-rw-r--r--modules/protocol/inspircd12.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp
index 60b46e70f..96117e8e8 100644
--- a/modules/protocol/inspircd12.cpp
+++ b/modules/protocol/inspircd12.cpp
@@ -246,8 +246,16 @@ class InspIRCd12Proto : public IRCDProto
{
Anope::string modes = "+" + u->GetModes();
UplinkSocket::Message(Me) << "UID " << u->GetUID() << " " << u->timestamp << " " << u->nick << " " << u->host << " " << u->host << " " << u->GetIdent() << " 0.0.0.0 " << u->timestamp << " " << modes << " :" << u->realname;
+
if (modes.find('o') != Anope::string::npos)
+ {
+ // Mark as introduced so we can send an oper type.
+ BotInfo *bi = BotInfo::Find(u->nick, true);
+ if (bi)
+ bi->introduced = true;
+
UplinkSocket::Message(u) << "OPERTYPE :service";
+ }
}
/* SERVER services-dev.chatspike.net password 0 :Description here */