X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fm_oper.c;h=c6986eef6ef3b206d254aa564582282b3929f793;hb=56f512008e81aeae915b2b7f6bcdd54b549188d3;hp=47cb0b0f130ac4cd1d4086a53d04e2b543c92635;hpb=03c46045d7842ef91735201a7ec14f229bc47c12;p=ircu2.10.12-pk.git diff --git a/ircd/m_oper.c b/ircd/m_oper.c index 47cb0b0..c6986ee 100644 --- a/ircd/m_oper.c +++ b/ircd/m_oper.c @@ -81,14 +81,6 @@ */ #include "config.h" -#if 0 -/* - * No need to include handlers.h here the signatures must match - * and we don't need to force a rebuild of all the handlers everytime - * we add a new one to the list. --Bleep - */ -#include "handlers.h" -#endif /* 0 */ #include "client.h" #include "hash.h" #include "ircd.h" @@ -233,121 +225,3 @@ int mo_oper(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) send_reply(sptr, RPL_YOUREOPER); return 0; } - -#if 0 -/* - * m_oper - * parv[0] = sender prefix - * parv[1] = oper name - * parv[2] = oper password - */ -int m_oper(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) -{ - struct ConfItem* aconf; - char* name; - char* password; - const char* encr; -#ifdef CRYPT_OPER_PASSWORD - char salt[3]; -#endif /* CRYPT_OPER_PASSWORD */ - - name = parc > 1 ? parv[1] : 0; - password = parc > 2 ? parv[2] : 0; - - if (!IsServer(cptr) && (EmptyString(name) || EmptyString(password))) - return need_more_params(sptr, "OPER"); - - /* if message arrived from server, trust it, and set to oper */ - - if (IsServer(cptr) && !IsOper(sptr)) { - ++UserStats.opers; - sptr->flags |= FLAGS_OPER; - sendto_serv_butone(cptr, "%s%s " TOK_MODE " %s :+o", NumNick(sptr), parv[0]); /* XXX DEAD */ - return 0; - } - else if (IsAnOper(sptr)) { - if (MyConnect(sptr)) - sendto_one(sptr, rpl_str(RPL_YOUREOPER), me.name, parv[0]); /* XXX DEAD */ - return 0; - } - assert(cptr == sptr); - aconf = find_conf_exact(name, sptr->username, sptr->sockhost, CONF_OPS); - if (!aconf) - aconf = find_conf_exact(name, sptr->username, - ircd_ntoa((const char*) &cptr->ip), CONF_OPS); - - if (!aconf || IsIllegal(aconf)) { - sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, parv[0]); /* XXX DEAD */ - sendto_realops("Failed OPER attempt by %s (%s@%s)", /* XXX DEAD */ - parv[0], sptr->user->username, sptr->sockhost); - return 0; - } - assert(0 != (aconf->status & CONF_OPS)); - -#ifdef CRYPT_OPER_PASSWORD - /* use first two chars of the password they send in as salt */ - - /* passwd may be NULL. Head it off at the pass... */ - salt[0] = '\0'; - if (password && aconf->passwd) - { - salt[0] = aconf->passwd[0]; - salt[1] = aconf->passwd[1]; - salt[2] = '\0'; - encr = ircd_crypt(password, salt); - } - else - encr = ""; -#else - encr = password; -#endif /* CRYPT_OPER_PASSWORD */ - - if (0 == strcmp(encr, aconf->passwd)) { - int old = (sptr->flags & ALL_UMODES); - - if (ACR_OK != attach_conf(sptr, aconf)) { - sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, parv[0]); /* XXX DEAD */ - sendto_realops("Failed OPER attempt by %s (%s@%s)", /* XXX DEAD */ - parv[0], sptr->user->username, sptr->sockhost); - return 0; - } -#ifdef OPER_REMOTE - if (aconf->status == CONF_LOCOP) { -#else - if (!IsLocal(sptr)) || aconf->status == CONF_LOCOP) { -#endif - ClearOper(sptr); - SetLocOp(sptr); - } - else { - /* prevent someone from being both oper and local oper */ - ClearLocOp(sptr); - SetOper(sptr); - ++UserStats.opers; - } - cptr->handler = OPER_HANDLER; - sendto_ops("%s (%s@%s) is now operator (%c)", parv[0], /* XXX DEAD */ - sptr->user->username, sptr->sockhost, IsOper(sptr) ? 'O' : 'o'); - - sptr->flags |= (FLAGS_WALLOP | FLAGS_SERVNOTICE | FLAGS_DEBUG); - set_snomask(sptr, SNO_OPERDEFAULT, SNO_ADD); - send_umode_out(cptr, sptr, old); - sendto_one(sptr, rpl_str(RPL_YOUREOPER), me.name, parv[0]); /* XXX DEAD */ - - ircd_log(L_INFO, "OPER (%s) by (%s!%s@%s)", /* XXX DEAD */ - name, parv[0], sptr->user->username, sptr->sockhost); -#ifdef FNAME_OPERLOG - if (IsUser(sptr)) - write_log(FNAME_OPERLOG, /* XXX DEAD */ - "%s OPER (%s) by (%s!%s@%s)\n", myctime(CurrentTime), - name, parv[0], sptr->user->username, sptr->sockhost); -#endif - } - else { - sendto_one(sptr, err_str(ERR_PASSWDMISMATCH), me.name, parv[0]); /* XXX DEAD */ - sendto_realops("Failed OPER attempt by %s (%s@%s)", /* XXX DEAD */ - parv[0], sptr->user->username, sptr->sockhost); - } - return 0; -} -#endif /* 0 */