* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
- *
- * $Id: m_unreject.c 3161 2007-01-25 07:23:01Z nenolod $
*/
#include "stdinc.h"
#include "modules.h"
#include "send.h"
-static int mo_unreject(struct Client *, struct Client *, int, const char **);
+static const char unreject_desc[] =
+ "Provides the UNREJECT command to remove an IP from the reject cache";
+
+static void mo_unreject(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message unreject_msgtab = {
- "UNREJECT", 0, 0, 0, MFLG_SLOW,
+ "UNREJECT", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_unreject, 2}}
};
mapi_clist_av1 unreject_clist[] = { &unreject_msgtab, NULL };
-DECLARE_MODULE_AV1(unreject, NULL, NULL, unreject_clist, NULL, NULL, "$Revision: 3161 $");
-/*\r
- * mo_unreject\r
- *\r
- */\r
-static int\r
-mo_unreject(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])\r
-{\r
- if(ConfigFileEntry.reject_after_count == 0 || ConfigFileEntry.reject_duration == 0)\r
- {\r
- sendto_one_notice(source_p, ":Reject cache is disabled");\r
- return 0; \r
- }\r
-\r
- if(!parse_netmask(parv[1], NULL, NULL))\r
- {\r
- sendto_one_notice(source_p, ":Unable to parse netmask %s", parv[1]);\r
- return 0;\r
- } \r
- \r
- if(remove_reject(parv[1]))\r
- sendto_one_notice(source_p, ":Removed reject for %s", parv[1]);\r
- else\r
- sendto_one_notice(source_p, ":Unable to remove reject for %s", parv[1]);\r
- return 0;\r
+DECLARE_MODULE_AV2(unreject, NULL, NULL, unreject_clist, NULL, NULL, NULL, NULL, unreject_desc);
+
+/*
+ * mo_unreject
+ */
+static void
+mo_unreject(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+{
+ if(ConfigFileEntry.reject_after_count == 0 || ConfigFileEntry.reject_ban_time == 0 ||
+ ConfigFileEntry.reject_duration == 0)
+ {
+ sendto_one_notice(source_p, ":Reject cache is disabled");
+ return;
+ }
+
+ if(!parse_netmask(parv[1], NULL, NULL))
+ {
+ sendto_one_notice(source_p, ":Unable to parse netmask %s", parv[1]);
+ return;
+ }
+
+ if(remove_reject_ip(parv[1]))
+ sendto_one_notice(source_p, ":Removed reject for %s", parv[1]);
+ else
+ sendto_one_notice(source_p, ":Unable to remove reject for %s", parv[1]);
}