diff options
| author | Sadie Powell <sadie@witchery.services> | 2025-01-13 14:36:55 +0000 |
|---|---|---|
| committer | Sadie Powell <sadie@witchery.services> | 2025-01-13 14:36:55 +0000 |
| commit | 098074ba8b18d53a4620464795e81aa052c285f9 (patch) | |
| tree | 1901682321f29a05169521ce7cdf538134826290 | |
| parent | c680cb6c5832592e6337493403fcdb1a5e002e9a (diff) | |
Add an option to re-cloak opers on logout.
Closes: #421
| -rw-r--r-- | data/hostserv.example.conf | 5 | ||||
| -rw-r--r-- | modules/hostserv/hostserv.cpp | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/data/hostserv.example.conf b/data/hostserv.example.conf index e1275cc7a..1869c5eb9 100644 --- a/data/hostserv.example.conf +++ b/data/hostserv.example.conf @@ -80,6 +80,11 @@ module * If enabled, vhosts are activated on users immediately when they are set. */ activate_on_set = false + + /* + * If enabled, vhosts are activated on users immediately when they log out of an operator account. + */ + activate_on_deoper = yes } /* diff --git a/modules/hostserv/hostserv.cpp b/modules/hostserv/hostserv.cpp index 39b49ec29..82273f4e5 100644 --- a/modules/hostserv/hostserv.cpp +++ b/modules/hostserv/hostserv.cpp @@ -79,6 +79,12 @@ public: this->OnUserLogin(u); } + void OnUserModeUnset(const MessageSource &setter, User *u, const Anope::string &mname) override + { + if (mname == "OPER" && Config->GetModule(this)->Get<bool>("activate_on_deoper", "yes")) + this->OnUserLogin(u); + } + EventReturn OnPreHelp(CommandSource &source, const std::vector<Anope::string> ¶ms) override { if (!params.empty() || source.c || source.service != *HostServ) |
