commit - 35f1db5f28245579efbbb06eed6eaf1a3d6d84bc
commit + 5713c49c8480639f08f7fff82fb5a40e8566e1dc
blob - aee7491c20783051d24d65705637c25ac3779cac
blob + a9317873a92192454883ff23006a6e0fb01097c6
--- doc/Modes.txt
+++ doc/Modes.txt
ngIRCd - Next Generation IRC Server
http://ngircd.barton.de/
- (c)2001-2012 Alexander Barton and Contributors.
+ (c)2001-2014 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
B 20 User is flagged as a "bot".
c 17 IRC operator wants to receive connect/disconnect NOTICEs.
C 19 Only users that share a channel are allowed to send messages.
+ F 22 Relaxed flood protection (only settable by IRC Operators).
i 0.0.1 User is "invisible".
o 0.0.1 User is IRC operator.
q 20 User is protected, can not be kicked from a channel.
blob - 77c8cd8a04ae7c6dca8958663326b52a34053180
blob + 5c175dfd26e1bec492c2cb545296d6c37c58a55e
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
maxcmd *= 5;
break;
case CLIENT_SERVICE:
- maxcmd = MAX_COMMANDS_SERVICE; break;
+ maxcmd = MAX_COMMANDS_SERVICE;
+ break;
+ case CLIENT_USER:
+ if (Client_HasMode(c, 'F'))
+ maxcmd = MAX_COMMANDS_SERVICE;
+ break;
}
for (i=0; i < maxcmd; i++) {
|| Client_Type(Client) == CLIENT_SERVICE)
return;
+ /* Don't throttle clients with user mode 'F' set */
+ if (Client_HasMode(Client, 'F'))
+ return;
+
LogDebug("Throttling connection %d: code %d, value %d!", Idx,
Reason, Value);
Conn_SetPenalty(Idx, 1);
blob - 361564f00d239b297de3c87ce68e33fb05447ec6
blob + 4acdc477007febe97a8faa03133e4a2d15f98595
--- src/ngircd/defines.h
+++ src/ngircd/defines.h
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#endif
/** Supported user modes. */
-#define USERMODES "abBcCioqrRswx"
+#define USERMODES "abBcCFioqrRswx"
/** Supported channel modes. */
#define CHANMODES "abehiIklmMnoOPqQrRstvVz"
blob - 6a670079dd6fe7de05177e9ac8f668037920a4fe
blob + fe981213b33c8d85a3ad3ccb467e54fd6b54b56d
--- src/ngircd/irc-mode.c
+++ src/ngircd/irc-mode.c
break;
case 'c': /* Receive connect notices */
case 'q': /* KICK-protected user */
+ case 'F': /* disable flood protection */
/* (only settable by IRC operators!) */
if (!set || Client_Type(Client) == CLIENT_SERVER
|| Client_HasMode(Origin, 'o'))