X-Git-Url: https://jfr.im/git/irc/quakenet/snircd.git/blobdiff_plain/9f8856e99d8fe297de1ddf0cff73dc2ff4900c60..35de5bb328b662ac63be82cf3afa5b9dc2268d71:/ircd/m_gline.c diff --git a/ircd/m_gline.c b/ircd/m_gline.c index 47ab287..79fd974 100644 --- a/ircd/m_gline.c +++ b/ircd/m_gline.c @@ -153,23 +153,26 @@ ms_gline(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) flags |= GLINE_FORCE; if (!(target[0] == '*' && target[1] == '\0')) { - if (!(acptr = FindNServer(target))) + if (!( (acptr = FindNServer(target)) || + (acptr = SeekServer(target)) ) ) return 0; /* no such server */ if (!IsMe(acptr)) { /* manually propagate */ if (!lastmod) sendcmdto_one(sptr, CMD_GLINE, acptr, - (parc == 3) ? "%C %s" : "%C %s %s :%s", acptr, mask, + (parc == 3) ? "%s %s" : "%s %s %s :%s", target, mask, parv[3], reason); else - sendcmdto_one(sptr, CMD_GLINE, acptr, "%C %s%s %s %s :%s", acptr, + sendcmdto_one(sptr, CMD_GLINE, acptr, "%s %s%s %s %s :%s", target, flags & GLINE_OPERFORCE ? "!" : "", mask, parv[3], parv[4], reason); return 0; } - flags |= GLINE_LOCAL; + /* For asuka we don't want glines sent this way treated as local + * flags |= GLINE_LOCAL; + */ } if (*mask == '-') @@ -331,6 +334,9 @@ mo_gline(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) int m_gline(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) { + if (feature_bool(FEAT_HIS_USERGLINE)) + return send_reply(sptr, ERR_DISABLED, "GLINE"); + if (parc < 2) return send_reply(sptr, ERR_NOSUCHGLINE, "");