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.
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);
/*
* 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"
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'))