diff options
Diffstat (limited to 'modules/commands')
28 files changed, 31 insertions, 386 deletions
diff --git a/modules/commands/cs_fantasy_stats.cpp b/modules/commands/cs_fantasy_stats.cpp index 7709a38d3..381063c34 100644 --- a/modules/commands/cs_fantasy_stats.cpp +++ b/modules/commands/cs_fantasy_stats.cpp @@ -12,7 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "sql.h" +#include "modules/sql.h" class MySQLInterface : public SQL::Interface { diff --git a/modules/commands/cs_fantasy_top.cpp b/modules/commands/cs_fantasy_top.cpp index ef87cd87f..a3e35eb3c 100644 --- a/modules/commands/cs_fantasy_top.cpp +++ b/modules/commands/cs_fantasy_top.cpp @@ -12,7 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "sql.h" +#include "modules/sql.h" class MySQLInterface : public SQL::Interface { diff --git a/modules/commands/cs_log.cpp b/modules/commands/cs_log.cpp index 7e817caa9..b3ad62859 100644 --- a/modules/commands/cs_log.cpp +++ b/modules/commands/cs_log.cpp @@ -12,7 +12,6 @@ /*************************************************************************/ #include "module.h" -#include "memoserv.h" class CommandCSLog : public Command { diff --git a/modules/commands/cs_xop.cpp b/modules/commands/cs_xop.cpp index 5d0fe9f21..1e1cd0646 100644 --- a/modules/commands/cs_xop.cpp +++ b/modules/commands/cs_xop.cpp @@ -13,7 +13,6 @@ namespace { - ServiceReference<ChanServService> chanserv("ChanServService", "ChanServ"); std::vector<Anope::string> order; std::map<Anope::string, std::vector<Anope::string> > permissions; } diff --git a/modules/commands/gl_global.cpp b/modules/commands/gl_global.cpp index fae4554d4..70dd4d324 100644 --- a/modules/commands/gl_global.cpp +++ b/modules/commands/gl_global.cpp @@ -12,7 +12,6 @@ /*************************************************************************/ #include "module.h" -#include "global.h" class CommandGLGlobal : public Command { diff --git a/modules/commands/hs_request.cpp b/modules/commands/hs_request.cpp index 0c29705ef..99c5a4811 100644 --- a/modules/commands/hs_request.cpp +++ b/modules/commands/hs_request.cpp @@ -16,7 +16,6 @@ */ #include "module.h" -#include "memoserv.h" static ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ"); diff --git a/modules/commands/ms_cancel.cpp b/modules/commands/ms_cancel.cpp index e0e917b5e..2ab605f40 100644 --- a/modules/commands/ms_cancel.cpp +++ b/modules/commands/ms_cancel.cpp @@ -12,9 +12,6 @@ /*************************************************************************/ #include "module.h" -#include "memoserv.h" - -static ServiceReference<MemoServService> MemoServService("MemoServService", "MemoServ"); class CommandMSCancel : public Command { @@ -27,10 +24,6 @@ class CommandMSCancel : public Command void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) anope_override { - if (!MemoServService) - return; - - const Anope::string &nname = params[0]; bool ischan; @@ -81,9 +74,6 @@ class MSCancel : public Module MSCancel(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR), commandmscancel(this) { - - if (!MemoServService) - throw ModuleException("No MemoServ!"); } }; diff --git a/modules/commands/ms_ignore.cpp b/modules/commands/ms_ignore.cpp index d1f33abdf..056b20128 100644 --- a/modules/commands/ms_ignore.cpp +++ b/modules/commands/ms_ignore.cpp @@ -13,7 +13,6 @@ #include "module.h" -#include "memoserv.h" static ServiceReference<MemoServService> MemoServService("MemoServService", "MemoServ"); diff --git a/modules/commands/ms_read.cpp b/modules/commands/ms_read.cpp index 0d269bd02..7e1e89236 100644 --- a/modules/commands/ms_read.cpp +++ b/modules/commands/ms_read.cpp @@ -12,7 +12,6 @@ /*************************************************************************/ #include "module.h" -#include "memoserv.h" static ServiceReference<MemoServService> MemoServService("MemoServService", "MemoServ"); diff --git a/modules/commands/ms_rsend.cpp b/modules/commands/ms_rsend.cpp index 19a20a279..a9372c328 100644 --- a/modules/commands/ms_rsend.cpp +++ b/modules/commands/ms_rsend.cpp @@ -12,7 +12,6 @@ /*************************************************************************/ #include "module.h" -#include "memoserv.h" namespace { diff --git a/modules/commands/ms_send.cpp b/modules/commands/ms_send.cpp index 18a609893..d4d63a383 100644 --- a/modules/commands/ms_send.cpp +++ b/modules/commands/ms_send.cpp @@ -12,9 +12,11 @@ /*************************************************************************/ #include "module.h" -#include "memoserv.h" -static ServiceReference<MemoServService> MemoServService("MemoServService", "MemoServ"); +namespace +{ + ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ"); +} class CommandMSSend : public Command { @@ -27,13 +29,13 @@ class CommandMSSend : public Command void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) anope_override { - if (!MemoServService) + if (!memoserv) return; const Anope::string &nick = params[0]; const Anope::string &text = params[1]; - MemoServService::MemoResult result = MemoServService->Send(source.GetNick(), nick, text); + MemoServService::MemoResult result = memoserv->Send(source.GetNick(), nick, text); if (result == MemoServService::MEMO_SUCCESS) source.Reply(_("Memo sent to \002%s\002."), nick.c_str()); else if (result == MemoServService::MEMO_INVALID_TARGET) @@ -65,7 +67,7 @@ class MSSend : public Module commandmssend(this) { - if (!MemoServService) + if (!memoserv) throw ModuleException("No MemoServ!"); } }; diff --git a/modules/commands/ms_sendall.cpp b/modules/commands/ms_sendall.cpp index d823f7c5f..b19b96036 100644 --- a/modules/commands/ms_sendall.cpp +++ b/modules/commands/ms_sendall.cpp @@ -12,9 +12,11 @@ /*************************************************************************/ #include "module.h" -#include "memoserv.h" -static ServiceReference<MemoServService> MemoServService("MemoServService", "MemoServ"); +namespace +{ + ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ"); +} class CommandMSSendAll : public Command { @@ -27,7 +29,7 @@ class CommandMSSendAll : public Command void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) anope_override { - if (!MemoServService) + if (!memoserv) return; const Anope::string &text = params[0]; @@ -43,11 +45,10 @@ class CommandMSSendAll : public Command const NickCore *nc = it->second; if (nc != source.nc) - MemoServService->Send(source.GetNick(), nc->display, text); + memoserv->Send(source.GetNick(), nc->display, text); } source.Reply(_("A massmemo has been sent to all registered users.")); - return; } bool OnHelp(CommandSource &source, const Anope::string &subcommand) anope_override @@ -67,8 +68,7 @@ class MSSendAll : public Module MSSendAll(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR), commandmssendall(this) { - - if (!MemoServService) + if (!memoserv) throw ModuleException("No MemoServ!"); } }; diff --git a/modules/commands/ms_set.cpp b/modules/commands/ms_set.cpp index dafb5a857..d1edaecca 100644 --- a/modules/commands/ms_set.cpp +++ b/modules/commands/ms_set.cpp @@ -13,11 +13,6 @@ #include "module.h" -namespace -{ - ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ"); -} - class CommandMSSet : public Command { private: diff --git a/modules/commands/ms_staff.cpp b/modules/commands/ms_staff.cpp index f9d5e81e5..30ec92b16 100644 --- a/modules/commands/ms_staff.cpp +++ b/modules/commands/ms_staff.cpp @@ -12,9 +12,11 @@ /*************************************************************************/ #include "module.h" -#include "memoserv.h" -static ServiceReference<MemoServService> MemoServService("MemoServService", "MemoServ"); +namespace +{ + ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ"); +} class CommandMSStaff : public Command { @@ -27,7 +29,7 @@ class CommandMSStaff : public Command void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) anope_override { - if (!MemoServService) + if (!memoserv) return; const Anope::string &text = params[0]; @@ -43,10 +45,8 @@ class CommandMSStaff : public Command const NickCore *nc = it->second; if (source.nc != nc && nc->IsServicesOper()) - MemoServService->Send(source.GetNick(), nc->display, text, true); + memoserv->Send(source.GetNick(), nc->display, text, true); } - - return; } bool OnHelp(CommandSource &source, const Anope::string &subcommand) anope_override @@ -67,8 +67,7 @@ class MSStaff : public Module MSStaff(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR), commandmsstaff(this) { - - if (!MemoServService) + if (!memoserv) throw ModuleException("No MemoServ!"); } }; diff --git a/modules/commands/ns_logout.cpp b/modules/commands/ns_logout.cpp index cdeab3add..c149dc1f2 100644 --- a/modules/commands/ns_logout.cpp +++ b/modules/commands/ns_logout.cpp @@ -12,7 +12,6 @@ /*************************************************************************/ #include "module.h" -#include "nickserv.h" static ServiceReference<NickServService> NickServService("NickServService", "NickServ"); diff --git a/modules/commands/ns_recover.cpp b/modules/commands/ns_recover.cpp index 845c98915..e9455f88a 100644 --- a/modules/commands/ns_recover.cpp +++ b/modules/commands/ns_recover.cpp @@ -13,11 +13,6 @@ #include "module.h" -namespace -{ - bool restoreonrecover; -} - struct NSRecoverExtensibleInfo : ExtensibleItem, std::map<Anope::string, ChannelStatus> { }; class NSRecoverRequest : public IdentifyRequest @@ -61,7 +56,7 @@ class NSRecoverRequest : public IdentifyRequest Log(LOG_COMMAND, source, cmd) << "and was automatically identified to " << u->Account()->display; } - if (restoreonrecover) + if (Config->GetModule("ns_recover")->Get<bool>("restoreonrecover")) { if (!u->chans.empty()) { diff --git a/modules/commands/ns_register.cpp b/modules/commands/ns_register.cpp index e0b8c77b5..a9dbce470 100644 --- a/modules/commands/ns_register.cpp +++ b/modules/commands/ns_register.cpp @@ -13,10 +13,6 @@ #include "module.h" -namespace -{ - ServiceReference<NickServService> nickserv("NickServService", "NickServ"); -} static bool SendRegmail(User *u, const NickAlias *na, const BotInfo *bi); class CommandNSConfirm : public Command diff --git a/modules/commands/os_defcon.cpp b/modules/commands/os_defcon.cpp index 0fd3a1700..a75d4691b 100644 --- a/modules/commands/os_defcon.cpp +++ b/modules/commands/os_defcon.cpp @@ -12,8 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "global.h" -#include "os_session.h" +#include "modules/os_session.h" enum DefconLevel { diff --git a/modules/commands/os_dns.cpp b/modules/commands/os_dns.cpp index ebfa16227..698fa0e1a 100644 --- a/modules/commands/os_dns.cpp +++ b/modules/commands/os_dns.cpp @@ -6,7 +6,7 @@ */ #include "module.h" -#include "../dns.h" +#include "modules/dns.h" static ServiceReference<DNS::Manager> dnsmanager("DNS::Manager", "dns/manager"); diff --git a/modules/commands/os_forbid.cpp b/modules/commands/os_forbid.cpp index 1d99d47b4..1d683a7e6 100644 --- a/modules/commands/os_forbid.cpp +++ b/modules/commands/os_forbid.cpp @@ -12,7 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "os_forbid.h" +#include "modules/os_forbid.h" static ServiceReference<NickServService> nickserv("NickServService", "NickServ"); diff --git a/modules/commands/os_forbid.h b/modules/commands/os_forbid.h deleted file mode 100644 index 3f1fe9a7f..000000000 --- a/modules/commands/os_forbid.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef OS_FORBID_H -#define OS_FORBID_H - -enum ForbidType -{ - FT_NICK = 1, - FT_CHAN, - FT_EMAIL, - FT_REGISTER, - FT_SIZE -}; - -struct ForbidData : Serializable -{ - Anope::string mask; - Anope::string creator; - Anope::string reason; - time_t created; - time_t expires; - ForbidType type; - - ForbidData() : Serializable("ForbidData") { } - void Serialize(Serialize::Data &data) const anope_override; - static Serializable* Unserialize(Serializable *obj, Serialize::Data &data); -}; - -class ForbidService : public Service -{ - public: - ForbidService(Module *m) : Service(m, "ForbidService", "forbid") { } - - virtual void AddForbid(ForbidData *d) = 0; - - virtual void RemoveForbid(ForbidData *d) = 0; - - virtual ForbidData *FindForbid(const Anope::string &mask, ForbidType type) = 0; - - virtual std::vector<ForbidData *> GetForbids() = 0; -}; - -static ServiceReference<ForbidService> forbid_service("ForbidService", "forbid"); - -void ForbidData::Serialize(Serialize::Data &data) const -{ - data["mask"] << this->mask; - data["creator"] << this->creator; - data["reason"] << this->reason; - data["created"] << this->created; - data["expires"] << this->expires; - data["type"] << this->type; -} - -Serializable* ForbidData::Unserialize(Serializable *obj, Serialize::Data &data) -{ - if (!forbid_service) - return NULL; - - ForbidData *fb; - if (obj) - fb = anope_dynamic_static_cast<ForbidData *>(obj); - else - fb = new ForbidData; - - data["mask"] >> fb->mask; - data["creator"] >> fb->creator; - data["reason"] >> fb->reason; - data["created"] >> fb->created; - data["expires"] >> fb->expires; - unsigned int t; - data["type"] >> t; - fb->type = static_cast<ForbidType>(t); - - if (t > FT_SIZE - 1) - return NULL; - - if (!obj) - forbid_service->AddForbid(fb); - return fb; -} - -#endif - diff --git a/modules/commands/os_ignore.cpp b/modules/commands/os_ignore.cpp index 073101066..08aaeaaf3 100644 --- a/modules/commands/os_ignore.cpp +++ b/modules/commands/os_ignore.cpp @@ -12,7 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "os_ignore.h" +#include "modules/os_ignore.h" class OSIgnoreService : public IgnoreService { diff --git a/modules/commands/os_ignore.h b/modules/commands/os_ignore.h deleted file mode 100644 index 6c3e237ab..000000000 --- a/modules/commands/os_ignore.h +++ /dev/null @@ -1,79 +0,0 @@ -/* OperServ ignore interface - * - * (C) 2003-2013 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - */ - - -struct IgnoreData : Serializable -{ - Anope::string mask; - Anope::string creator; - Anope::string reason; - time_t time; /* When do we stop ignoring them? */ - - IgnoreData() : Serializable("IgnoreData") { } - void Serialize(Serialize::Data &data) const anope_override; - static Serializable* Unserialize(Serializable *obj, Serialize::Data &data); -}; - -class IgnoreService : public Service -{ - protected: - std::list<IgnoreData> ignores; - - IgnoreService(Module *c) : Service(c, "IgnoreService", "ignore") { } - - public: - virtual IgnoreData* AddIgnore(const Anope::string &mask, const Anope::string &creator, const Anope::string &reason, time_t delta = Anope::CurTime) = 0; - - virtual bool DelIgnore(const Anope::string &mask) = 0; - - inline void ClearIgnores() { this->ignores.clear(); } - - virtual IgnoreData *Find(const Anope::string &mask) = 0; - - inline std::list<IgnoreData> &GetIgnores() { return this->ignores; } -}; - -static ServiceReference<IgnoreService> ignore_service("IgnoreService", "ignore"); - -void IgnoreData::Serialize(Serialize::Data &data) const -{ - data["mask"] << this->mask; - data["creator"] << this->creator; - data["reason"] << this->reason; - data["time"] << this->time; -} - -Serializable* IgnoreData::Unserialize(Serializable *obj, Serialize::Data &data) -{ - if (!ignore_service) - return NULL; - - if (obj) - { - IgnoreData *ign = anope_dynamic_static_cast<IgnoreData *>(obj); - data["mask"] >> ign->mask; - data["creator"] >> ign->creator; - data["reason"] >> ign->reason; - data["time"] >> ign->time; - return ign; - } - - Anope::string smask, screator, sreason; - time_t t; - - data["mask"] >> smask; - data["creator"] >> screator; - data["reason"] >> sreason; - data["time"] >> t; - - return ignore_service->AddIgnore(smask, screator, sreason, t); -} - diff --git a/modules/commands/os_news.cpp b/modules/commands/os_news.cpp index 7292b6471..e9f70b693 100644 --- a/modules/commands/os_news.cpp +++ b/modules/commands/os_news.cpp @@ -12,8 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "global.h" -#include "os_news.h" +#include "modules/os_news.h" /* List of messages for each news type. This simplifies message sending. */ diff --git a/modules/commands/os_news.h b/modules/commands/os_news.h deleted file mode 100644 index b1e717455..000000000 --- a/modules/commands/os_news.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef OS_NEWS -#define OS_NEWS - -enum NewsType -{ - NEWS_LOGON, - NEWS_RANDOM, - NEWS_OPER -}; - -struct NewsMessages -{ - NewsType type; - Anope::string name; - const char *msgs[10]; -}; - -struct NewsItem : Serializable -{ - NewsType type; - Anope::string text; - Anope::string who; - time_t time; - - NewsItem() : Serializable("NewsItem") { } - void Serialize(Serialize::Data &data) const anope_override; - static Serializable* Unserialize(Serializable *obj, Serialize::Data &data); -}; - -class NewsService : public Service -{ - public: - NewsService(Module *m) : Service(m, "NewsService", "news") { } - - virtual void AddNewsItem(NewsItem *n) = 0; - - virtual void DelNewsItem(NewsItem *n) = 0; - - virtual std::vector<NewsItem *> &GetNewsList(NewsType t) = 0; -}; - -static ServiceReference<NewsService> news_service("NewsService", "news"); - -void NewsItem::Serialize(Serialize::Data &data) const -{ - data["type"] << this->type; - data["text"] << this->text; - data["who"] << this->who; - data["time"] << this->time; -} - -Serializable* NewsItem::Unserialize(Serializable *obj, Serialize::Data &data) -{ - if (!news_service) - return NULL; - - NewsItem *ni; - if (obj) - ni = anope_dynamic_static_cast<NewsItem *>(obj); - else - ni = new NewsItem(); - - unsigned int t; - data["type"] >> t; - ni->type = static_cast<NewsType>(t); - data["text"] >> ni->text; - data["who"] >> ni->who; - data["time"] >> ni->time; - - if (!obj) - news_service->AddNewsItem(ni); - return ni; -} - -#endif // OS_NEWS - diff --git a/modules/commands/os_session.cpp b/modules/commands/os_session.cpp index 74f6c2f7e..42449e44b 100644 --- a/modules/commands/os_session.cpp +++ b/modules/commands/os_session.cpp @@ -12,7 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "os_session.h" +#include "modules/os_session.h" namespace { diff --git a/modules/commands/os_session.h b/modules/commands/os_session.h deleted file mode 100644 index f3077d0ac..000000000 --- a/modules/commands/os_session.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef OS_SESSION_H -#define OS_SESSION_H - -struct Session -{ - cidr addr; /* A cidr (sockaddrs + len) representing this session */ - unsigned count; /* Number of clients with this host */ - unsigned hits; /* Number of subsequent kills for a host */ - - Session(const Anope::string &ip, int len) : addr(ip, len), count(1), hits(0) { } -}; - -struct Exception : Serializable -{ - Anope::string mask; /* Hosts to which this exception applies */ - unsigned limit; /* Session limit for exception */ - Anope::string who; /* Nick of person who added the exception */ - Anope::string reason; /* Reason for exception's addition */ - time_t time; /* When this exception was added */ - time_t expires; /* Time when it expires. 0 == no expiry */ - - Exception() : Serializable("Exception") { } - void Serialize(Serialize::Data &data) const anope_override; - static Serializable* Unserialize(Serializable *obj, Serialize::Data &data); -}; - -class SessionService : public Service -{ - public: - typedef std::tr1::unordered_map<cidr, Session *, cidr::hash> SessionMap; - typedef std::vector<Exception *> ExceptionVector; - - SessionService(Module *m) : Service(m, "SessionService", "session") { } - - virtual void AddException(Exception *e) = 0; - - virtual void DelException(Exception *e) = 0; - - virtual Exception *FindException(User *u) = 0; - - virtual Exception *FindException(const Anope::string &host) = 0; - - virtual ExceptionVector &GetExceptions() = 0; - - virtual Session *FindSession(const Anope::string &ip) = 0; - - virtual SessionMap &GetSessions() = 0; -}; - -static ServiceReference<SessionService> session_service("SessionService", "session"); - -void Exception::Serialize(Serialize::Data &data) const -{ - data["mask"] << this->mask; - data["limit"] << this->limit; - data["who"] << this->who; - data["reason"] << this->reason; - data["time"] << this->time; - data["expires"] << this->expires; -} - -Serializable* Exception::Unserialize(Serializable *obj, Serialize::Data &data) -{ - if (!session_service) - return NULL; - - Exception *ex; - if (obj) - ex = anope_dynamic_static_cast<Exception *>(obj); - else - ex = new Exception; - data["mask"] >> ex->mask; - data["limit"] >> ex->limit; - data["who"] >> ex->who; - data["reason"] >> ex->reason; - data["time"] >> ex->time; - data["expires"] >> ex->expires; - - if (!obj) - session_service->AddException(ex); - return ex; -} - -#endif - diff --git a/modules/commands/os_stats.cpp b/modules/commands/os_stats.cpp index 04bd6e60d..8b975a6c7 100644 --- a/modules/commands/os_stats.cpp +++ b/modules/commands/os_stats.cpp @@ -12,7 +12,7 @@ /*************************************************************************/ #include "module.h" -#include "os_session.h" +#include "modules/os_session.h" struct Stats : Serializable { |