Block nicknames that are reserved for services
authorAlexander Barton <alex@barton.de>
Sun, 26 Aug 2012 10:33:21 +0000 (12:33 +0200)
committerAlexander Barton <alex@barton.de>
Sun, 26 Aug 2012 10:33:21 +0000 (12:33 +0200)
commita6dd2e33c2c9e60bbd286bb07a7a6273566dec7d
tree25d9282a144698e4647b19ba9203b8b4419206ec
parent9d8974d5098e9426f9185f31b2b3853e55513f3e
Block nicknames that are reserved for services

This patch introduces the new function Conf_NickIsBlocked() which checks
if a given nick name matches with the "service mask" of a configured server.
And Client_CheckNick() uses this information to deny such names for regular
IRC users.

So nick names intended for IRC services are more protected and can't be used
by regular users even when the "services pseudo-server" isn't connected to
the network.

But please note:

Up to now, there can be only one "ServiceMask" pattern per server, which
most probably blocks much more nick names than really required ...
So "ServiceMask" should allow more than one pattern which can be more
specific, and most probably it should be possible to block nick names in
the global server configuration as well.

Nick names introduced by other servers/services are never restricted.
src/ngircd/client.c
src/ngircd/conf.c
src/ngircd/conf.h
src/ngircd/messages.h