X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/ff31db8473bde2af86e2adae0c86448231d34765..b2c208be091670e3c5259eba77187bae6ac6eece:/modules/m_oper.c?ds=sidebyside diff --git a/modules/m_oper.c b/modules/m_oper.c index fdaef300..75167ae1 100644 --- a/modules/m_oper.c +++ b/modules/m_oper.c @@ -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;