X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/cbeab4bc340b7b3f4fbf424ff327758defb9598a..f956cb0f1f94923187804c772e099b9c8b9d76e5:/modules/m_oper.c diff --git a/modules/m_oper.c b/modules/m_oper.c index 724ebf6b..9afef1f8 100644 --- a/modules/m_oper.c +++ b/modules/m_oper.c @@ -24,7 +24,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" @@ -39,7 +38,11 @@ #include "packet.h" #include "cache.h" -static int m_oper(struct MsgBuf *, struct Client *, struct Client *, int, const char **); +static const char oper_desc[] = "Provides the OPER command to become an IRC operator"; + +static void m_oper(struct MsgBuf *, struct Client *, struct Client *, int, const char **); + +static bool match_oper_password(const char *password, struct oper_conf *oper_p); struct Message oper_msgtab = { "OPER", 0, 0, 0, 0, @@ -47,16 +50,15 @@ struct Message oper_msgtab = { }; mapi_clist_av1 oper_clist[] = { &oper_msgtab, NULL }; -DECLARE_MODULE_AV1(oper, NULL, NULL, oper_clist, NULL, NULL, "$Revision: 1483 $"); -static int match_oper_password(const char *password, struct oper_conf *oper_p); +DECLARE_MODULE_AV2(oper, NULL, NULL, oper_clist, NULL, NULL, NULL, NULL, oper_desc); /* * m_oper * parv[1] = oper name * parv[2] = oper password */ -static int +static void m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { struct oper_conf *oper_p; @@ -70,7 +72,7 @@ m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p { sendto_one(source_p, form_str(RPL_YOUREOPER), me.name, source_p->name); send_oper_motd(source_p); - return 0; + return; } /* end the grace period */ @@ -94,7 +96,7 @@ m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p source_p->name, source_p->username, source_p->host); } - return 0; + return; } if(IsOperConfNeedSSL(oper_p) && !IsSSLClient(source_p)) @@ -110,12 +112,12 @@ m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p "Failed OPER attempt - missing SSL/TLS by %s (%s@%s)", source_p->name, source_p->username, source_p->host); } - return 0; + return; } if (oper_p->certfp != NULL) { - if (source_p->certfp == NULL || strcasecmp(source_p->certfp, oper_p->certfp)) + if (source_p->certfp == NULL || rb_strcasecmp(source_p->certfp, oper_p->certfp)) { sendto_one_numeric(source_p, ERR_NOOPERHOST, form_str(ERR_NOOPERHOST)); ilog(L_FOPER, "FAILED OPER (%s) by (%s!%s@%s) (%s) -- client certificate fingerprint mismatch", @@ -128,7 +130,7 @@ m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p "Failed OPER attempt - client certificate fingerprint mismatch by %s (%s@%s)", source_p->name, source_p->username, source_p->host); } - return 0; + return; } } @@ -139,7 +141,7 @@ m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p ilog(L_OPERED, "OPER %s by %s!%s@%s (%s)", name, source_p->name, source_p->username, source_p->host, source_p->sockhost); - return 0; + return; } else { @@ -157,8 +159,6 @@ m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p source_p->name, source_p->username, source_p->host); } } - - return 0; } /* @@ -166,17 +166,17 @@ m_oper(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p * * inputs - pointer to given password * - pointer to Conf - * output - YES or NO if match + * output - true if match, false otherwise * side effects - none */ -static int +static bool match_oper_password(const char *password, struct oper_conf *oper_p) { const char *encr; /* passwd may be NULL pointer. Head it off at the pass... */ if(EmptyString(oper_p->passwd)) - return NO; + return false; if(IsOperConfEncrypted(oper_p)) { @@ -195,7 +195,7 @@ match_oper_password(const char *password, struct oper_conf *oper_p) encr = password; if(encr != NULL && strcmp(encr, oper_p->passwd) == 0) - return YES; + return true; else - return NO; + return false; }