Skip to content
1 change: 1 addition & 0 deletions include/ircd_features.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ enum Feature {

/* features that affect all operators */
FEAT_CONFIG_OPERCMDS,
FEAT_ENABLE_GLINE_OPER_EXCEPTION,

/* IRCv3 capabilities */
FEAT_CAP_ACCOUNTNOTIFY,
Expand Down
6 changes: 6 additions & 0 deletions ircd/gline.c
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,12 @@ do_gline(struct Client *cptr, struct Client *sptr, struct Gline *gline)
if (match(gline->gl_host, cli_sockhost(acptr)) != 0)
continue;
}
if (IsAnOper(acptr) && feature_bool(FEAT_ENABLE_GLINE_OPER_EXCEPTION)) {
sendto_opmask_butone(0, SNO_GLINE, "G-line for %s ignored, nick is an oper...",
cli_name(acptr));
continue;
}

}

/* ok, here's one that got G-lined */
Expand Down
1 change: 1 addition & 0 deletions ircd/ircd_features.c
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@ static struct FeatureDesc {

/* features that affect all operators */
F_B(CONFIG_OPERCMDS, 0, 0, 0),
F_B(ENABLE_GLINE_OPER_EXCEPTION, 0, 1, 0),

/* IRCv3 capabilities */
F_B(CAP_ACCOUNTNOTIFY, 0, 1, 0),
Expand Down