Add /stats g to show propagated (global) klines.
This commit is contained in:
parent
6229f9f83b
commit
416d868ed4
2 changed files with 29 additions and 0 deletions
|
@ -16,6 +16,7 @@ X B - Shows hash statistics
|
||||||
* e - Shows exemptions to D lines
|
* e - Shows exemptions to D lines
|
||||||
X E - Shows Events
|
X E - Shows Events
|
||||||
X f - Shows File Descriptors
|
X f - Shows File Descriptors
|
||||||
|
* g - Shows global K lines
|
||||||
^ h - Shows hub_mask/leaf_mask (Old H:/L: lines)
|
^ h - Shows hub_mask/leaf_mask (Old H:/L: lines)
|
||||||
^ i - Shows auth blocks (Old I: lines)
|
^ i - Shows auth blocks (Old I: lines)
|
||||||
^ K - Shows K lines (or matched klines)
|
^ K - Shows K lines (or matched klines)
|
||||||
|
|
|
@ -94,6 +94,7 @@ static void stats_tdeny(struct Client *);
|
||||||
static void stats_deny(struct Client *);
|
static void stats_deny(struct Client *);
|
||||||
static void stats_exempt(struct Client *);
|
static void stats_exempt(struct Client *);
|
||||||
static void stats_events(struct Client *);
|
static void stats_events(struct Client *);
|
||||||
|
static void stats_prop_klines(struct Client *);
|
||||||
static void stats_hubleaf(struct Client *);
|
static void stats_hubleaf(struct Client *);
|
||||||
static void stats_auth(struct Client *);
|
static void stats_auth(struct Client *);
|
||||||
static void stats_tklines(struct Client *);
|
static void stats_tklines(struct Client *);
|
||||||
|
@ -137,6 +138,7 @@ static struct StatsStruct stats_cmd_table[] = {
|
||||||
{'E', stats_events, 1, 1, },
|
{'E', stats_events, 1, 1, },
|
||||||
{'f', stats_comm, 1, 1, },
|
{'f', stats_comm, 1, 1, },
|
||||||
{'F', stats_comm, 1, 1, },
|
{'F', stats_comm, 1, 1, },
|
||||||
|
{'g', stats_prop_klines, 1, 0, },
|
||||||
{'h', stats_hubleaf, 0, 0, },
|
{'h', stats_hubleaf, 0, 0, },
|
||||||
{'H', stats_hubleaf, 0, 0, },
|
{'H', stats_hubleaf, 0, 0, },
|
||||||
{'i', stats_auth, 0, 0, },
|
{'i', stats_auth, 0, 0, },
|
||||||
|
@ -450,6 +452,32 @@ stats_events (struct Client *source_p)
|
||||||
rb_dump_events(stats_events_cb, source_p);
|
rb_dump_events(stats_events_cb, source_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
stats_prop_klines(struct Client *source_p)
|
||||||
|
{
|
||||||
|
struct ConfItem *aconf;
|
||||||
|
rb_dlink_node *ptr;
|
||||||
|
char *user, *host, *pass, *oper_reason;
|
||||||
|
|
||||||
|
RB_DLINK_FOREACH(ptr, prop_bans.head)
|
||||||
|
{
|
||||||
|
aconf = ptr->data;
|
||||||
|
|
||||||
|
/* Skip non-klines and deactivated klines. */
|
||||||
|
if(aconf->status != CONF_KILL)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
get_printable_kline(source_p, aconf, &host, &pass,
|
||||||
|
&user, &oper_reason);
|
||||||
|
|
||||||
|
sendto_one_numeric(source_p, RPL_STATSKLINE,
|
||||||
|
form_str(RPL_STATSKLINE),
|
||||||
|
'g', host, user, pass,
|
||||||
|
oper_reason ? "|" : "",
|
||||||
|
oper_reason ? oper_reason : "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
stats_hubleaf(struct Client *source_p)
|
stats_hubleaf(struct Client *source_p)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue