time_t lastmod, time_t lifetime, unsigned int flags)
{
char buf[BUFSIZE], *op = "";
- int pos = 0, disable_gl = 0;
+ int pos = 0, non_auto = 0, disable_gl = 0;
assert(gline);
assert(!GlineIsLocal(gline));
/* Now, handle reason changes... */
if (flags & GLINE_REASON) {
+ non_auto = non_auto || ircd_strncmp(gline->gl_reason, "AUTO", 4);
MyFree(gline->gl_reason); /* release old reason */
DupString(gline->gl_reason, reason); /* store new reason */
if (pos < BUFSIZE)
* However, we additionally save the exact message in the log, so we have both information
* in there. But the ops don't need to be bothered twice.
*/
- sendto_opmask_butone(0, SNO_GLINE, "%s deleting global %s for %s%s%s",
+ non_auto = non_auto || ircd_strncmp(gline->gl_reason, "AUTO", 4);
+ sendto_opmask_butone(0, non_auto ? SNO_GLINE : SNO_AUTO,
+ "%s deleting global %s for %s%s%s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
cli_name(sptr) : cli_name((cli_user(sptr))->server),
GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
gline->gl_host ? "@" : "", gline->gl_host ? gline->gl_host : "");
}
else {
- sendto_opmask_butone(0, SNO_GLINE, "%s modifying global %s for %s%s%s:%s",
+ non_auto = non_auto || ircd_strncmp(gline->gl_reason, "AUTO", 4);
+ sendto_opmask_butone(0, non_auto ? SNO_GLINE : SNO_AUTO,
+ "%s modifying global %s for %s%s%s:%s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
cli_name(sptr) : cli_name((cli_user(sptr))->server),
GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",