From b41bd506a1da169102d71d8170e753b94377b82c Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Mon, 9 Feb 2009 00:03:34 +0000 Subject: [PATCH] Author: Michael Poole 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 | 13 +++++++++++++ include/gline.h | 3 --- ircd/gline.c | 39 ++------------------------------------- ircd/m_gline.c | 6 ------ tests/glines.cmd | 4 ++-- 5 files changed, 17 insertions(+), 48 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9931478..ec13767 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2009-02-08 Michael Poole + + * 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 * ircd/m_topic.c (do_settopic): Just before sending the topic out, diff --git a/include/gline.h b/include/gline.h index e5623f4..44798a6 100644 --- a/include/gline.h +++ b/include/gline.h @@ -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, diff --git a/ircd/gline.c b/ircd/gline.c index adb745c..5b5c5b1 100644 --- a/ircd/gline.c +++ b/ircd/gline.c @@ -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. diff --git a/ircd/m_gline.c b/ircd/m_gline.c index c099a63..d379c61 100644 --- a/ircd/m_gline.c +++ b/ircd/m_gline.c @@ -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, diff --git a/tests/glines.cmd b/tests/glines.cmd index f7a3f12..1a3b3d0 100644 --- a/tests/glines.cmd +++ b/tests/glines.cmd @@ -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. -- 2.20.1