summaryrefslogtreecommitdiff
path: root/modules/protocol/plexus.cpp
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2024-05-09 18:53:43 +0100
committerSadie Powell <sadie@witchery.services>2024-05-09 18:54:40 +0100
commitc36030c82617ee2616260c9ca3635940e5a7a679 (patch)
tree991dc7a5a4aa2a5a1a9ae3eba24e131ba809c3c0 /modules/protocol/plexus.cpp
parent33a02b12239a9dd1ee6e41ab4de07a544c7aa6ae (diff)
Remove CanSVSLogout and implement logout support on Plexus.
Diffstat (limited to 'modules/protocol/plexus.cpp')
-rw-r--r--modules/protocol/plexus.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp
index e49399602..2840f9c88 100644
--- a/modules/protocol/plexus.cpp
+++ b/modules/protocol/plexus.cpp
@@ -187,7 +187,15 @@ public:
void SendSVSLogin(const Anope::string &uid, NickAlias *na) override
{
Server *s = Server::Find(uid.substr(0, 3));
- Uplink::Send("ENCAP", s ? s->GetName() : uid.substr(0, 3), "SVSLOGIN", uid, '*', '*', na->GetVHostHost().empty() ? "*" : na->GetVHostHost(), na->nc->display);
+ Anope::string target = s ? s->GetName() : uid.substr(0, 3);
+ if (na)
+ {
+ Uplink::Send("ENCAP", target, "SVSLOGIN", uid, '*', '*', na->GetVHostHost().empty() ? "*" : na->GetVHostHost(), na->nc->display);
+ }
+ else
+ {
+ Uplink::Send("ENCAP", target, "SU", uid, "");
+ }
}
void SendSVSNOOP(const Server *server, bool set) override