Change /stats O to show privset blocks (oper only).
To show operator blocks, only /stats o (lowercase) now works.
This commit is contained in:
parent
be15a2ac40
commit
3a17735469
5 changed files with 33 additions and 1 deletions
|
@ -1014,6 +1014,12 @@
|
|||
<para>Show operator blocks</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>O</term>
|
||||
<listitem>
|
||||
<para>Show privset blocks</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>p</term>
|
||||
<listitem>
|
||||
|
|
|
@ -24,6 +24,7 @@ X f - Shows File Descriptors
|
|||
l - Shows hostname and generic info about [nick]
|
||||
m - Shows commands and their usage
|
||||
n - Shows DNS blacklists
|
||||
* O - Shows privset blocks
|
||||
^ o - Shows operator blocks (Old O: lines)
|
||||
^ P - Shows configured ports
|
||||
p - Shows online opers
|
||||
|
|
|
@ -47,5 +47,6 @@ struct PrivilegeSet *privilegeset_ref(struct PrivilegeSet *set);
|
|||
void privilegeset_unref(struct PrivilegeSet *set);
|
||||
void privilegeset_mark_all_illegal(void);
|
||||
void privilegeset_delete_all_illegal(void);
|
||||
void privilegeset_report(struct Client *source_p);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -101,6 +101,7 @@ static void stats_klines(struct Client *);
|
|||
static void stats_messages(struct Client *);
|
||||
static void stats_dnsbl(struct Client *);
|
||||
static void stats_oper(struct Client *);
|
||||
static void stats_privset(struct Client *);
|
||||
static void stats_operedup(struct Client *);
|
||||
static void stats_ports(struct Client *);
|
||||
static void stats_tresv(struct Client *);
|
||||
|
@ -148,7 +149,7 @@ static struct StatsStruct stats_cmd_table[] = {
|
|||
{'M', stats_messages, 0, 0, },
|
||||
{'n', stats_dnsbl, 0, 0, },
|
||||
{'o', stats_oper, 0, 0, },
|
||||
{'O', stats_oper, 0, 0, },
|
||||
{'O', stats_privset, 1, 0, },
|
||||
{'p', stats_operedup, 0, 0, },
|
||||
{'P', stats_ports, 0, 0, },
|
||||
{'q', stats_tresv, 1, 0, },
|
||||
|
@ -678,6 +679,11 @@ stats_oper(struct Client *source_p)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
stats_privset(struct Client *source_p)
|
||||
{
|
||||
privilegeset_report(source_p);
|
||||
}
|
||||
|
||||
/* stats_operedup()
|
||||
*
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include <stdinc.h>
|
||||
#include "s_conf.h"
|
||||
#include "privilege.h"
|
||||
#include "numeric.h"
|
||||
|
||||
static rb_dlink_list privilegeset_list = {};
|
||||
|
||||
|
@ -189,3 +190,20 @@ privilegeset_delete_all_illegal(void)
|
|||
privilegeset_unref(set);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
privilegeset_report(struct Client *source_p)
|
||||
{
|
||||
rb_dlink_node *ptr;
|
||||
|
||||
RB_DLINK_FOREACH(ptr, privilegeset_list.head)
|
||||
{
|
||||
struct PrivilegeSet *set = ptr->data;
|
||||
|
||||
/* use RPL_STATSDEBUG for now -- jilles */
|
||||
sendto_one_numeric(source_p, RPL_STATSDEBUG,
|
||||
"O :%s %s",
|
||||
set->name,
|
||||
set->privs);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue