X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/7baa37a9ef4c66708d7505dfda182339461232cf..6cac5cce0fedf3f0ed0de91d51539c8b8629fd9f:/extensions/m_sendbans.c diff --git a/extensions/m_sendbans.c b/extensions/m_sendbans.c index 93204447..a6e15512 100644 --- a/extensions/m_sendbans.c +++ b/extensions/m_sendbans.c @@ -31,7 +31,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "ircd.h" #include "match.h" #include "numeric.h" @@ -43,9 +42,12 @@ #include "hash.h" #include "modules.h" #include "messages.h" -#include "irc_radixtree.h" +#include "rb_radixtree.h" -static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static const char sendbands_desc[] = + "Adds the ability to send all permanent RESVs and XLINEs to given server"; + +static void mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); struct Message sendbans_msgtab = { "SENDBANS", 0, 0, 0, 0, @@ -57,7 +59,7 @@ mapi_clist_av1 sendbans_clist[] = { NULL }; -DECLARE_MODULE_AV1(sendbans, NULL, NULL, sendbans_clist, NULL, NULL, "$Revision$"); +DECLARE_MODULE_AV2(sendbans, NULL, NULL, sendbans_clist, NULL, NULL, NULL, NULL, sendbands_desc); static const char *expand_xline(const char *mask) { @@ -83,32 +85,33 @@ static const char *expand_xline(const char *mask) return buf; } -static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) +static void +mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { struct ConfItem *aconf; rb_dlink_node *ptr; - int i, count; + int count; const char *target, *mask2; struct Client *server_p; - struct irc_radixtree_iteration_state state; + struct rb_radixtree_iteration_state state; if (!IsOperRemoteBan(source_p)) { sendto_one(source_p, form_str(ERR_NOPRIVS), me.name, source_p->name, "remoteban"); - return 0; + return; } if (!IsOperXline(source_p)) { sendto_one(source_p, form_str(ERR_NOPRIVS), me.name, source_p->name, "xline"); - return 0; + return; } if (!IsOperResv(source_p)) { sendto_one(source_p, form_str(ERR_NOPRIVS), me.name, source_p->name, "resv"); - return 0; + return; } target = parv[1]; @@ -125,7 +128,7 @@ static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct { sendto_one_numeric(source_p, ERR_NOSUCHSERVER, form_str(ERR_NOSUCHSERVER), target); - return 0; + return; } sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, @@ -144,7 +147,7 @@ static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct target, aconf->host, aconf->passwd); } - IRC_RADIXTREE_FOREACH(aconf, &state, resv_tree) + RB_RADIXTREE_FOREACH(aconf, &state, resv_tree) { if (aconf->hold) continue; @@ -171,6 +174,4 @@ static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct "ENCAP %s XLINE 0 %s 2 :%s", target, mask2, aconf->passwd); } - - return 0; }