diff --git a/include/modules.h b/include/modules.h index 90dd23807..6f7803cff 100644 --- a/include/modules.h +++ b/include/modules.h @@ -743,8 +743,9 @@ class CoreExport Module : public Extensible /** Called when a nick is registered * @param user The user registering the nick, of any * @param The nick + * @param pass The password of the newly registered nick */ - virtual void OnNickRegister(User *user, NickAlias *na) { throw NotImplementedException(); } + virtual void OnNickRegister(User *user, NickAlias *na, const Anope::string &pass) { throw NotImplementedException(); } /** Called when a nick is suspended * @param na The nick alias diff --git a/modules/commands/ns_access.cpp b/modules/commands/ns_access.cpp index dfafdb37f..d01f6dc9b 100644 --- a/modules/commands/ns_access.cpp +++ b/modules/commands/ns_access.cpp @@ -196,7 +196,7 @@ class NSAccess : public Module { } - void OnNickRegister(User *u, NickAlias *na) anope_override + void OnNickRegister(User *u, NickAlias *na, const Anope::string &) anope_override { if (u && Config->GetModule(this)->Get("addaccessonreg")) na->nc->AddAccess(u->Mask()); diff --git a/modules/commands/ns_register.cpp b/modules/commands/ns_register.cpp index c3d678cf1..8e916c4d7 100644 --- a/modules/commands/ns_register.cpp +++ b/modules/commands/ns_register.cpp @@ -198,7 +198,7 @@ class CommandNSRegister : public Command Log(LOG_COMMAND, source, this) << "to register " << na->nick << " (email: " << (!na->nc->email.empty() ? na->nc->email : "none") << ")"; - FOREACH_MOD(OnNickRegister, (source.GetUser(), na)); + FOREACH_MOD(OnNickRegister, (source.GetUser(), na, pass)); if (na->nc->GetAccessCount()) source.Reply(_("Nickname \002%s\002 registered under your user@host-mask: %s"), u_nick.c_str(), na->nc->GetAccess(0).c_str()); diff --git a/modules/extra/m_ldap_authentication.cpp b/modules/extra/m_ldap_authentication.cpp index 7c9593dff..115faa73e 100644 --- a/modules/extra/m_ldap_authentication.cpp +++ b/modules/extra/m_ldap_authentication.cpp @@ -104,7 +104,7 @@ class IdentifyInterface : public LDAPInterface { na = new NickAlias(ii->req->GetAccount(), new NickCore(ii->req->GetAccount())); na->last_realname = ii->user ? ii->user->realname : ii->req->GetAccount(); - FOREACH_MOD(OnNickRegister, (ii->user, na)); + FOREACH_MOD(OnNickRegister, (ii->user, na, ii->req->GetPassword())); BotInfo *NickServ = Config->GetClient("NickServ"); if (ii->user && NickServ) ii->user->SendMessage(NickServ, _("Your account \002%s\002 has been successfully created."), na->nick.c_str()); @@ -300,7 +300,7 @@ class NSIdentifyLDAP : public Module } } - void OnNickRegister(User *, NickAlias *na) anope_override + void OnNickRegister(User *, NickAlias *na, const Anope::string &pass) anope_override { if (!this->disable_register_reason.empty() || !this->ldap) return; @@ -326,7 +326,7 @@ class NSIdentifyLDAP : public Module } attributes[3].name = this->password_attribute; - attributes[3].values.push_back(na->nc->pass); + attributes[3].values.push_back(pass); Anope::string new_dn = username_attribute + "=" + na->nick + "," + basedn; this->ldap->Add(&this->orinterface, new_dn, attributes); diff --git a/modules/extra/m_sql_authentication.cpp b/modules/extra/m_sql_authentication.cpp index 2342ef89d..0710a6e20 100644 --- a/modules/extra/m_sql_authentication.cpp +++ b/modules/extra/m_sql_authentication.cpp @@ -42,7 +42,7 @@ class SQLAuthenticationResult : public SQL::Interface if (na == NULL) { na = new NickAlias(req->GetAccount(), new NickCore(req->GetAccount())); - FOREACH_MOD(OnNickRegister, (user, na)); + FOREACH_MOD(OnNickRegister, (user, na, "")); if (user && NickServ) user->SendMessage(NickServ, _("Your account \002%s\002 has been successfully created."), na->nick.c_str()); } diff --git a/modules/extra/stats/m_chanstats.cpp b/modules/extra/stats/m_chanstats.cpp index 4151c4579..4557b816f 100644 --- a/modules/extra/stats/m_chanstats.cpp +++ b/modules/extra/stats/m_chanstats.cpp @@ -638,7 +638,7 @@ class MChanstats : public Module ci->Extend("CS_STATS"); } - void OnNickRegister(User *user, NickAlias *na) + void OnNickRegister(User *user, NickAlias *na, const Anope::string &) { if (NSDefChanstats) na->nc->Extend("NS_STATS");