diff --git a/doc/sample-ngircd.conf.tmpl b/doc/sample-ngircd.conf.tmpl index 6d9d7709..57e65892 100644 --- a/doc/sample-ngircd.conf.tmpl +++ b/doc/sample-ngircd.conf.tmpl @@ -297,15 +297,16 @@ # Connect to the remote server using TLS/SSL (Default: false) ;SSLConnect = yes - # Define a (case insensitive) mask matching nick names that should be - # treated as IRC services when introduced via this remote server. + # Define a (case insensitive) list of masks matching nick names that + # should be treated as IRC services when introduced via this remote + # server, separated by commas (","). # REGULAR SERVERS DON'T NEED this parameter, so leave it empty # (which is the default). # When you are connecting IRC services which mask as a IRC server # and which use "virtual users" to communicate with, for example # "NickServ" and "ChanServ", you should set this parameter to - # something like "*Serv". - ;ServiceMask = *Serv + # something like "*Serv" or "NickServ,ChanServ,XyzServ". + ;ServiceMask = *Serv,Global [Server] # More [Server] sections, if you like ... diff --git a/man/ngircd.conf.5.tmpl b/man/ngircd.conf.5.tmpl index 71f00078..aff11a67 100644 --- a/man/ngircd.conf.5.tmpl +++ b/man/ngircd.conf.5.tmpl @@ -422,14 +422,16 @@ You can use the IRC Operator command CONNECT later on to create the link. Connect to the remote server using TLS/SSL. Default: false. .TP \fBServiceMask\fR (string) -Define a (case insensitive) mask matching nick names that should be treated as -IRC services when introduced via this remote server. REGULAR SERVERS DON'T NEED -this parameter, so leave it empty (which is the default). +Define a (case insensitive) list of masks matching nick names that should be +treated as IRC services when introduced via this remote server, separated +by commas (","). REGULAR SERVERS DON'T NEED this parameter, so leave it empty +(which is the default). .PP .RS When you are connecting IRC services which mask as a IRC server and which use "virtual users" to communicate with, for example "NickServ" and "ChanServ", -you should set this parameter to something like "*Serv". +you should set this parameter to something like "*Serv", "*Serv,OtherNick", +or "NickServ,ChanServ,XyzServ". .SH [CHANNEL] Pre-defined channels can be configured in .I [Channel] diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index 41b5469a..3966dc90 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -648,7 +648,8 @@ Conf_NickIsService(int ConfServer, const char *Nick) assert (ConfServer >= 0); assert (ConfServer < MAX_SERVERS); - return MatchCaseInsensitive(Conf_Server[ConfServer].svs_mask, Nick); + return MatchCaseInsensitiveList(Conf_Server[ConfServer].svs_mask, + Nick, ","); } /**