diff options
Diffstat (limited to 'modules/m_testmask.c')
-rw-r--r-- | modules/m_testmask.c | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/modules/m_testmask.c b/modules/m_testmask.c deleted file mode 100644 index 78d02d5..0000000 --- a/modules/m_testmask.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd). - * m_testmask.c: Counts the birdies err local and remote clients. - * - * Copyright (C) 2005 by Diane Bruce - * Coypright (C) 2005 ircd-hybrid team - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * 1.Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2.Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3.The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * $Id$ - */ - -#include "stdinc.h" -#include "client.h" -#include "irc_string.h" -#include "ircd_defs.h" -#include "ircd.h" -#include "restart.h" -#include "conf.h" -#include "send.h" -#include "hostmask.h" -#include "numeric.h" -#include "parse.h" -#include "modules.h" - - -/* mo_testmask() - * - * inputs - pointer to physical connection request is coming from - * - pointer to source connection request is coming from - * - parc arg count - * - parv actual arguments - * output - NONE - * side effects - count up clients matching mask - * i.e. /quote testmask user@host - */ -static void -mo_testmask(struct Client *client_p, struct Client *source_p, - int parc, char *parv[]) -{ - struct split_nuh_item nuh; - char given_nick[IRCD_BUFSIZE]; - char given_user[IRCD_BUFSIZE]; - char given_host[IRCD_BUFSIZE]; - unsigned int count[2] = { 0, 0 }; - const dlink_node *ptr = NULL; - - if (EmptyString(parv[1])) - { - sendto_one(source_p, form_str(ERR_NEEDMOREPARAMS), - me.name, source_p->name, "TESTMASK"); - return; - } - - nuh.nuhmask = parv[1]; - nuh.nickptr = given_nick; - nuh.userptr = given_user; - nuh.hostptr = given_host; - - nuh.nicksize = sizeof(given_nick); - nuh.usersize = sizeof(given_user); - nuh.hostsize = sizeof(given_host); - - split_nuh(&nuh); - - DLINK_FOREACH(ptr, global_client_list.head) - { - const struct Client *target_p = ptr->data; - - if (!IsClient(target_p) || match(given_nick, target_p->name)) - continue; - - if (!match(given_user, target_p->username)) - if (!match(given_host, target_p->host) || !match(given_host, target_p->sockhost)) - ++count[!MyConnect(target_p)]; - } - - sendto_one(source_p, form_str(RPL_TESTMASK), me.name, - source_p->name, - given_nick, given_user, - given_host, count[0], count[1]); -} - -static struct Message testmask_msgtab = { - "TESTMASK", 0, 0, 2, MAXPARA, MFLG_SLOW, 0, - {m_unregistered, m_not_oper, m_ignore, m_ignore, mo_testmask, m_ignore} -}; - -static void -module_init(void) -{ - mod_add_cmd(&testmask_msgtab); -} - -static void -module_exit(void) -{ - mod_del_cmd(&testmask_msgtab); -} - -struct module module_entry = { - .node = { NULL, NULL, NULL }, - .name = NULL, - .version = "$Revision$", - .handle = NULL, - .modinit = module_init, - .modexit = module_exit, - .flags = 0 -}; |