This only has an effect at connection time, and the
ConfItem flag suffices for that.
{"gline_exempt", FLAGS2_EXEMPTGLINE },
{"kline_exempt", FLAGS2_EXEMPTKLINE },
{"flood_exempt", FLAGS2_EXEMPTFLOOD },
{"gline_exempt", FLAGS2_EXEMPTGLINE },
{"kline_exempt", FLAGS2_EXEMPTKLINE },
{"flood_exempt", FLAGS2_EXEMPTFLOOD },
- /*{"exceed_limit", FLAGS2_NOLIMIT }, no effect (?) */
{"spambot_exempt", FLAGS2_EXEMPTSPAMBOT },
{"shide_exempt", FLAGS2_EXEMPTSHIDE },
{"jupe_exempt", FLAGS2_EXEMPTJUPE },
{"spambot_exempt", FLAGS2_EXEMPTSPAMBOT },
{"shide_exempt", FLAGS2_EXEMPTSHIDE },
{"jupe_exempt", FLAGS2_EXEMPTJUPE },
#define FLAGS2_EXEMPTGLINE 0x00800000
#define FLAGS2_EXEMPTKLINE 0x01000000
#define FLAGS2_EXEMPTFLOOD 0x02000000
#define FLAGS2_EXEMPTGLINE 0x00800000
#define FLAGS2_EXEMPTKLINE 0x01000000
#define FLAGS2_EXEMPTFLOOD 0x02000000
-#define FLAGS2_NOLIMIT 0x04000000
#define FLAGS2_IP_SPOOFING 0x10000000
#define FLAGS2_EXEMPTSPAMBOT 0x20000000
#define FLAGS2_EXEMPTSHIDE 0x40000000
#define FLAGS2_IP_SPOOFING 0x10000000
#define FLAGS2_EXEMPTSPAMBOT 0x20000000
#define FLAGS2_EXEMPTSHIDE 0x40000000
*/
#define IsExemptKline(x) ((x)->flags2 & FLAGS2_EXEMPTKLINE)
#define SetExemptKline(x) ((x)->flags2 |= FLAGS2_EXEMPTKLINE)
*/
#define IsExemptKline(x) ((x)->flags2 & FLAGS2_EXEMPTKLINE)
#define SetExemptKline(x) ((x)->flags2 |= FLAGS2_EXEMPTKLINE)
-#define IsExemptLimits(x) ((x)->flags2 & FLAGS2_NOLIMIT)
-#define SetExemptLimits(x) ((x)->flags2 |= FLAGS2_NOLIMIT)
#define IsExemptGline(x) ((x)->flags2 & FLAGS2_EXEMPTGLINE)
#define SetExemptGline(x) ((x)->flags2 |= FLAGS2_EXEMPTGLINE)
#define IsExemptFlood(x) ((x)->flags2 & FLAGS2_EXEMPTFLOOD)
#define IsExemptGline(x) ((x)->flags2 & FLAGS2_EXEMPTGLINE)
#define SetExemptGline(x) ((x)->flags2 |= FLAGS2_EXEMPTGLINE)
#define IsExemptFlood(x) ((x)->flags2 & FLAGS2_EXEMPTFLOOD)
else
{
sendto_one_notice(client_p, ":*** I: line is full, but you have an >I: line!");
else
{
sendto_one_notice(client_p, ":*** I: line is full, but you have an >I: line!");
- SetExemptLimits(client_p);
*/
/* Except "F:" clients */
if(dlink_list_length(&lclient_list) >=
*/
/* Except "F:" clients */
if(dlink_list_length(&lclient_list) >=
- (unsigned long)GlobalSetOptions.maxclients && !IsExemptLimits(source_p))
+ (unsigned long)GlobalSetOptions.maxclients && !IsConfExemptLimits(aconf))
{
sendto_realops_snomask(SNO_FULL, L_ALL,
"Too many clients, rejecting %s[%s].", source_p->name, source_p->host);
{
sendto_realops_snomask(SNO_FULL, L_ALL,
"Too many clients, rejecting %s[%s].", source_p->name, source_p->host);
/* If this user is exempt from user limits set it F lined" */
if(IsConfExemptLimits(aconf))
{
/* If this user is exempt from user limits set it F lined" */
if(IsConfExemptLimits(aconf))
{
- SetExemptLimits(source_p);
sendto_one_notice(source_p, ":*** You are exempt from user limits. congrats.");
}
sendto_one_notice(source_p, ":*** You are exempt from user limits. congrats.");
}