]> jfr.im git - solanum.git/blobdiff - extensions/m_sendbans.c
Merge pull request #302 from edk0/sasl-usercloak
[solanum.git] / extensions / m_sendbans.c
index 9320444786a0fbd213d48ee853665360cb3d9b52..a6e155122d3587319520eab12528fb3206e662c1 100644 (file)
@@ -31,7 +31,6 @@
 
 #include "stdinc.h"
 #include "client.h"
-#include "common.h"
 #include "ircd.h"
 #include "match.h"
 #include "numeric.h"
 #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;
 }