Send "modifying global" messages to SNO_AUTO when appropriate.
authorMichael Poole <mdpoole@troilus.org>
Mon, 23 Jan 2012 12:57:10 +0000 (07:57 -0500)
committerMichael Poole <mdpoole@troilus.org>
Mon, 23 Jan 2012 12:57:10 +0000 (07:57 -0500)
ChangeLog
ircd/gline.c

index 478d9e47443e7d2cc56c949b0ac0eb0239538039..ff001296c50f5d03e3768c2178eaaac84c609154 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-23  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (gline_modify): Notify opers using SNO_AUTO rather
+       than SNO_GLINE if a G-line had, and still has, an AUTO prefix.
+
 2011-01-19  Michael Poole <mdpoole@troilus.org>
 
        * doc/readme.iauth: Document the new 'd' IAuth command.
index d2b2b9b7b68190a70f876aa31cf68137e8e4b3c5..d25dbfaeab9a630bb2c4ef0e11093a081c85a526 100644 (file)
@@ -697,7 +697,7 @@ gline_modify(struct Client *cptr, struct Client *sptr, struct Gline *gline,
             time_t lastmod, time_t lifetime, unsigned int flags)
 {
   char buf[BUFSIZE], *op = "";
-  int pos = 0;
+  int pos = 0, non_auto = 0;
 
   assert(gline);
   assert(!GlineIsLocal(gline));
@@ -841,6 +841,7 @@ gline_modify(struct Client *cptr, struct Client *sptr, struct Gline *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)
@@ -850,7 +851,9 @@ gline_modify(struct Client *cptr, struct Client *sptr, struct Gline *gline,
   }
 
   /* All right, inform ops... */
-  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",