X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/064c191ad2ec493a9f29021bb61b599aaa326d31..a099270d452af92c5640d5d6712aa0987adb7c44:/src/privilege.c diff --git a/src/privilege.c b/src/privilege.c index 09f5ea0..6b2c8b7 100644 --- a/src/privilege.c +++ b/src/privilege.c @@ -24,6 +24,7 @@ #include #include "s_conf.h" #include "privilege.h" +#include "numeric.h" static rb_dlink_list privilegeset_list = {}; @@ -172,6 +173,8 @@ privilegeset_mark_all_illegal(void) continue; set->status |= CONF_ILLEGAL; + rb_free(set->privs); + set->privs = rb_strdup(""); /* but do not free it yet */ } } @@ -189,3 +192,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); + } +}