summaryrefslogtreecommitdiff
path: root/modules/hostserv/add.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2016-10-09 22:15:42 -0400
committerAdam <Adam@anope.org>2016-10-09 22:15:42 -0400
commit257156c10a918bf9ba4eb7ca4baf043095a5f369 (patch)
tree0a4b2569addd9cc1c83d39d992619a3115e1b8e4 /modules/hostserv/add.cpp
parentab749ce2a871c524c2f187635913998bbcd41a1d (diff)
Add max vhosts configuration option
Diffstat (limited to 'modules/hostserv/add.cpp')
-rw-r--r--modules/hostserv/add.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/hostserv/add.cpp b/modules/hostserv/add.cpp
index 42f457b25..240324470 100644
--- a/modules/hostserv/add.cpp
+++ b/modules/hostserv/add.cpp
@@ -91,6 +91,13 @@ class CommandHSAdd : public Command
return;
}
+ unsigned int max_vhosts = Config->GetModule("hostserv/main")->Get<unsigned int>("max_vhosts");
+ if (max_vhosts && max_vhosts >= na->GetAccount()->GetRefs<HostServ::VHost *>().size())
+ {
+ source.Reply(_("\002{0}\002 already has the maximum number of vhosts allowed (\002{1}\002)."), na->GetAccount()->GetDisplay(), max_vhosts);
+ return;
+ }
+
Anope::string mask = (!user.empty() ? user + "@" : "") + host;
Log(LOG_ADMIN, source, this) << "to add the vhost " << mask << " to " << na->GetAccount()->GetDisplay();