X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/72464c6abd32daa335f5984f477ad25c9872529c..64d5cff46441893d13df5c3fc7113bf1205a20ab:/modules/m_dline.c diff --git a/modules/m_dline.c b/modules/m_dline.c index 8917b9d2..eb8edcf3 100644 --- a/modules/m_dline.c +++ b/modules/m_dline.c @@ -78,7 +78,6 @@ mo_dline(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source char def[] = "No Reason"; const char *dlhost; char *reason = def; - char cidr_form_host[HOSTLEN + 1]; int tdline_time = 0; const char *target_server = NULL; int loc = 1; @@ -92,8 +91,13 @@ mo_dline(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source if((tdline_time = valid_temp_time(parv[loc])) >= 0) loc++; + if (loc >= parc) + { + sendto_one_notice(source_p, ":Need an IP to D-Line"); + return; + } + dlhost = parv[loc]; - rb_strlcpy(cidr_form_host, dlhost, sizeof(cidr_form_host)); loc++; /* would break the protocol */ @@ -191,11 +195,6 @@ me_dline(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source if(!IsPerson(source_p)) return; - if(!find_shared_conf(source_p->username, source_p->host, - source_p->servptr->name, - tdline_time > 0 ? SHARED_TDLINE : SHARED_PDLINE)) - return; - apply_dline(source_p, parv[2], tdline_time, LOCAL_COPY(parv[3])); check_dlines(); @@ -207,10 +206,6 @@ me_undline(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sour if(!IsPerson(source_p)) return; - if(!find_shared_conf(source_p->username, source_p->host, - source_p->servptr->name, SHARED_UNDLINE)) - return; - apply_undline(source_p, parv[1]); } @@ -308,7 +303,7 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char * if(EmptyString(oper_reason)) { - sendto_realops_snomask(SNO_GENERAL, L_ALL, + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "%s added temporary %d min. D-Line for [%s] [%s]", get_oper_name(source_p), tdline_time / 60, aconf->host, reason); @@ -317,7 +312,7 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char * } else { - sendto_realops_snomask(SNO_GENERAL, L_ALL, + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "%s added temporary %d min. D-Line for [%s] [%s|%s]", get_oper_name(source_p), tdline_time / 60, aconf->host, reason, oper_reason); @@ -338,7 +333,7 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char * if(EmptyString(oper_reason)) { - sendto_realops_snomask(SNO_GENERAL, L_ALL, + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "%s added D-Line for [%s] [%s]", get_oper_name(source_p), aconf->host, reason); ilog(L_KLINE, "D %s 0 %s %s", @@ -346,7 +341,7 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char * } else { - sendto_realops_snomask(SNO_GENERAL, L_ALL, + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "%s added D-Line for [%s] [%s|%s]", get_oper_name(source_p), aconf->host, reason, oper_reason); ilog(L_KLINE, "D %s 0 %s %s|%s", @@ -362,7 +357,7 @@ apply_undline(struct Client *source_p, const char *cidr) char buf[BUFSIZE]; struct ConfItem *aconf; - int masktype = parse_netmask_strict(cidr, NULL, NULL); + int masktype = parse_netmask(cidr, NULL, NULL); if(masktype != HM_IPV4 && masktype != HM_IPV6) { @@ -383,7 +378,7 @@ apply_undline(struct Client *source_p, const char *cidr) sendto_one(source_p, ":%s NOTICE %s :Un-dlined [%s] from temporary D-lines", me.name, source_p->name, buf); - sendto_realops_snomask(SNO_GENERAL, L_ALL, + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "%s has removed the temporary D-Line for: [%s]", get_oper_name(source_p), buf); ilog(L_KLINE, "UD %s %s", get_oper_name(source_p), buf); @@ -394,7 +389,7 @@ apply_undline(struct Client *source_p, const char *cidr) sendto_one(source_p, ":%s NOTICE %s :D-Line for [%s] is removed", me.name, source_p->name, aconf->host); - sendto_realops_snomask(SNO_GENERAL, L_ALL, "%s has removed the D-Line for: [%s]", + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "%s has removed the D-Line for: [%s]", get_oper_name(source_p), aconf->host); ilog(L_KLINE, "UD %s %s", get_oper_name(source_p), aconf->host); delete_one_address_conf(aconf->host, aconf);