mirror of
https://github.com/matrix-construct/construct
synced 2024-12-27 07:54:05 +01:00
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>
|
<para>Show operator blocks</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>O</term>
|
||||||
|
<listitem>
|
||||||
|
<para>Show privset blocks</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>p</term>
|
<term>p</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
|
@ -24,6 +24,7 @@ X f - Shows File Descriptors
|
||||||
l - Shows hostname and generic info about [nick]
|
l - Shows hostname and generic info about [nick]
|
||||||
m - Shows commands and their usage
|
m - Shows commands and their usage
|
||||||
n - Shows DNS blacklists
|
n - Shows DNS blacklists
|
||||||
|
* O - Shows privset blocks
|
||||||
^ o - Shows operator blocks (Old O: lines)
|
^ o - Shows operator blocks (Old O: lines)
|
||||||
^ P - Shows configured ports
|
^ P - Shows configured ports
|
||||||
p - Shows online opers
|
p - Shows online opers
|
||||||
|
|
|
@ -47,5 +47,6 @@ struct PrivilegeSet *privilegeset_ref(struct PrivilegeSet *set);
|
||||||
void privilegeset_unref(struct PrivilegeSet *set);
|
void privilegeset_unref(struct PrivilegeSet *set);
|
||||||
void privilegeset_mark_all_illegal(void);
|
void privilegeset_mark_all_illegal(void);
|
||||||
void privilegeset_delete_all_illegal(void);
|
void privilegeset_delete_all_illegal(void);
|
||||||
|
void privilegeset_report(struct Client *source_p);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -101,6 +101,7 @@ static void stats_klines(struct Client *);
|
||||||
static void stats_messages(struct Client *);
|
static void stats_messages(struct Client *);
|
||||||
static void stats_dnsbl(struct Client *);
|
static void stats_dnsbl(struct Client *);
|
||||||
static void stats_oper(struct Client *);
|
static void stats_oper(struct Client *);
|
||||||
|
static void stats_privset(struct Client *);
|
||||||
static void stats_operedup(struct Client *);
|
static void stats_operedup(struct Client *);
|
||||||
static void stats_ports(struct Client *);
|
static void stats_ports(struct Client *);
|
||||||
static void stats_tresv(struct Client *);
|
static void stats_tresv(struct Client *);
|
||||||
|
@ -148,7 +149,7 @@ static struct StatsStruct stats_cmd_table[] = {
|
||||||
{'M', stats_messages, 0, 0, },
|
{'M', stats_messages, 0, 0, },
|
||||||
{'n', stats_dnsbl, 0, 0, },
|
{'n', stats_dnsbl, 0, 0, },
|
||||||
{'o', stats_oper, 0, 0, },
|
{'o', stats_oper, 0, 0, },
|
||||||
{'O', stats_oper, 0, 0, },
|
{'O', stats_privset, 1, 0, },
|
||||||
{'p', stats_operedup, 0, 0, },
|
{'p', stats_operedup, 0, 0, },
|
||||||
{'P', stats_ports, 0, 0, },
|
{'P', stats_ports, 0, 0, },
|
||||||
{'q', stats_tresv, 1, 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()
|
/* stats_operedup()
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <stdinc.h>
|
#include <stdinc.h>
|
||||||
#include "s_conf.h"
|
#include "s_conf.h"
|
||||||
#include "privilege.h"
|
#include "privilege.h"
|
||||||
|
#include "numeric.h"
|
||||||
|
|
||||||
static rb_dlink_list privilegeset_list = {};
|
static rb_dlink_list privilegeset_list = {};
|
||||||
|
|
||||||
|
@ -189,3 +190,20 @@ privilegeset_delete_all_illegal(void)
|
||||||
privilegeset_unref(set);
|
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