From d79dd0b7d705e8f18ae0d6494a8bc65c2b0c2819 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 1 May 2014 18:38:17 -0400 Subject: Pass password to nick register event so modules like m_ldap_authentication can create the respective account using the decrypted password which might not always be available --- modules/extra/m_ldap_authentication.cpp | 6 +++--- modules/extra/m_sql_authentication.cpp | 2 +- modules/extra/stats/m_chanstats.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'modules/extra') 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"); -- cgit From 866f3f32ab3713e9867747f150df3698e456744e Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 20 May 2014 21:10:49 -0400 Subject: Speed up akill xline checks Cache xline nick, user, host, etc instead of rebuilding it everytime its requested. Store users ip in sockaddr form and not string form to prevent having to rebuild sockaddrs when checking xlines. Also do not try to convert empty config values in Config::Get as this can be rather common if a non string configuration value is not set, and the cost of the ConvertException is great. --- modules/extra/m_sql_authentication.cpp | 2 +- modules/extra/m_sql_oper.cpp | 2 +- modules/extra/stats/irc2sql/irc2sql.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'modules/extra') diff --git a/modules/extra/m_sql_authentication.cpp b/modules/extra/m_sql_authentication.cpp index 0710a6e20..c718f3c2b 100644 --- a/modules/extra/m_sql_authentication.cpp +++ b/modules/extra/m_sql_authentication.cpp @@ -122,7 +122,7 @@ class ModuleSQLAuthentication : public Module if (u) { q.SetValue("n", u->nick); - q.SetValue("i", u->ip); + q.SetValue("i", u->ip.addr()); } else { diff --git a/modules/extra/m_sql_oper.cpp b/modules/extra/m_sql_oper.cpp index 68a6d9084..3203021bc 100644 --- a/modules/extra/m_sql_oper.cpp +++ b/modules/extra/m_sql_oper.cpp @@ -135,7 +135,7 @@ class ModuleSQLOper : public Module SQL::Query q(this->query); q.SetValue("a", u->Account()->display); - q.SetValue("i", u->ip); + q.SetValue("i", u->ip.addr()); this->SQL->Run(new SQLOperResult(this, u), q); diff --git a/modules/extra/stats/irc2sql/irc2sql.cpp b/modules/extra/stats/irc2sql/irc2sql.cpp index d20e1a420..fd0ca5890 100644 --- a/modules/extra/stats/irc2sql/irc2sql.cpp +++ b/modules/extra/stats/irc2sql/irc2sql.cpp @@ -95,7 +95,7 @@ void IRC2SQL::OnUserConnect(User *u, bool &exempt) query.SetValue("vhost", u->vhost); query.SetValue("chost", u->chost); query.SetValue("realname", u->realname); - query.SetValue("ip", u->ip); + query.SetValue("ip", u->ip.addr()); query.SetValue("ident", u->GetIdent()); query.SetValue("vident", u->GetVIdent()); query.SetValue("secure", u->HasMode("SSL") || u->HasExt("ssl") ? "Y" : "N"); -- cgit From f20bac996da46556a821c1b0244a202e652fe247 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 30 May 2014 15:45:57 -0400 Subject: Fix Windows build and update library names to the newer ones. Also fix crash on Windows when unloading a module because it threw an exception. --- modules/extra/m_ldap.cpp | 1 + modules/extra/m_mysql.cpp | 7 ++++++- modules/extra/m_regex_pcre.cpp | 1 + modules/extra/m_sasl_dh-aes.cpp | 1 + modules/extra/m_sasl_dh-blowfish.cpp | 1 + modules/extra/m_sqlite.cpp | 1 + modules/extra/m_ssl_gnutls.cpp | 1 + modules/extra/m_ssl_openssl.cpp | 1 + 8 files changed, 13 insertions(+), 1 deletion(-) (limited to 'modules/extra') diff --git a/modules/extra/m_ldap.cpp b/modules/extra/m_ldap.cpp index 7dc6bc038..755187b25 100644 --- a/modules/extra/m_ldap.cpp +++ b/modules/extra/m_ldap.cpp @@ -1,4 +1,5 @@ /* RequiredLibraries: ldap,lber */ +/* RequiredWindowsLibraries: libldap,liblber */ #include "module.h" #include "modules/ldap.h" diff --git a/modules/extra/m_mysql.cpp b/modules/extra/m_mysql.cpp index ceb7af0ef..de8ed4f7d 100644 --- a/modules/extra/m_mysql.cpp +++ b/modules/extra/m_mysql.cpp @@ -1,9 +1,14 @@ /* RequiredLibraries: mysqlclient */ +/* RequiredWindowsLibraries: libmysql */ #include "module.h" #include "modules/sql.h" #define NO_CLIENT_LONG_LONG -#include +#ifdef WIN32 +# include +#else +# include +#endif using namespace SQL; diff --git a/modules/extra/m_regex_pcre.cpp b/modules/extra/m_regex_pcre.cpp index b6bf88af1..7cbde87db 100644 --- a/modules/extra/m_regex_pcre.cpp +++ b/modules/extra/m_regex_pcre.cpp @@ -1,4 +1,5 @@ /* RequiredLibraries: pcre */ +/* RequiredWindowsLibraries: libpcre */ #include "module.h" #include diff --git a/modules/extra/m_sasl_dh-aes.cpp b/modules/extra/m_sasl_dh-aes.cpp index a4fc5ea44..d556e8502 100644 --- a/modules/extra/m_sasl_dh-aes.cpp +++ b/modules/extra/m_sasl_dh-aes.cpp @@ -1,4 +1,5 @@ /* RequiredLibraries: ssl,crypto */ +/* RequiredWindowsLibraries: ssleay32,libeay32 */ #include "module.h" #include "modules/sasl.h" diff --git a/modules/extra/m_sasl_dh-blowfish.cpp b/modules/extra/m_sasl_dh-blowfish.cpp index 1bfd50173..df55f06ea 100644 --- a/modules/extra/m_sasl_dh-blowfish.cpp +++ b/modules/extra/m_sasl_dh-blowfish.cpp @@ -1,4 +1,5 @@ /* RequiredLibraries: ssl,crypto */ +/* RequiredWindowsLibraries: ssleay32,libeay32 */ #include "module.h" #include "modules/sasl.h" diff --git a/modules/extra/m_sqlite.cpp b/modules/extra/m_sqlite.cpp index b306ccfcf..86f21667a 100644 --- a/modules/extra/m_sqlite.cpp +++ b/modules/extra/m_sqlite.cpp @@ -1,4 +1,5 @@ /* RequiredLibraries: sqlite3 */ +/* RequiredWindowsLibraries: sqlite3 */ #include "module.h" #include "modules/sql.h" diff --git a/modules/extra/m_ssl_gnutls.cpp b/modules/extra/m_ssl_gnutls.cpp index 011530280..d391b6f5b 100644 --- a/modules/extra/m_ssl_gnutls.cpp +++ b/modules/extra/m_ssl_gnutls.cpp @@ -7,6 +7,7 @@ */ /* RequiredLibraries: gnutls */ +/* RequiredWindowsLibraries: libgnutls-28 */ #include "module.h" #include "modules/ssl.h" diff --git a/modules/extra/m_ssl_openssl.cpp b/modules/extra/m_ssl_openssl.cpp index a274dc78d..ebf88ad63 100644 --- a/modules/extra/m_ssl_openssl.cpp +++ b/modules/extra/m_ssl_openssl.cpp @@ -1,4 +1,5 @@ /* RequiredLibraries: ssl,crypto */ +/* RequiredWindowsLibraries: ssleay32,libeay32 */ #include "module.h" #include "modules/ssl.h" -- cgit From f1c3bdd55e2ae9b060d3c002f135b16a0a51a3d9 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 9 Jun 2014 17:16:55 -0400 Subject: Correct wording of log message when ldap services are created --- modules/extra/m_ldap.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/extra') diff --git a/modules/extra/m_ldap.cpp b/modules/extra/m_ldap.cpp index 755187b25..dbf7a4aaa 100644 --- a/modules/extra/m_ldap.cpp +++ b/modules/extra/m_ldap.cpp @@ -513,7 +513,7 @@ class ModuleLDAP : public Module, public Pipe ss->Start(); this->LDAPServices.insert(std::make_pair(connname, ss)); - Log(LOG_NORMAL, "ldap") << "LDAP: Successfully connected to server " << connname << " (" << server << ")"; + Log(LOG_NORMAL, "ldap") << "LDAP: Successfully initialized server " << connname << " (" << server << ")"; } catch (const LDAPException &ex) { -- cgit