diff options
Diffstat (limited to 'modules/protocol')
| -rw-r--r-- | modules/protocol/bahamut.cpp | 3 | ||||
| -rw-r--r-- | modules/protocol/inspircd11.cpp | 3 | ||||
| -rw-r--r-- | modules/protocol/inspircd12.cpp | 2 | ||||
| -rw-r--r-- | modules/protocol/inspircd20.cpp | 2 | ||||
| -rw-r--r-- | modules/protocol/plexus.cpp | 2 | ||||
| -rw-r--r-- | modules/protocol/unreal32.cpp | 6 |
6 files changed, 11 insertions, 7 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index be782fe18..285fd316c 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -296,7 +296,8 @@ class BahamutIRCdMessage : public IRCdMessage if (user->timestamp == convertTo<time_t>(params[7]) && (na = findnick(user->nick))) { user->Login(na->nc); - user->SetMode(NickServ, UMODE_REGISTERED); + if (na->nc->HasFlag(NI_UNCONFIRMED) == false) + user->SetMode(NickServ, UMODE_REGISTERED); } else validate_user(user); diff --git a/modules/protocol/inspircd11.cpp b/modules/protocol/inspircd11.cpp index 0689b8605..e4ccd90b6 100644 --- a/modules/protocol/inspircd11.cpp +++ b/modules/protocol/inspircd11.cpp @@ -296,7 +296,8 @@ class InspircdIRCdMessage : public IRCdMessage if (na && na->nc->GetExtRegular("authenticationtoken", svidbuf) && svidbuf == params[0]) { user->Login(na->nc); - user->SetMode(NickServ, UMODE_REGISTERED); + if (na->nc->HasFlag(NI_UNCONFIRMED)) + user->SetMode(NickServ, UMODE_REGISTERED); } else validate_user(user); diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp index d2ae35c9f..f89ef2dc9 100644 --- a/modules/protocol/inspircd12.cpp +++ b/modules/protocol/inspircd12.cpp @@ -264,7 +264,7 @@ bool event_metadata(const Anope::string &source, const std::vector<Anope::string if (u && nc) { u->Login(nc); - if (user_na && user_na->nc == nc) + if (user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false) u->SetMode(NickServ, UMODE_REGISTERED); } } diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index a0fd55481..908868463 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -274,7 +274,7 @@ bool event_metadata(const Anope::string &source, const std::vector<Anope::string if (u && nc) { u->Login(nc); - if (user_na && user_na->nc == nc) + if (user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false) u->SetMode(NickServ, UMODE_REGISTERED); } } diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index 9d360312e..a7ebabd86 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -526,7 +526,7 @@ bool event_encap(const Anope::string &source, const std::vector<Anope::string> & if (u && nc) { u->Login(nc); - if (user_na && user_na->nc == nc) + if (user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false) u->SetMode(NickServ, UMODE_REGISTERED); } } diff --git a/modules/protocol/unreal32.cpp b/modules/protocol/unreal32.cpp index 89940ab42..c510a4976 100644 --- a/modules/protocol/unreal32.cpp +++ b/modules/protocol/unreal32.cpp @@ -427,7 +427,8 @@ class Unreal32IRCdMessage : public IRCdMessage if (na && user->timestamp == convertTo<time_t>(params[6])) { user->Login(na->nc); - user->SetMode(NickServ, UMODE_REGISTERED); + if (na->nc->HasFlag(NI_UNCONFIRMED) == false) + user->SetMode(NickServ, UMODE_REGISTERED); } else validate_user(user); @@ -448,7 +449,8 @@ class Unreal32IRCdMessage : public IRCdMessage if (na && user->timestamp == convertTo<time_t>(params[6])) { user->Login(na->nc); - user->SetMode(NickServ, UMODE_REGISTERED); + if (na->nc->HasFlag(NI_UNCONFIRMED) == false) + user->SetMode(NickServ, UMODE_REGISTERED); } else validate_user(user); |
