Author: Michael Poole <mdpoole@troilus.org>
authorMichael Poole <mdpoole@troilus.org>
Mon, 9 Feb 2009 00:03:34 +0000 (00:03 +0000)
committerMichael Poole <mdpoole@troilus.org>
Mon, 9 Feb 2009 00:03:34 +0000 (00:03 +0000)
Description:

Revert the part of the G-line parsing cleanup that does not create new
deactivated G-lines.  Instead, just explain that it is deactivated.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1904 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
include/gline.h
ircd/gline.c
ircd/m_gline.c
tests/glines.cmd

index 99314784a120a405d43ad397368e94efc85fc3a6..ec137672d9f7482555adfc6b8acff8277f2ed2eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2009-02-08  Michael Poole <mdpoole@troilus.org>
+
+       * include/gline.h (gline_forward_deactivation): Undeclare.
+
+       * ircd/m_gline.c (mo_gline): Remove the special case to call
+       gline_forward_deactivation().
+
+       * ircd/gline.c (gline_add): Mention if the new G-line is already
+       deactivated.
+       (gline_forward_deactivation): Delete implementation.
+
+       * tests/glines.cmd: Update the expected output to match.
+
 2009-01-12  Michael Poole <mdpoole@troilus.org>
 
        * ircd/m_topic.c (do_settopic): Just before sending the topic out,
index e5623f4f3fca2ee44477f87180e6af5d2dc3429e..44798a61cd7a29fa19a3b9530599be095cf0863b 100644 (file)
@@ -128,9 +128,6 @@ extern int gline_activate(struct Client *cptr, struct Client *sptr,
 extern int gline_deactivate(struct Client *cptr, struct Client *sptr,
                            struct Gline *gline, time_t lastmod,
                            unsigned int flags);
-extern int gline_forward_deactivation(struct Client *cptr, struct Client *sptr,
-                                      char *userhost, time_t expire, time_t lastmod,
-                                      time_t lifetime, unsigned int flags);
 extern int gline_modify(struct Client *cptr, struct Client *sptr,
                        struct Gline *gline, enum GlineAction action,
                        char *reason, time_t expire, time_t lastmod,
index adb745cad8e280ffe90193967e284e7b9480160f..5b5c5b13bd76a2799f046220e0192f97a2bb74f6 100644 (file)
@@ -512,11 +512,12 @@ gline_add(struct Client *cptr, struct Client *sptr, char *userhost,
 
   /* Inform ops... */
   sendto_opmask_butone(0, ircd_strncmp(reason, "AUTO", 4) ? SNO_GLINE :
-                       SNO_AUTO, "%s adding %s %s for %s%s%s, expiring at "
+                       SNO_AUTO, "%s adding %s%s %s for %s%s%s, expiring at "
                        "%Tu: %s",
                        (feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
                          cli_name(sptr) :
                          cli_name((cli_user(sptr))->server),
+                       (flags & GLINE_ACTIVE) ? "" : "deactivated ",
                       (flags & GLINE_LOCAL) ? "local" : "global",
                       (flags & GLINE_BADCHAN) ? "BADCHAN" : "GLINE", user,
                       (flags & (GLINE_BADCHAN|GLINE_REALNAME)) ? "" : "@",
@@ -675,42 +676,6 @@ gline_deactivate(struct Client *cptr, struct Client *sptr, struct Gline *gline,
   return 0;
 }
 
-/** Send a deactivation request for a locally unknown G-line.
- * @param[in] cptr Client that sent us the G-line modification.
- * @param[in] sptr Client that originated the G-line modification.
- * @param[in] userhost Text representation of G-line target.
- * @param[in] expire Expiration time of G-line.
- * @param[in] lastmod Last modification time of G-line.
- * @param[in] lifetime Lifetime of G-line.
- * @param[in] flags Bitwise combination of GLINE_* flags.
- * @return Zero.
- */
-int
-gline_forward_deactivation(struct Client *cptr, struct Client *sptr,
-                           char *userhost, time_t expire, time_t lastmod,
-                           time_t lifetime, unsigned int flags)
-{
-  char *msg = "deactivating unknown global";
-
-  if (!lifetime)
-    lifetime = expire;
-
-  /* Inform ops and log it */
-  sendto_opmask_butone(0, SNO_GLINE, "%s %s GLINE for %s, expiring at %Tu",
-                       (feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
-                         cli_name(sptr) : cli_name((cli_user(sptr))->server),
-                      msg, userhost, expire + TSoffset);
-
-  log_write(LS_GLINE, L_INFO, LOG_NOSNOTICE,
-           "%#C %s GLINE for %s, expiring at %Tu", sptr, msg, userhost,
-           expire);
-
-  sendcmdto_serv_butone(sptr, CMD_GLINE, cptr, "* -%s %Tu %Tu %Tu",
-                        userhost, expire, lastmod, lifetime);
-
-  return 0;
-}
-
 /** Modify a global G-line.
  * @param[in] cptr Client that sent us the G-line modification.
  * @param[in] sptr Client that originated the G-line modification.
index c099a631e9fcea82cbe4ea09d22c0235f0466301..d379c611076d2ba675a3769cf57baec00d924587 100644 (file)
@@ -610,12 +610,6 @@ mo_gline(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
       return send_reply(sptr, ERR_NOPRIVILEGES);
   }
 
-  /* If globally disabling a G-line that we do not already have, avoid
-   * creating a temporary one. */
-  if (!agline && action == GLINE_DEACTIVATE) {
-    return gline_forward_deactivation(cptr, sptr, mask, expire, CurrentTime, 0, flags);
-  }
-
   Debug((DEBUG_DEBUG, "I have a global G-line I am acting upon now; "
         "target %s, mask %s, operforce %s, action %s, expire %Tu, "
         "reason: %s; gline %s!  (fields present: %s %s)", target, 
index f7a3f1230e21568df199cc79167e9e22f3a1e1f0..1a3b3d0ca16d21f32d58525a151512b951702c3c 100644 (file)
@@ -203,8 +203,8 @@ connect cl2 %cl2-nick% oper %srv2% :Some IRC Operator
 :cl1 expect %srv1-name% 515 \\* :Bad expire time
 :cl1 raw :GLINE -test@example.com * 100000
 :cl1 expect %srv1-name% 515 \\* :Bad expire time
-:cl1 raw :GLINE -test@example.com * 100000 :foo
-:cl1 expect %srv1-name% NOTICE :\\*\\*\\* Notice -- %cl1-nick% deactivating unknown global GLINE for test@example.com
+:cl1 raw :GLINE -test2@example.com * 100000 :foo
+:cl1 expect %srv1-name% NOTICE :\\*\\*\\* Notice -- %cl1-nick% adding deactivated global GLINE for test2@example.com
 
 # Now start with the operations that create or need a global G-line.