summaryrefslogtreecommitdiff
path: root/modules/protocol/charybdis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/protocol/charybdis.cpp')
-rw-r--r--modules/protocol/charybdis.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/protocol/charybdis.cpp b/modules/protocol/charybdis.cpp
index bdf6d014b..b1d2e6614 100644
--- a/modules/protocol/charybdis.cpp
+++ b/modules/protocol/charybdis.cpp
@@ -192,6 +192,11 @@ struct IRCDMessageEncap : IRCDMessage
if (!NickServ)
return;
+ Anope::string accountname = GetAccount();
+ NickAlias *na = NickAlias::Find(accountname);
+ if (na)
+ accountname = na->nc->display;
+
/* SVSLOGIN
* parameters: target, new nick, new username, new visible hostname, new login name
* Sent after successful SASL authentication.
@@ -202,7 +207,7 @@ struct IRCDMessageEncap : IRCDMessage
* broadcast, otherwise the changes will be stored, to be used when registration
* completes.
*/
- UplinkSocket::Message(Me) << "ENCAP " << msource.GetName() << " SVSLOGIN " << this->uid << " * * * " << this->GetAccount();
+ UplinkSocket::Message(Me) << "ENCAP " << msource.GetName() << " SVSLOGIN " << this->uid << " * * * " << accountname;
UplinkSocket::Message(Me) << "ENCAP " << msource.GetName() << " SASL " << NickServ->GetUID() << " " << this->uid << " D S";
}