Module: ngircd.git Branch: master Commit: 186ab51137886166ad56f1682d7caafff61cf304 URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=186ab...
Author: Alexander Barton alex@barton.de Date: Mon Aug 27 23:20:32 2012 +0200
Only allow IRC services to modify user mode "R"
---
src/ngircd/irc-mode.c | 5 ++--- src/ngircd/messages.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c index 1776936..ca4cdd0 100644 --- a/src/ngircd/irc-mode.c +++ b/src/ngircd/irc-mode.c @@ -256,9 +256,8 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target ) ERR_RESTRICTED_MSG, Client_ID(Origin)); break; - case 'R': /* Registered (only unsettable) */ - if (!set || Client_Type(Client) == CLIENT_SERVICE - || Client_Type(Client) == CLIENT_SERVER) + case 'R': /* Registered (not [un]settable by clients) */ + if (Client_Type(Client) == CLIENT_SERVER) x[0] = 'R'; else ok = IRC_WriteStrClient(Origin, diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h index 4aed70f..82cc30f 100644 --- a/src/ngircd/messages.h +++ b/src/ngircd/messages.h @@ -138,7 +138,7 @@ #define ERR_CHANOPRIVSNEEDED_MSG "482 %s %s :You are not channel operator" #define ERR_CANTKILLSERVER_MSG "483 %s :You can't kill a server!" #define ERR_RESTRICTED_MSG "484 %s :Your connection is restricted" -#define ERR_NICKREGISTER_MSG "484 %s :Cannot set user mode (+R) -- Use IRC services" +#define ERR_NICKREGISTER_MSG "484 %s :Cannot modify user mode (+R) -- Use IRC services" #define ERR_NOOPERHOST_MSG "491 %s :Not configured for your host" #define ERR_NOTONSAMECHANNEL_MSG "493 %s :You must share a common channel with %s"
ngircd-commits@lists.barton.de