summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/example_new.conf7
-rw-r--r--src/config.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/data/example_new.conf b/data/example_new.conf
index f03cbabed..6f7c3ceb7 100644
--- a/data/example_new.conf
+++ b/data/example_new.conf
@@ -365,4 +365,11 @@ chanserv
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults="keeptopic peace secure securefounder signkick xop"
+
+ /*
+ * The maximum number of channels which may be registered to a single nickname. This directive is optional,
+ * but recommended. If not set, there will be no restriction on the numbers of channels a single nickname
+ * can have registered.
+ */
+ maxregistered = 20
}
diff --git a/src/config.c b/src/config.c
index ac8895c3d..60cd216f6 100644
--- a/src/config.c
+++ b/src/config.c
@@ -576,6 +576,7 @@ int ServerConfig::Read(bool bail)
{"chanserv", "description", "Channel Registration Service", new ValueContainerChar(&desc_ChanServ), DT_CHARPTR | DT_NORELOAD, ValidateNotEmpty},
{"chanserv", "database", "chan.db", new ValueContainerChar(&ChanDBName), DT_CHARPTR, ValidateNotEmpty},
{"chanserv", "defaults", "keetopic secure securefounder signkick", new ValueContainerString(&CSDefaults), DT_BOOLEAN, NoValidation},
+ {"chanserv", "maxregistered", "0", new ValueContainerInt(&CSMaxReg), DT_INTEGER, NoValidation},
{NULL, NULL, NULL, NULL, DT_NOTHING, NoValidation}
};
/* These tags can occur multiple times, and therefore they have special code to read them
@@ -1186,7 +1187,6 @@ Directive directives[] = {
{"CSInhabit", {{PARAM_TIME, PARAM_RELOAD, &CSInhabit}}},
{"CSListMax", {{PARAM_POSINT, PARAM_RELOAD, &CSListMax}}},
{"CSListOpersOnly", {{PARAM_SET, PARAM_RELOAD, &CSListOpersOnly}}},
- {"CSMaxReg", {{PARAM_POSINT, 0, &CSMaxReg}}},
{"CSRestrictGetPass", {{PARAM_SET, PARAM_RELOAD, &CSRestrictGetPass}}},
{"CSOpersOnly", {{PARAM_SET, PARAM_RELOAD, &CSOpersOnly}}},
{"DefSessionLimit", {{PARAM_POSINT, 0, &DefSessionLimit}}},