diff --git a/include/modules.h b/include/modules.h index c2a0855f5..26c47d450 100644 --- a/include/modules.h +++ b/include/modules.h @@ -158,7 +158,9 @@ enum PSEUDOCLIENT = 1 << 5, /* Module provides IRCd protocol support */ PROTOCOL = 1 << 6, - MT_END = 1 << 7 + /* Module is deprecated */ + DEPRECATED = 1 << 7, + MT_END = DEPRECATED, }; typedef unsigned short ModType; diff --git a/modules/database/db_flatfile.cpp b/modules/database/db_flatfile.cpp index ef09a94c7..0f53e6afd 100644 --- a/modules/database/db_flatfile.cpp +++ b/modules/database/db_flatfile.cpp @@ -78,7 +78,7 @@ private: public: DBFlatFile(const Anope::string &modname, const Anope::string &creator) - : Module(modname, creator, DATABASE | VENDOR) + : Module(modname, creator, DATABASE | DEPRECATED | VENDOR) { } diff --git a/modules/encryption/enc_md5.cpp b/modules/encryption/enc_md5.cpp index 85bc88828..f4639ab53 100644 --- a/modules/encryption/enc_md5.cpp +++ b/modules/encryption/enc_md5.cpp @@ -49,7 +49,7 @@ private: public: EMD5(const Anope::string &modname, const Anope::string &creator) - : Module(modname, creator, ENCRYPTION | VENDOR) + : Module(modname, creator, DEPRECATED | ENCRYPTION | VENDOR) , md5provider(this, "md5", 16, 64) { if (ModuleManager::FindFirstOf(ENCRYPTION) == this) diff --git a/modules/encryption/enc_none.cpp b/modules/encryption/enc_none.cpp index 0fcb6b15b..309a317c0 100644 --- a/modules/encryption/enc_none.cpp +++ b/modules/encryption/enc_none.cpp @@ -14,7 +14,7 @@ class ENone final { public: ENone(const Anope::string &modname, const Anope::string &creator) - : Module(modname, creator, ENCRYPTION | VENDOR) + : Module(modname, creator, DEPRECATED | ENCRYPTION | VENDOR) { if (ModuleManager::FindFirstOf(ENCRYPTION) == this) throw ModuleException("enc_none is deprecated and can not be used as a primary encryption method"); diff --git a/modules/encryption/enc_sha1.cpp b/modules/encryption/enc_sha1.cpp index 7d25df6ff..1334a499b 100644 --- a/modules/encryption/enc_sha1.cpp +++ b/modules/encryption/enc_sha1.cpp @@ -173,7 +173,7 @@ private: public: ESHA1(const Anope::string &modname, const Anope::string &creator) - : Module(modname, creator, ENCRYPTION | VENDOR) + : Module(modname, creator, DEPRECATED | ENCRYPTION | VENDOR) , sha1provider(this, "sha1", 20, 64) { if (ModuleManager::FindFirstOf(ENCRYPTION) == this) diff --git a/modules/encryption/enc_sha256.cpp b/modules/encryption/enc_sha256.cpp index 7a75723cf..9af5569f5 100644 --- a/modules/encryption/enc_sha256.cpp +++ b/modules/encryption/enc_sha256.cpp @@ -69,7 +69,7 @@ private: public: ESHA256(const Anope::string &modname, const Anope::string &creator) - : Module(modname, creator, ENCRYPTION | VENDOR) + : Module(modname, creator, DEPRECATED | ENCRYPTION | VENDOR) { use_iv = false; if (ModuleManager::FindFirstOf(ENCRYPTION) == this) diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp index 2260fed74..77dc2804b 100644 --- a/src/modulemanager.cpp +++ b/src/modulemanager.cpp @@ -182,6 +182,9 @@ ModuleReturn ModuleManager::LoadModule(const Anope::string &modname, User *u) m->filename = pbuf; m->handle = handle; + if (m->type & DEPRECATED) + Log(LOG_TERMINAL) << "Warning: " << modname << " is deprecated and will be removed in a future release"; + /* Initialize config */ try {