diff options
Diffstat (limited to 'modules/protocol/unreal.cpp')
-rw-r--r-- | modules/protocol/unreal.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp index dc85c6f89..6324d18ca 100644 --- a/modules/protocol/unreal.cpp +++ b/modules/protocol/unreal.cpp @@ -345,7 +345,8 @@ class UnrealIRCdProto : public IRCDProto void SendLogin(User *u, NickServ::Nick *na) override { - if (Servers::Capab.count("ESVID") > 0) + /* 3.2.10.4+ treats users logged in with accounts as fully registered, even if -r, so we can not set this here. Just use the timestamp. */ + if (Servers::Capab.count("ESVID") > 0 && !na->GetAccount()->HasFieldS("UNCONFIRMED")) IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %s", na->GetAccount()->GetDisplay().c_str()); else IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %d", u->signon); |