Commit Diff


commit - 61ac8be2fd36ffbf55d73215aa3a32ab01e94284
commit + 9c5e42458ea8dc2aa8db5f122aaa4296d31df67b
blob - 788c2349bee817cb212f7617c3af7558b1613264
blob + 7a7712af6236d1bba13321041629c24bc4100bc5
--- INSTALL.md
+++ INSTALL.md
@@ -11,6 +11,16 @@ All the subsequent sections describe the steps require
 configure ngIRCd.
 
 ## Upgrade Information
+
+Differences to version 25
+
+- Setting modes for predefined channels in *[Channel]* sections has been
+  enhanced: now you can set *all* modes, like in IRC "MODE" commands, and have
+  this setting multiple times per *[Channel]* block. Modifying lists (ban list,
+  invite list, exception list) is supported, too.
+
+  Both the *Key* and *MaxUsers* settings are now deprecated and should be
+  replaced by `Modes = +l <limit>` and `Modes = +k <key>` respectively.
 
 Differences to version 22.x
 
blob - cccc7e923b954f76a0c5704b4366412a5fc003d6
blob + 5892557920f669985b413218e2f90de793ad66ad
--- doc/sample-ngircd.conf.tmpl
+++ doc/sample-ngircd.conf.tmpl
@@ -384,20 +384,17 @@
 
 	# Topic for this channel
 	;Topic = a great topic
-
-	# Initial channel modes
-	;Modes = tnk
 
-	# initial channel password (mode k)
-	;Key = Secret
+	# Initial channel modes, as used in "MODE" commands. Modifying lists
+	# (ban list, invite list, exception list) is supported.
+	# This option can be specified multiple times, evaluated top to bottom.
+	;Modes = +tnk mykey +l 5
+	;Modes = +b nick!~user@bad.host.example.com
 
 	# Key file, syntax for each line: "<user>:<nick>:<key>".
 	# Default: none.
 	;KeyFile = :ETCDIR:/#chan.key
 
-	# maximum users per channel (mode l)
-	;MaxUsers = 23
-
 [Channel]
 	# More [Channel] sections, if you like ...
 
blob - 0971f37646874b9859cf2f3d428fd47b103fb4aa
blob + dc24bfacf508397e2e98242b42561d85bdd1e7f0
--- man/ngircd.conf.5.tmpl
+++ man/ngircd.conf.5.tmpl
@@ -1,7 +1,7 @@
 .\"
 .\" ngircd.conf(5) manual page template
 .\"
-.TH ngircd.conf 5 "Jan 2020" ngIRCd "ngIRCd Manual"
+.TH ngircd.conf 5 "Apr 2020" ngIRCd "ngIRCd Manual"
 .SH NAME
 ngircd.conf \- configuration file of ngIRCd
 .SH SYNOPSIS
@@ -510,10 +510,12 @@ Name of the channel, including channel prefix ("#" or 
 Topic for this channel.
 .TP
 \fBModes\fR (string)
-Initial channel modes.
-.TP
-\fBKey\fR (string)
-Sets initial channel key (only relevant if channel mode "k" is set).
+Initial channel modes, as used in "MODE" commands. Modifying lists (ban list,
+invite list, exception list) is supported.
+.PP
+.RS
+This option can be specified multiple times, evaluated top to bottom.
+.RE
 .TP
 \fBKeyFile\fR (string)
 Path and file name of a "key file" containing individual channel keys for
@@ -557,10 +559,6 @@ The file is not reopened on each access, so you can mo
 without problems, but moving or deleting the file will have not effect until
 the daemon re-reads its configuration!
 .RE
-.TP
-\fBMaxUsers\fR (number)
-Set maximum user limit for this channel (only relevant if channel mode "l"
-is set).
 .SH HINTS
 It's wise to use "ngircd \-\-configtest" to validate the configuration file
 after changing it. See