From 6c70c576cc4f322a742898ad3a6d8154c68b5229 Mon Sep 17 00:00:00 2001 From: jilles Date: Wed, 4 Apr 2007 17:33:52 -0700 Subject: [PATCH] [svn] Don't allow /quote set max higher than the serverinfo::max_clients ircd.conf value. --- ChangeLog | 13 +++++++++++++ include/serno.h | 2 +- modules/m_set.c | 12 ++++++++++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 690082c..ef5e0ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +jilles 2007/04/05 00:24:47 UTC (20070405-3392) + Log: + Change code that checks maxclients limit: allow exactly + the configured amount of non-exceed_limit clients. + Code that appeared to limit exceed_limit clients too + but less heavily removed (it was not effective because + the parentheses were wrong). + + + Changes: Modified: + +2 -4 trunk/src/s_user.c (File Modified) + + jilles 2007/04/05 00:12:55 UTC (20070405-3390) Log: By default, leave MAX_BUFFER fds free for log files, diff --git a/include/serno.h b/include/serno.h index 9fdeed7..1ab1504 100644 --- a/include/serno.h +++ b/include/serno.h @@ -1 +1 @@ -#define SERNO "20070405-3390" +#define SERNO "20070405-3392" diff --git a/modules/m_set.c b/modules/m_set.c index b05a8ba..6166c0f 100644 --- a/modules/m_set.c +++ b/modules/m_set.c @@ -21,7 +21,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * - * $Id: m_set.c 3253 2007-03-05 19:01:05Z nenolod $ + * $Id: m_set.c 3394 2007-04-05 00:33:52Z jilles $ */ /* rewritten by jdc */ @@ -52,7 +52,7 @@ struct Message set_msgtab = { }; mapi_clist_av1 set_clist[] = { &set_msgtab, NULL }; -DECLARE_MODULE_AV1(set, NULL, NULL, set_clist, NULL, NULL, "$Revision: 3253 $"); +DECLARE_MODULE_AV1(set, NULL, NULL, set_clist, NULL, NULL, "$Revision: 3394 $"); /* Structure used for the SET table itself */ struct SetStruct @@ -246,6 +246,14 @@ quote_max(struct Client *source_p, int newval) { if(newval > 0) { + if(newval > ServerInfo.max_clients) + { + sendto_one(source_p, + ":%s NOTICE %s :You cannot set MAXCLIENTS to > max_clients (%d)", + me.name, source_p->name, ServerInfo.max_clients); + return; + } + if(newval < 32) { sendto_one_notice(source_p, ":You cannot set MAXCLIENTS to < 32 (%d:%d)",