To show operator blocks, only /stats o (lowercase) now works.
<para>Show operator blocks</para>
</listitem>
</varlistentry>
<para>Show operator blocks</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>O</term>
+ <listitem>
+ <para>Show privset blocks</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>p</term>
<listitem>
<varlistentry>
<term>p</term>
<listitem>
l - Shows hostname and generic info about [nick]
m - Shows commands and their usage
n - Shows DNS blacklists
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
^ o - Shows operator blocks (Old O: lines)
^ P - Shows configured ports
p - Shows online opers
void privilegeset_unref(struct PrivilegeSet *set);
void privilegeset_mark_all_illegal(void);
void privilegeset_delete_all_illegal(void);
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);
static void stats_messages(struct Client *);
static void stats_dnsbl(struct Client *);
static void stats_oper(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 *);
static void stats_operedup(struct Client *);
static void stats_ports(struct Client *);
static void stats_tresv(struct Client *);
{'M', stats_messages, 0, 0, },
{'n', stats_dnsbl, 0, 0, },
{'o', stats_oper, 0, 0, },
{'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, },
{'p', stats_operedup, 0, 0, },
{'P', stats_ports, 0, 0, },
{'q', stats_tresv, 1, 0, },
+static void
+stats_privset(struct Client *source_p)
+{
+ privilegeset_report(source_p);
+}
#include <stdinc.h>
#include "s_conf.h"
#include "privilege.h"
#include <stdinc.h>
#include "s_conf.h"
#include "privilege.h"
static rb_dlink_list privilegeset_list = {};
static rb_dlink_list privilegeset_list = {};
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);
+ }
+}