diff options
Diffstat (limited to 'modules/protocol/charybdis.cpp')
-rw-r--r-- | modules/protocol/charybdis.cpp | 7 |
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"; } |