]> jfr.im git - solanum.git/blobdiff - modules/m_oper.c
m_info: Correct description of general::client_exit like in example confs.
[solanum.git] / modules / m_oper.c
index fdaef300d507f361d448637f722332a4ce6723b5..75167ae18bbed3fdcbe2291d7fe9a3cad1619bb0 100644 (file)
@@ -84,7 +84,7 @@ m_oper(struct Client *client_p, struct Client *source_p, int parc, const char *p
 
        if(oper_p == NULL)
        {
-               sendto_one(source_p, form_str(ERR_NOOPERHOST), me.name, source_p->name);
+               sendto_one_numeric(source_p, ERR_NOOPERHOST, form_str(ERR_NOOPERHOST));
                ilog(L_FOPER, "FAILED OPER (%s) by (%s!%s@%s) (%s)",
                     name, source_p->name,
                     source_p->username, source_p->host, source_p->sockhost);
@@ -101,7 +101,7 @@ m_oper(struct Client *client_p, struct Client *source_p, int parc, const char *p
 
        if(IsOperConfNeedSSL(oper_p) && !IsSSLClient(source_p))
        {
-               sendto_one(source_p, form_str(ERR_NOOPERHOST), me.name, source_p->name);
+               sendto_one_numeric(source_p, ERR_NOOPERHOST, form_str(ERR_NOOPERHOST));
                ilog(L_FOPER, "FAILED OPER (%s) by (%s!%s@%s) (%s) -- requires SSL/TLS",
                     name, source_p->name,
                     source_p->username, source_p->host, source_p->sockhost);
@@ -119,7 +119,7 @@ m_oper(struct Client *client_p, struct Client *source_p, int parc, const char *p
        {
                if (source_p->certfp == NULL || strcasecmp(source_p->certfp, oper_p->certfp))
                {
-                       sendto_one(source_p, form_str(ERR_NOOPERHOST), me.name, source_p->name);
+                       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",
                             name, source_p->name,
                             source_p->username, source_p->host, source_p->sockhost);
@@ -196,7 +196,7 @@ match_oper_password(const char *password, struct oper_conf *oper_p)
        else
                encr = password;
 
-       if(strcmp(encr, oper_p->passwd) == 0)
+       if(encr != NULL && strcmp(encr, oper_p->passwd) == 0)
                return YES;
        else
                return NO;