mirror of
https://github.com/matrix-construct/construct
synced 2024-12-26 15:33:54 +01:00
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
|
||||
X E - Shows Events
|
||||
X f - Shows File Descriptors
|
||||
* g - Shows global K lines
|
||||
^ h - Shows hub_mask/leaf_mask (Old H:/L: lines)
|
||||
^ i - Shows auth blocks (Old I: lines)
|
||||
^ 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_exempt(struct Client *);
|
||||
static void stats_events(struct Client *);
|
||||
static void stats_prop_klines(struct Client *);
|
||||
static void stats_hubleaf(struct Client *);
|
||||
static void stats_auth(struct Client *);
|
||||
static void stats_tklines(struct Client *);
|
||||
|
@ -137,6 +138,7 @@ static struct StatsStruct stats_cmd_table[] = {
|
|||
{'E', stats_events, 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, },
|
||||
{'i', stats_auth, 0, 0, },
|
||||
|
@ -450,6 +452,32 @@ stats_events (struct Client *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
|
||||
stats_hubleaf(struct Client *source_p)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue