-@@ -965,7 +976,8 @@
- */
- if (action != GLINE_LOCAL_ACTIVATE && action != GLINE_LOCAL_DEACTIVATE)
- sendcmdto_serv_butone(sptr, CMD_GLINE, cptr,
-- "* %s%s%s%s%s%s%s %Tu %Tu %Tu :%s",
-+ "* %s%s%s%s%s%s%s%s %Tu %Tu %Tu :%s",
-+ (flags & GLINE_AUTO) ? "=" : "",
- flags & GLINE_OPERFORCE ? "!" : "", op,
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
-@@ -1179,8 +1191,9 @@
-
- gliter(GlobalGlineList, gline, sgline) {
- if (!GlineIsLocal(gline) && gline->gl_lastmod)
-- sendcmdto_one(&me, CMD_GLINE, cptr, "* %c%s%s%s%s%s %Tu %Tu %Tu :%s",
-- GlineIsRemActive(gline) ? '+' : '-',
-+ sendcmdto_one(&me, CMD_GLINE, cptr, "* %s%c%s%s%s%s%s %Tu %Tu %Tu :%s",
-+ GlineIsAuto(gline) ? "=" : "",
-+ GlineIsRemActive(gline) ? '+' : '-',
- gline->gl_nick ? gline->gl_nick : "",
- gline->gl_nick ? "!" : "",
- gline->gl_user,
-@@ -1192,7 +1205,8 @@
-
- gliter(BadChanGlineList, gline, sgline) {
- if (!GlineIsLocal(gline) && gline->gl_lastmod)
-- sendcmdto_one(&me, CMD_GLINE, cptr, "* %c%s %Tu %Tu %Tu :%s",
-+ sendcmdto_one(&me, CMD_GLINE, cptr, "* %s%c%s %Tu %Tu %Tu :%s",
-+ GlineIsAuto(gline) ? "=" : "",
- GlineIsRemActive(gline) ? '+' : '-', gline->gl_user,
- gline->gl_expire - CurrentTime, gline->gl_lastmod,
- gline->gl_lifetime, gline->gl_reason);
-@@ -1210,7 +1224,8 @@
- if (GlineIsLocal(gline) || !gline->gl_lastmod)
- return 0;
-
-- sendcmdto_one(&me, CMD_GLINE, cptr, "* %c%s%s%s%s%s %Tu %Tu %Tu :%s",
-+ sendcmdto_one(&me, CMD_GLINE, cptr, "* %s%c%s%s%s%s%s %Tu %Tu %Tu :%s",
-+ GlineIsAuto(gline) ? "=" : "",
- GlineIsRemActive(gline) ? '+' : '-',
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
-@@ -1249,6 +1264,7 @@
- gline->gl_expire + TSoffset, gline->gl_lastmod,
- gline->gl_lifetime + TSoffset,
- GlineIsLocal(gline) ? cli_name(&me) : "*",
-+ GlineIsAuto(gline) && IsAnOper(sptr) ? "=" : "",
- gline->gl_state == GLOCAL_ACTIVATED ? ">" :
- (gline->gl_state == GLOCAL_DEACTIVATED ? "<" : ""),
- GlineIsRemActive(gline) ? '+' : '-', gline->gl_reason);
-@@ -1263,6 +1279,7 @@
- gline->gl_expire + TSoffset, gline->gl_lastmod,
- gline->gl_lifetime + TSoffset,
- GlineIsLocal(gline) ? cli_name(&me) : "*",
-+ GlineIsAuto(gline) && IsAnOper(sptr) ? "=" : "",
- gline->gl_state == GLOCAL_ACTIVATED ? ">" :
- (gline->gl_state == GLOCAL_DEACTIVATED ? "<" : ""),
- GlineIsRemActive(gline) ? '+' : '-', gline->gl_reason);
-@@ -1273,6 +1290,7 @@
- gline->gl_expire + TSoffset, gline->gl_lastmod,
- gline->gl_lifetime + TSoffset,
- GlineIsLocal(gline) ? cli_name(&me) : "*",
-+ GlineIsAuto(gline) && IsAnOper(sptr) ? "=" : "",
- gline->gl_state == GLOCAL_ACTIVATED ? ">" :
- (gline->gl_state == GLOCAL_DEACTIVATED ? "<" : ""),
- GlineIsRemActive(gline) ? '+' : '-', gline->gl_reason);
-@@ -1308,6 +1326,7 @@
- gline->gl_host ? gline->gl_host : "",
- gline->gl_expire + TSoffset, gline->gl_lastmod,
- gline->gl_lifetime + TSoffset,
-+ GlineIsAuto(gline) && IsAnOper(sptr) ? "=" : "",
- gline->gl_state == GLOCAL_ACTIVATED ? ">" :
- (gline->gl_state == GLOCAL_DEACTIVATED ? "<" : ""),
- GlineIsRemActive(gline) ? '+' : '-',
-@@ -1318,6 +1337,7 @@
- send_reply(sptr, RPL_STATSGLINE, 'G', gline->gl_user, "", "", "", "",
- gline->gl_expire + TSoffset, gline->gl_lastmod,
- gline->gl_lifetime + TSoffset,
-+ GlineIsAuto(gline) && IsAnOper(sptr) ? "=" : "",
- gline->gl_state == GLOCAL_ACTIVATED ? ">" :
- (gline->gl_state == GLOCAL_DEACTIVATED ? "<" : ""),
- GlineIsRemActive(gline) ? '+' : '-', gline->gl_reason);
-diff -r a9d96ac08a2c ircd/m_gline.c
---- a/ircd/m_gline.c Fri Jan 30 18:28:17 2009 +0100
-+++ b/ircd/m_gline.c Fri Jan 30 18:52:10 2009 +0100
-@@ -140,6 +140,11 @@
- if (IsServer(sptr))
- flags |= GLINE_FORCE;
-
-+ if (*mask == '=') {
-+ mask++;
-+ flags |= GLINE_AUTO; /* auto G-line action by service */
-+ }
-+
- if (*mask == '!') {
- mask++;
- flags |= GLINE_OPERFORCE; /* assume oper had WIDE_GLINE */
-@@ -183,11 +188,14 @@
- if ((action == GLINE_LOCAL_ACTIVATE || action == GLINE_LOCAL_DEACTIVATE) &&
- !IsMe(acptr)) {
- Debug((DEBUG_DEBUG, "I am forwarding a local change to a global gline "
-- "to a remote server; target %s, mask %s, operforce %s, action %c",
-- target, mask, flags & GLINE_OPERFORCE ? "YES" : "NO",
-+ "to a remote server; target %s, mask %s, auto %s, operforce %s, action %c",
-+ target, mask,
-+ flags & GLINE_AUTO ? "YES" : "NO",
-+ flags & GLINE_OPERFORCE ? "YES" : "NO",
- action == GLINE_LOCAL_ACTIVATE ? '>' : '<'));